CSL ARM EABI 2008q1-126 覚書
TOPPERS/JSP for Cortex-M3 関連作業で得た
Codesourcery G++ Lite for ARM EABI 2008q1-126 (以下CSLと省略)を Cygwinから使う際のHowto Memo。
あとで、Articleとしてどっかに記すとして忘れないようにここに一時保存。
Install Path
デフォルトのままインストールすると
C:\Program Files\Codesourcery\sourcery G++ Lite\bin
あたりにツールがインストールされますが、これがダメ。
パスに空白(' ') が含まれているとUNIX系ではデリミタとして認識してしまう。
(特にTOPPERSは、MakefileやPerlスクリプトを駆使しているため)
今回は、Segmentation Fault が発生したので原因が特定し難いです。
bash $ make Segmantation fault (core dumped)
GCC -M の出力
TOPPERS/JSPでは、Makefile.depend を生成する際に、内部で gcc -M の出力を用いていますが、
CSL with Cygwin 環境では、windows path と unix(cygwin) path の混在した奇怪なパスが混じってしまいます。
こんな風に...
makeoffset.s: \ c:\\codesourcery\gxxlite\\bin\\../lib/gcc/arm-none-eabi/4.2.3/include-fixed/syslimits.h \
複数パターン出てきたら厄介なのですが、幸いTOPPERS/JSPでは
「c:\\codesourcery\gxxlite\\bin\\」の
1パターンのみ出現するようです。
さらに幸いなことに utils/makedep で1行ずつ処理している部分があったので
そこでperlの文字列置換機能で置き換えました。
↓改造したmakedepをここに一時保存↓
http://niagara.ta.ki.no.googlepages.com/makedep.tgz