CQ-LM3S3748 (6) Using ROM_ functions ― 2012年10月28日 21時01分32秒
LM3S の特色 ROM functions を使ってみる。今回使うファイルを以下に示す。
・startup_gcc.c は CMSIS_LM3S-32.zip の中のもの weak 宣言がしてあるので使いやすい。
・blinky.ld これはどれでもよい。
・SW-EK-LM3S3748-9453.exe の中の driverlib と inc ディレクトリ。適当な場所にコピーする。
・そして blinky.c
µVision の設定は、ほぼ前回と同じだが CC タブ Preprocessor Symbols の Define: と Include Paths に追加がある。
まず、 Define: はデバイスと Device Class の指定だ。LM3S3748 は Stellaris® DustDevil-class devices になるのでその指定が必要。
では、コンパイル、書き込み。
問題ないようだ。
ここで ROM functions を使った場合と使わない場合のサイズの違いを見てみよう。
5,952 ROM functions(PART_LM3S3748 TARGET_IS_DUSTDEVIL_RA0)
8,640 通常ライブラリ(PART_LM3S3748)
使えば使うほどコンパクトに収まるということか?でも、そのせいで CMSIS との相性が悪くなってしまったようだ。
参照:Stellaris® ソフトウェアの更新
環境:CQ-LM3S3748
+ CMSIS_LM3S-32.zip
+ SW-EK-LM3S3748-9453.exe
+ Keil MDK-ARM V4.53
+ GCC Sourcery CodeBench Lite 2012.03-56
+ KPIT Cummins GNU-Archive Editor v1.1
+ KPIT Cummins GNU-Map Viewer v1.0
・startup_gcc.c は CMSIS_LM3S-32.zip の中のもの weak 宣言がしてあるので使いやすい。
・blinky.ld これはどれでもよい。
・SW-EK-LM3S3748-9453.exe の中の driverlib と inc ディレクトリ。適当な場所にコピーする。
・そして blinky.c
µVision の設定は、ほぼ前回と同じだが CC タブ Preprocessor Symbols の Define: と Include Paths に追加がある。
まず、 Define: はデバイスと Device Class の指定だ。LM3S3748 は Stellaris® DustDevil-class devices になるのでその指定が必要。
PART_LM3S3748 TARGET_IS_DUSTDEVIL_RA0そしてヘッダーディレクトリの指定。これは driverlib と inc ディレクトリをどこに置くかによって異なってくるので自分の環境に合わせる。
では、コンパイル、書き込み。
問題ないようだ。
ここで ROM functions を使った場合と使わない場合のサイズの違いを見てみよう。
5,952 ROM functions(PART_LM3S3748 TARGET_IS_DUSTDEVIL_RA0)
8,640 通常ライブラリ(PART_LM3S3748)
使えば使うほどコンパクトに収まるということか?でも、そのせいで CMSIS との相性が悪くなってしまったようだ。
参照:Stellaris® ソフトウェアの更新
環境:CQ-LM3S3748
+ CMSIS_LM3S-32.zip
+ SW-EK-LM3S3748-9453.exe
+ Keil MDK-ARM V4.53
+ GCC Sourcery CodeBench Lite 2012.03-56
+ KPIT Cummins GNU-Archive Editor v1.1
+ KPIT Cummins GNU-Map Viewer v1.0
コメント
トラックバック
このエントリのトラックバックURL: http://syslab.asablo.jp/blog/2012/10/28/6617640/tb
コメントをどうぞ
※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。
※投稿には管理者が設定した質問に答える必要があります。