(toppers-users 3163) Re: cq_starm_gcc のサンプルビルドに失敗

長島 宏明 nagasima @ core-s.co.jp
2010年 4月 7日 (水) 20:32:30 JST


長島と申します。

下記の件、解決までは至っていないようなので、
遅いとは思いますが、解決方法がありましたので、
連絡いたします。

prc.tfの130行目に
$bitpat_cfgint = 0$
という行がありますが、これを
$bitpat_cfgint = 1-1$
に書き換えるとうまくいくようです。

こちらは、boost 1.38をインストールして、
Visual Studio 2008でコンパイルしたものを使用しました。

別件なのですが、質問させてください。

MinGW+MSysの環境で、
Make depend
を行うと、
Makefile.dependの1行目が
cfg1_out.c: main.cfg ..\arch\arm_m_gcc…
とパスデリミタが「\」になります。
これだとmakeが失敗してしまいます。
手動で、「/」に直すとmake出来るようになります。

これは、cfg1_out.cppの関数
void cfg1_out::implementation::preprocess( std::string const& input_file,
codeset_t codeset, text& txt )
のitronx::preprocess…の後に、
for ( std::set< std::string >::iterator iter( depend.begin() ), last(
depend.end() ); iter != last; ++iter )
{
  std::replace( iter->begin(), iter->end(), '\\', '/');
}
を挿入すればとりあえず解決するのですが、
マルチバイト文字には対応できていません。(たぶん)

適切な修正方法がありましたら、ご教授願います。

よろしくお願いします。

> -----Original Message-----
> From: Hiromichi Okazaki [mailto:okazaki @ tome.jp]
> Sent: Saturday, March 27, 2010 9:04 AM
> To: users @ toppers.jp
> Subject: (toppers-users 3114) Re: cq_starm_gcc のサンプルビルドに失敗
>
> Okazaki です.
>
> 皆様どうもありがとうございます.
>
> 杉本様
> > 試しに、arch/arm_m_gcc/prc.tfの136行目あたりにある、
> >	$TAB$UINT32_C($FORMAT("0x%08x", bitpat_cfgint)$), $NL$
> > という記述の0x%08xというのを単に0x%xと変えると解消するかもしれませ
> ん。
>
> 変更しましても 0x000000 0  -> 0x 0 となり解決しませんでした.(
> kernel_bitpat_cfgint のご説明もいただき、どうもありがとうございました ).
>
>
> koisan 様
> > _kernel_bitpat_cfgintにブランクは含まれていませんでした。特に問題なく
> コンパイルできましたよ。ブランクは削除すればよいと思っています。
>
> 私も今はサンプルビルドの段階ですので割り切って先に進もうと思います.ブ
>> ンクは削除すれば、とのことですが、ということはブランクが挿入されている
>> 分の正しい値(問題なくコンパイルできた場合は) 0x00000000 になる、とい
>> ことですね.
> また、CFG だけ実行したいとの件、当方は toppers が今回初めてですのでまだ
> その段階まで至っておりません.お力になれず申し訳ありませんが、今後なに
>> ありましたら投稿させていただきます.ありがとうございます.
>
>
> 高木様
> > 確実なのは、Boost C++ Libraries 1.33.0です。
> 了解いたしました.原因が分かり良かったです.
> macports で以前インストールしたのが ver1.38.0 でしたので 1.33.0 以上だ
>> 思いそのまま使っていました.
> ダウングレードできればよいのですが、ports でのダウングレード方法など情
>> がありませんでしたので、上記の様にブランクを 0 埋め修正することで対応
> し、次回のバージョンアップを待ちたいと思います.
>
> ありがとうございました.
>
>
> > Okazaki と申します.
> >
> > TOPPERS-ASP on cq-starm を利用させて頂いています。
> > (asp_cq_starm_gcc-20081003.tar.gz)
> >
> > toppers は初めてなのですが、サンプルプログラムビルドで躓きまして、質
> 問させていただきました.
> >
> > user.txt 記載の様に
> >
> > perl ../configure -T cq_starm_gcc
> > make depend
> > make
> >
> > を実行したところ、make でエラーがでます.
> >
> > -- error message --
> > arm-none-eabi-gcc -c  -mcpu=cortex-m3 -mthumb  -Wall -g -O2
> > -DTOPPERS_LABEL_ASM -I. -I../include -I../arch -I..
> > -I../target/cq_starm_gcc -I../arch/arm_m_gcc/   -DALLFUNC
> > -fno-strict-aliasing -mcpu=cortex-m3 -I../kernel kernel_cfg.c
> > kernel_cfg.c:401: error: expected ')' before numeric constant
> > kernel_cfg.c:402: error: expected ')' before numeric constant
> > make: *** [kernel_cfg.o] Error 1
> >
> >
> > ディレクトリに生成された kernel_cfg.c を調べてみますと L.398 から次
> の様になっており、make depend
> > で誤った出力がされているようです.
> >
> > const uint32_t _kernel_bitpat_cfgint[4] = {
> > 	UINT32_C(0x00008000),
> > 	UINT32_C(0x00200000),
> >  	UINT32_C(0x000000 0),  <------- この部分、数値中にスペースが入
> っている
> > 	UINT32_C(0x000000 0),   <------- この部分、数値中にスペースが入
> っている
> >
> > };
> >
> > どなたかお心当たりある方、ご教示頂ければと思っております.
> > また、もし可能でしたらこの変数( _kernel_bitpat_cfgint
> > )についてもどういう役割を持ったものなのか(割り込み許可/不許可が関係
> しているようですが...)、ご教示頂ければと思っております.
> > どうぞ宜しくお願いいたします。
> >
> >
> > 以下が当方の環境になります.
> >
> > Mac OSX 10.5.8
> > arm-none-eabi-gcc : ver.4.4.2
> > GNU Make 3.81
> >
> > asp kernel は次のものに、コンフィギュレータのみ単体で配布されているも
> のをビルドし、asp ディレクトリ以下の cfg/
> > を入れ替えたものを使用しています.
> >
> > asp_cq_starm_gcc-20081003.tar.gz
> > cfg-1.5.0.tar.gz
> > boost 1.38
> >
> >