LPC800はぢめました(Versaloonを使ってLPC812に書き込み&デバッグを行う)


……ッッ

ギ ブ ア ッ プ orz

去年末に入手しVersaloon+OpenOCDで書き込みデバッグせしめることを頑張って
きましたがもうお手上げですorz

20130201追:
OpenOCDからも書き込みができるようになりました!!
さすが私!







と書き切ってしまうと今日のブログ終わっちゃうのでvsprogから書き込みを行う別の
突破口を見つけ成功しましたのでLPC812使用記を兼ねてお知らせします。

Cortex-M0+コアが使用されているLPC800系のペリフェラルのアーキテクチャはM0コアの
LPC1114系とは違う部分があります(USB付きだからかLPC11uxx系も全く違う)。
フラッシュメモリの構造もその一つですが、フラッシュサイズの上限が16kByteまでしか
無いLPC800シリーズではLPC11xx系とは比較すると以下のようにセクタ/ページサイズ
が細かくなっています。
*セクタサイズ
LPC11xx : 4kByte
LPC8xx : 1kByte
*ページサイズ
LPC11xx : 256byte
LPC8xx : 64byte

OpenOCDやvsprogに代表されるフラッシュ書き込みルーチンはLPC系のARMマイコンでは
JTAG/SWD経由でもIAPを召還して書き込みを実行する方式のため新たなデバイスの
対応に特段に難しい措置は必要はありません。
だから公式に対応してなくとも自分でセクタ/ページサイズの定義をちょちょいと追加して
やれば終了のはず…なのですがOpenOCDでは1セクタ目を書いた時点でHardFaultに
なってしまいアウチとなったのでしたorz

20130201追:
OpenOCDからも書き込みができるようになりました!!
さすが私!



しかしvsprogではあっさり成功してしまいましたので誰かがOpenOCDで頑張ってくれる
までは当分vsprogでLPC812に書き込みを行います。

↓書き込んだときのメッセージです。PN2のコンソール出力キャプチャに対応させる
 ため、LPC800と直接関係ない表示系も少しいじってますのでご了承を。
> "C:¥Devz¥Coreutils¥bin¥make.exe" program
vsprog -clpc812m101fdh20 -ms -I main.hex -oe -owf -ovf
VSProg 1.0 svn:1364M
CopyRight(c) 2008-2010 by SimonQian

URL: http://www.SimonQian.com/en/Versaloon
mail: SimonQian@SimonQian.com

Info: Versaloon(0x15)by Simon(compiled on Jul 18 2012)
Info: USB_TO_XXX abilities: 0x0000072E:0x010001EF:0xC0000007
Info: Target runs at 0.000V
Info: SWDID = 0x0BC11477
Info: AHB-AP_ID = 0x04770031
Info: ROM_ADDRESS = 0xE00FF003
Info: CFG = 0x00000000, Little-endian
Info: CORTEX-M0 r0p0 processor detected
Info: CPUID = 0x410CC600
Info: Bootloader version 13.1
Info: Chip-id read is 0x8122.
Info: erasing flash
erasing flash |========================================| 0.06s used
Info: flash erased
Info: SWDID = 0x0BC11477
Info: AHB-AP_ID = 0x04770031
Info: ROM_ADDRESS = 0xE00FF003
Info: CFG = 0x00000000, Little-endian
Info: CORTEX-M0 r0p0 processor detected
Info: CPUID = 0x410CC600
Info: programming flash
writing flash |========================================| 0.39s used
Info: flash programmed for 1600bytes(4.00KB/s)
Info: verifying flash
reading flash |========================================| 0.09s used
Info: flash verified for 1600bytes(16.80KB/s)

> Process Exit Code: 0
> Time Taken: 00:01




OpenOCDはフラッシュ書き込みはできないもののそれ以外のすべての操作はLPC11xx系と
同様に可能です。いつものInsightを使ったデバッグとI/OViewも自由自在です。
※STLink/V2もデバッグ可能です。

ということで少々セコ技ですがいつもの構成で開発環境が整ったのでLPC812Xpresso
用のプロジェクトファイルを公開します

同時にLPC812に書き込み可能なvsprogのwindows用バイナリLPC812のcfg入りのOpenOCD
も更新しました。vsprogと同じフォルダにはLPC800系対応のパッチがありますので興味ある
人は自分でビルドして試してみてくださいね。

でもどちらかというとねむいさんは
20130201追:
OpenOCDからも書き込みができるようになりました!!
さすがわた(ry

Go to top of page