CQ-LM3S3748 (14) CMSIS (3)2012年11月17日 08時41分34秒

さて、core_cm3.c (version: V1.10) がコンパイルエラーになった件。
コンパイラのバージョンを Sourcery gcc 4.5.1 に変えるとうまくいった。その後の調査で No Optimization でコンパイルしても問題ないことがわかった。
ならば最新の arm-2012.09-63-arm-none-eabi.exe (gcc-4.7.2) では修正されているかもしれないと思い試してみた。
Error: registers may not be the same -- `strexb r0,r0,[r1]'
Error: registers may not be the same -- `strexh r0,r0,[r1]'
やはりだめだ。こんな時は Google さんに聞くに限る。と聞いてみると、バグらしい。しかも、昨年夏にはわかっていたようだ。解決策も書いてある。
知らなかったのは私だけか?

そして、この際なので新しいコンパイラ GCC Sourcery CodeBench Lite 2012.09-63 にした。

環境:CQ-LM3S3748
    + Keil MDK-ARM V4.53
    + GCC Sourcery CodeBench Lite 2012.09-63
    + KPIT Cummins GNU-Archive Editor v1.1
    + KPIT Cummins GNU-Map Viewer v1.0