LPC800 (8) mbed (1)2013年06月25日 23時04分57秒

RealView LPC810
LPC810 の資料を探していて mbed を見つけた。mbed は聞いた事があったが LPC812 がサポートされていると分かったので使ってみたくなった。
使ってみるといっても実際は公開されているソースを自分の環境でコンパイルして動かすということだ。
MPU が異なっても共通のライブラリが使えるようなので面白そうだ。
現在サポートされているターゲットは
LPC2368
LPC1768
LPC11U24
LPC4088
LPC4330
LPC812
KL25Z
STM32F407


LPC812 が動くなら LPC810 でも動くのじゃないかと思い、試してみた。
ソースはここ (mbed SDK) にあるが、必要な物がどれかよく分からない。
まずは、libraries\mbed\targets\cmsis\NXP\TARGET_LPC81X の中のファイル
startup_LPC8xx.s
sys.cpp
cmsis_nvic.c
core_cm0.c
system_LPC8xx.c
と、前回使用した main.c を使って RealView でコンパイルリンクしてみる。
あ、修正するのは
startup_LPC8xx.s
__initial_sp EQU 0x10001000 を 0x10000400 に変更
LPC812.sct

 

問題なく動く。いい感じだ。


次は GCC で試してみよう。
TARGET_LPC81X 内に TOOLCHAIN_GCC_CS を作成し LPC810.ld と startup_LPC81x.s と sys.cpp を用意する。
TARGET_LPC11UXX\TOOLCHAIN_GCC_CS の中身をコピーして修正すればよい。
コンパイルすると、エラーだ。
./out/lpc810.elf section `.text' will not fit in region `rom'
./out/lpc810.elf section `.data' will not fit in region `ram'
region `rom' overflowed by 6512 bytes
region `ram' overflowed by 1384 bytes
ROM も RAM もサイズに入りきらないらしい。
RealView は余裕ではいるのになぜ?
いろいろ試していて分かったことは sys.cpp をリンクすると一気にバイナリサイズが大きくなって容量をオーバーしてしまうことだ。
今の所解決方法が見つからない。


参照:mbed
環境:LPC800 Mini Kit (LPC810M021FN8)
    + Keil MDK-ARM V4.53
    + LPC800 Support for version 4.60 of Keil MDK-ARM
    + GCC Sourcery CodeBench Lite 2012.09-63
    + mbed SDK
    + Flash Magic Version 7.50

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※投稿には管理者が設定した質問に答える必要があります。

名前:
メールアドレス:
URL:
次の質問に答えてください:
このブログのタイトルは?(syslab と記入してください)

コメント:

トラックバック

このエントリのトラックバックURL: http://syslab.asablo.jp/blog/2013/06/25/6877835/tb