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

Comments

ごめんなさい。ごめんなさい。ごめんなさい。
皆様方。適当に直して使ってください。

  • irukaです。
  • 2013/01/16 8:08 PM

iruka様こんにちは、ねむいです。

このぶろぐの読者の方はmakefile弄って問題なく対処している
はずです。ご安心ください(笑

WinAVR向けに作られたmakefileをベースにしているとsh.exeに
依存していた記述はかなりの鬼門になるので、私も当ぶろぐ
立ち上げの際は真っ先に潰したうえで各プロジェクトを公開して
いました(とはいえWinAVRを脱却してCoreutilsに完全に移行
できたのが2012年になってからですが。)

ねむいさんこんばんはirukaです。
CDCscope.zipのアーカイブですが手違いで2週間くらい
古いやつ(9月版)がHPに掲載されてました。10月版に、
今日差し替えて貰いましたので、すでにCDCscodeをDL
された方いらっしゃいましたら再DLお願いいたします。

WinAVR時代の古いMakefile使い回し続けてるのばれた;汗;;

  • iruka
  • 2013/01/17 7:56 PM

ねむいです。こんにちは。

shell関数を使用したmakefileのビルドエラー対処法を
ARMマイコンのビルド手順に追加しました。これで大丈夫です。

Post a Comment








Go to top of page