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

koizumi yoshiyuki koizumiyoshiyuki @ gmail.com
2012年 4月 2日 (月) 17:22:57 JST


 こいさんです。

makeでBuildが通るように成りました。

arch\arm_m_armcc\common\Makefile.coreで以下の修正を行ないました。
#
#  コンパイルオプション
#
#GNU互換,スモールデータセクション未使用, thumb
COPTS := $(COPTS) $(CORE_COMMON_OPTS) --gnu --bss_threshold=0 --thumb
#DATA領域の初期値を圧縮しない
-LDFLAGS := $(LDFLAGS) $(CORE_COMMON_OPTS) --datacompressor=off --no_remove
+LDFLAGS := $(LDFLAGS) $(CORE_COMMON_OPTS) --datacompressor=off --no_remove
--libpath=c:/Keil/ARM/RV31/LIB

#
-INCLUDES := $(INCLUDES) -I$(COREDIR) -I$(COREDIR_GCC)
+INCLUDES := $(INCLUDES) -I$(COREDIR) -I$(COREDIR_GCC) -I
c:/Keil/ARM/RV31/INC

#
LIBS := $(LIBS)
何れも、環境変数の設定でも可能な気がします。ご存知ならお教え願えませんでしょうか。当方はWindowsでmakeしています。

尚、前のメールでcfg1_out.cに_start関数を追加しましたが、makeではstart.oがlinkされていました。μVision4でもstart.sxで解決したほうがよいかも知れません。

以上



2012年4月2日13:53 koizumi yoshiyuki <koizumiyoshiyuki @ gmail.com>:

> こいさんです
>
>
> 早速、動かして見ました。μ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/bb73bc7c/attachment.html>