LPC800 (6) LED blink (3) Keil µVision4 + RealView2013年06月16日 14時47分26秒

TTL-232R-3V3
この際なので µVision4 + RealView でもプロジェクトを作ってみる。
Project メニューから New µVision Project を選択し 新規プロジェクトを作成する。
Target Options は、以下のように設定した。
Target
 R Use Cross-Module Optimization
 R Use MicroLIB
 R IROM1
  Start		0x0
  Size		0x1000
 R IRAM1
  Start		0x10000000
  Size		0x400
Output
 ž Create Executable
 R Create HEX File
Listing
 R Linker Listing
 R Memory Map
C/C++
 Define
 Include Path		.\cmsis;.\src
 Misc Controls
Asm
 Define		NO_CRP
 Include Path
 Misc Controls
Linker
 R Use Memory Layout from Target Dialog
 R Report 'might fail' Conditions as Errors
 Misc Controls
Utilities
 ž Use External Tool for Flash Programming
 Command		fm.exe
 Arguments		DEVICE($DFN8,$X,0) ERASEUSED("!H",PROTECTISP) HEXFILE("!H",NOCHECKSUMS,NOFILL,PROTECTISP) COM(1,230400)


ソースをプロジェクトに登録。
コンパイル ・・・・・・・・・ エラーだ。
.\outarm\LPC800_MDK-ARM.axf: Error: L6200E: Symbol printf multiply defined (by printfa.o and printf.o).
.\outarm\LPC800_MDK-ARM.axf: Error: L6200E: Symbol sprintf multiply defined (by printfa.o and printf.o).


Library Retarget File を書いてやれば、そのまま printf が使えるらしいが、ここでは関数名を変えてしまうことにする。
printf sprintf を tprintf tsprintf に変更する。


コンパイル ・・・・・・・・・ 問題ない
書き込み ・・・・・・・・・ 問題ない


え!
書き込める?
Command も Arguments も前回と同じだ。
異なるのはファイル名とディレクトリ名か?
ファイル名 LPC810_CodeBaseS.hex
ディレクトリ名 outG++


書き出してみるとディレクトリ名が怪しい outG++ を outGS に変更して書き込み。
ああ!書き込める。
というわけで Flash Magic のコマンドライン版ではディレクトリ名に + があるとだめなようだ。


ここまでの所をまとめておこう。
LPC810_LED_blink


ところで上記のケーブル(TTL-232R-3V3) LPC800 Mini Kit にぴったりだ。
似たような物でこんなの(USB to TTL Serial Cable - ID: 954)もある。
どちらもコンパクトでいいね。


環境:LPC800 Mini Kit (LPC810M021FN8)
    + Keil MDK-ARM V4.53
    + LPC800 Support for version 4.60 of Keil MDK-ARM
    + LPC810 CodeBase
    + Flash Magic Version 7.50