PC版 SYSLAB blog  http://syslab.asablo.jp/blog/......

LPC800 (8) mbed (1)
2013-06-25


禺画像]
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
[ARM]
[マイコン]

コメント(全0件)
コメントをする


記事を書く
powered by ASAHIネット