RZ/T1のSerialBootサンプルをTHUMB命令で実行したい。

弊社RTOS「μC3/Compact」、「μC3/Standard」に関するご質問
返信する
アバター
eForce技術担当
記事: 193
登録日時: 2014年4月24日(木) 14:18

RZ/T1のSerialBootサンプルをTHUMB命令で実行したい。

投稿記事 by eForce技術担当 » 2017年2月03日(金) 15:20

次の手順で実現可能です。

対象パッケージ:µC3/Standard RZ/T1 EWARM版 Release 1.0.1 以降
利用サンプル:uC3\Standard\Sample\RTK7910022C00000BR\EWARM\SerialBoot

1.サンプルフォルダにある,Readme_EWARM.txtに従いソース生成します。

2.Thumb命令用ビルド構成を追加

IAR Embedded Workbench for ARM(以降EWARM)を起動して,
sample.ewwを読込みます。

メニューのプロジェクト→ビルドの編集 を選択
step01.png
新規作成をクリック
step02.png
step02.png (16.25 KiB) 閲覧された回数 16213 回
名前に"Thumb_ATCM_Debug"を入力
基になる構成に"ATCM_Debug"を選択
step03.png
step03.png (20.85 KiB) 閲覧された回数 16213 回
OKをクリック
step04.png
step04.png (16.39 KiB) 閲覧された回数 16213 回
ワークスペースのカレントプロジェクトに"Thumb_ATCM_Debug"が選択されている状態で,
プロジェクトのオプションを変更します。
step05.png
C/C++コンパイラのコードオプションにてThumbモードを選択
step06.png
リンクするカーネルライブラリをARM用からThumb用に変更
uC3cortexrfl.a → uC3cortexrftl.a
step07.png
3.リンカ設定ファイルの変更
変更ファイル
uC3\Standard\Sample\RTK7910022C00000BR\EWARM\SerialBoot\serial_boot\rzt1_serial_boot2ATCM.icf

161行,162行を変更します。

コード: 全て選択

define block USER_PRG_RBLOCK with fixed order { ro code object prst_rtk79.o, ro code, section .rodata_init};
define block USER_PRG_WBLOCK with fixed order { rw code object prst_rtk79.o, rw code, section .rodata };
↓ fixed order属性を削除

コード: 全て選択

define block USER_PRG_RBLOCK { ro code object prst_rtk79.o, ro code, section .rodata_init};
define block USER_PRG_WBLOCK { rw code object prst_rtk79.o, rw code, section .rodata };
あとはビルドして動作確認いただけます。

返信する