(toppers-users 3950) Re: ASPカーネル ARM/ARM-M依存部 ARMCC対応版リリース

koizumi yoshiyuki koizumiyoshiyuki @ gmail.com
2012年 4月 2日 (月) 13:53:51 JST


こいさんです

早速、動かして見ました。μvision4版はbuild、シミュレータでの実行ができました。メールに書かれていた手順でBuildを行い、シミュレータで動作しました。

Build実行にワーニングが出ています。原因は解かりましたが、対応方については解からないことがありますが、連絡しておきます。

1 cfg1_outのワーcfg1_outニング

実行結果
Rebuild Project 'cfg1_out' - Target 'cfg1_out'
User command #1: ../../../cfg/cfg/cfg --pass 1 --kernel asp -I. -I../../../
-I../../../include -I../../../arch -I../..  -I../../../target/stbee_armcc
-I../../../arch/arm_m_armcc/stm32f -I../../../arch/arm_m_gcc/stm32f
-I../../../arch/arm_m_armcc/common -I../../../arch/arm_m_gcc/common
-I../../../target/stbee_gcc --api-table ../../../kernel/kernel_api.csv
--cfg1-def-table ../../../kernel/kernel_def.csv  --cfg1-def-table
../../../arch/arm_m_gcc/common/core_def.csv ../../../sample/sample1.cfg
custom translating sample1.cfg...
Custom:
compiling cfg1_out.c...
cfg1_out.c: Warning:  #68-D: integer conversion resulted in a change of sign
linking...
cfg1_out.axf: Warning: L6305W: Image does not have an entry point. (Not
specified or not set due to multiple choices.)
Program Size: Code=20 RO-data=1620 RW-data=4 ZI-data=4
User command #1: fromelf --m32combined cfg1_out.axf --output=cfg1_out.srec
User command #2: ../../../cfg/cfg/cfg --pass 2 --kernel asp -I. -I../../../
-I../../../include -I../../../arch -I../..  -I../../../target/stbee_armcc
-I../../../arch/arm_m_armcc/stm32f -I../../../arch/arm_m_gcc/stm32f
-I../../../arch/arm_m_armcc/common -I../../../arch/arm_m_gcc/common
-I../../../target/stbee_gcc -T
../../../target/stbee_armcc/target.tf--api-table
../../../kernel/kernel_api.csv --cfg1-def-table
../../../kernel/kernel_def.csv --cfg1-def-table
../../../arch/arm_m_gcc/common/core_def.csv ../../../sample/sample1.cfg
"cfg1_out.axf" - 0 Error(s), 2 Warning(s).

■1
cfg1_out.cは自動的に作られるのでOption for Targetのuserでcfg --pass
1の実行をやめる。これによりcfg1_out.cのパッチができるので原因追求が可能になると判断。

■2
cfg1_out.c: Warning: #68-D:は304行の修正で回避できます
-const unsigned_t TOPPERS_cfg_TIPM_LOCK = TIPM_LOCK ;
+const unsigned_t TOPPERS_cfg_TIPM_LOCK = (unsigned_t)TIPM_LOCK ;
TIPM_LOCKは負の数なのでキャストした。
■3
linking...
cfg1_out.axf: Warning: L6305W: Image does not have an entry point. (Not
specified or not set due to multiple choices.)
entryポイントが無いのが原因なので、cfg1_out.cの最後に以下を追加した。
+void _start(void){ }

Option for Targetのlinker、Miscに--entry=_start を追加します。

2 linkernelのワーニング
Build Project 'libkernel' - Target 'libkernel'
User command #1: ../../../cfg/cfg/cfg --pass 3 --kernel asp -I. -I../../../
-I../../../include -I../../../arch -I../..  -I../../../target/stbee_armcc
-I../../../arch/arm_m_armcc/stm32f -I../../../arch/arm_m_gcc/stm32f
-I../../../arch/arm_m_gcc/stm32f/cmsis -I../../../arch/arm_m_armcc/common
-I../../../arch/arm_m_gcc/common -I../../../target/stbee_gcc --rom-image
cfg1_out.srec --symbol-table cfg1_out.syms -T
../../../arch/arm_m_gcc/stm32f/chip_offset.tf --api-table
../../../kernel/kernel_api.csv --cfg1-def-table
../../../kernel/kernel_def.csv  --cfg1-def-table
../../../arch/arm_m_gcc/common/core_def.csv ../../../sample/sample1.cfg
check complete
compiling core_support.sx...
core_support.sx: Warning: A1581W: Added 2 bytes of padding at address 0x36
core_support.sx: Warning: A1581W: Added 2 bytes of padding at address 0x266
creating Library...
"libkernel.lib" - 0 Error(s), 2 Warning(s).

 core_support.SのAALIGN(2)の3箇所をAALIGN(4)に修正

 以上でμVision4でワーニングがなくなります。ただし、cfg --pass
1を実行するとcfg1_out.cが更新されてしまいます。(cfgの修正は小生には手が届かないのであきらめています)

★★
質問があります。armccを使ったmakeでbuildする環境はサポートされないのでしょうか。

>perl ../configure -T stbee_armcc
>make depend

 と実行して見ましたが、buildできませんでした。原因の一つに■3の問題が関連しているようです。又、インクルードファイルが無い問題とインクルードを適当に誤魔化して(armから探した)Buildすると、linkでエラーが出ます。環境変数の設定に誤りが有るのかも知れません。

以上

2012年3月14日21:44 Shinya Honda <honda @ ertl.jp>:

> 皆様
>
> 本田です.
>
> 2011年度公募型事業として開発しました,ASPカーネルのARM社製コンパイラ
> 対応版をリリースしました.
>
> http://www.toppers.jp/asp-e-download.html
>
> リリースしたパッケージは以下の通りです.
>
> ASP STBEE(ARMCC)簡易パッケージ SJIS版
> ASP STBEE(ARMCC)簡易パッケージ
> ASP STBEE(GCC)簡易パッケージ
> ASP LM3SXXXX(ARMCC)簡易パッケージ
> ASP LM3SXXXX(GCC)簡易パッケージ
> ASP AT91SKYEYE(ARMCC)簡易パッケージ
> ASP AT91SKYEYE(GCC)簡易パッケージ
>
> ASP STBEE(ARMCC)簡易パッケージ SJIS版 は,以下の手順でWindows上で容易に
> ビルドとシミュレーションが可能なので試して下さい.
>
> ----------
> 1. uVisionの評価版を以下のサイトからダウンロードしてインストール.
>   https://www.sophia-systems.co.jp/ice/arm/keil/index.asp
>
> 2. ASP STBEE(ARMCC)簡易パッケージ SJIS版 をダウンロードして展開.
>
> 3. uVisionのプロジェクトをダブルクリックして開く.
>   asp\target\stbee_armcc\uvision\asp_proj.uvmpw
>
> 4.uVisionのメニューから"Project"->"Batch Build.."を選択してBatch Buildの
>  ダイアログを開き,Buildボタンを押してASPをビルド.
>
> 5.uVisionのメニューから"Debug"->"Start/Stop Debug Session" を選択してシ
>  ミュレータを起動する.
>
> 6. EVALUATION MODE を知らせるダイアログが表示されるのでOKを押す.
>
> 7.uVisionのメニューから"View"->"Serial Windows"->"UART #1" を選択して,
>  コンソール出力が表示されるようにする.
>
> 8.uVisionのメニューから"Debug"->"Run" を選択してシミュレータの実行を開始
>  する.
> ----------
>
> 実機で実行する場合は,以下のボードを購入して下さい.
>
> STM32マイコンボード『STBee』(72MHz, 512K+64KB)
> http://strawberry-linux.com/catalog/items?code=32103
>
> 以上.
>
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://www.toppers.jp/pipermail/users/attachments/20120402/220cf125/attachment.html>