LPC800 (5) LED blink (2) Keil µVision4 + GCC ― 2013年06月13日 21時13分02秒
前回手に入れたサンプル (LPC810 CodeBase) をコンパイルして書き込んでみよう。
使う環境はいつもの通り
Keil MDK-ARM V4.53
GCC Sourcery CodeBench Lite 2012.09-63
さっそくプロジェクトを作る。
ソースをプロジェクトに登録
次にソースの修正
system_LPC8xx.c
System PLL Clock Source Select Register (SYSPLLCLKSEL) を System Oscillator から IRC Oscillator に変更(1を0)
コンパイル・・・・・・・・問題ない
書き込み・・・・・・・・・エラーだ!
ERROR: Invalid parameters for DEVICE directive: DEVICE(LPC810M021,12.0)
今回 Flash Magic を新しくしたのでそのせいかも知れない。
ドキュメントを読んでみると、パラメータに flashbank が増えている。
パラメータを追加して書き込み・・・・・・・・またエラーだ。
ERROR: Invalid parameters for DEVICE directive: DEVICE(LPC810M021,12.0,0)
何がいけないんだ。
GUI版では書き込みできるのでGUI版と同じデバイス名(LPC810M021FN8)を使ってみる。
書き込み・・・・・・・・・エラーだ!
ERROR: Invalid parameters for ERASEUSED directive: ERASEUSED(.\outG++\LPC810_CodeBaseS.HEX,PROTECTISP)
今度は異なる部分のパラメータだ。
分からない。
もうだめだ。
GUI版の Flash Magic で書き込むことにする。
書き込んで Reset 。
動いている。
特に問題は無いようだ。
さて、ここで動作 Clock を調べてみよう。system_LPC8xx.c の SYSPLLCTRL_Val が 0x41で SYSAHBCLKDIV_Val が 0x1なので Main CLK が 24MHz 、System clock も 24MHz ということになる。
環境: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
+ LPC810 CodeBase
+ Flash Magic Version 7.50
使う環境はいつもの通り
Keil MDK-ARM V4.53
GCC Sourcery CodeBench Lite 2012.09-63
さっそくプロジェクトを作る。
Output Create Executable R Create HEX File Listing R Linker Listing R Memory Map CC Define __USE_CMSIS R Enable APCS (ARM Procedure Call Standard) R Support Calls between ARM and THUMB Instruction Set R Compile Thumb Code IncludePaths .\cmsis;.\src MiscControls -fmessage-length=0 -fno-builtin -ffunction-sections -fdata-sections Assembler Define R Enable ARM/Thumb Interworking Include Paths MiscControls Linker R Do not use Standard System Startup Files R Do not use Standard System Libraries R Use Math Libraries linkerScriptFile .\linker\LPC810_rom_gnu.ld IncludeLibraries IncludePaths .\linker MiscControls -nostdlib -Xlinker --gc-sections Utilities Use External Tool for Flash Programming Command fm.exe Arguments DEVICE($D,$X) ERASEUSED("!H",PROTECTISP) HEXFILE("!H",NOCHECKSUMS,NOFILL,PROTECTISP) COM(1,230400)
ソースをプロジェクトに登録
main.c system_LPC8xx.c gpio.c mrt.c printf.c printf-retarget.c spi.c uart.c startup_LPC8xxG++.s
次にソースの修正
system_LPC8xx.c
System PLL Clock Source Select Register (SYSPLLCLKSEL) を System Oscillator から IRC Oscillator に変更(1を0)
コンパイル・・・・・・・・問題ない
書き込み・・・・・・・・・エラーだ!
ERROR: Invalid parameters for DEVICE directive: DEVICE(LPC810M021,12.0)
今回 Flash Magic を新しくしたのでそのせいかも知れない。
ドキュメントを読んでみると、パラメータに flashbank が増えている。
パラメータを追加して書き込み・・・・・・・・またエラーだ。
ERROR: Invalid parameters for DEVICE directive: DEVICE(LPC810M021,12.0,0)
何がいけないんだ。
GUI版では書き込みできるのでGUI版と同じデバイス名(LPC810M021FN8)を使ってみる。
書き込み・・・・・・・・・エラーだ!
ERROR: Invalid parameters for ERASEUSED directive: ERASEUSED(.\outG++\LPC810_CodeBaseS.HEX,PROTECTISP)
今度は異なる部分のパラメータだ。
分からない。
もうだめだ。
GUI版の Flash Magic で書き込むことにする。
書き込んで Reset 。
動いている。
特に問題は無いようだ。
さて、ここで動作 Clock を調べてみよう。system_LPC8xx.c の SYSPLLCTRL_Val が 0x41で SYSAHBCLKDIV_Val が 0x1なので Main CLK が 24MHz 、System clock も 24MHz ということになる。
環境: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
+ LPC810 CodeBase
+ Flash Magic Version 7.50
最近のコメント