LPC1343のデバッグ環境の構築

ねむいさんのブログにSTM32VL-DiscoveryVersaloon化する記事があったので、Versaloon化したSTM32VL-DiscoveryでLPC1343のデバッグをしてみようとした。まあ結局記事に書いてある方法と同じように試したけど、うまく行かなかったので自己流で最新のVersaloonファームウェアの用意からopenocdのビルド、インストールまでやりました。ちなみにUbuntu11.10上で行なっています

まずSTM32VL-Discoveryの改造

やってることはねむいさんのブログの記事と同じです

UARTブートローダを有効にするためのジャンパーの配線とUARTの配線
ファームウェアの書き込みが終わったらジャンパーは外します

firmwareの準備と書き込み

ここからやり方が変わります

STM32VL-DiscoveryのST-Linkに書き込むファイルの準備
svn checkout -r 1054 http://vsprog.googlecode.com/svn/trunk/ vsprog-read-only

バージョンによってうまく動かないことがあります。私はrev1054を使いました。とりあえずうまく動いてます

makefile を書き換え

vsprog/dongle/firmware/Projects/Versaloon/GCC/makefile 18行目 HW_BOARDの値を変更

HW_BOARD = STM32VL_Discovery
ブートローダーを使わないのでリンカスクリプトを書き換える

vsprog/dongle/firmware/Projects/st-discovery.ld 17行目 0x8002000 から 0x8000000 に変更

FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 56K

makeでVersaloon_GCC-STM32VL_Discovery-0x0000.binが生成される
あとは生成されたファイルをFlashLoaderDemonstratorを使って書き込みます。書き込み方法はねむいさんのぶろぐ | SWD専用Versaloonクックブックを参照

openocdのインストール

insightを使うためのarmv7mx.patchを用意

ねむいさんのぶろぐ | ARMマイコンをInsightとOpenOCDを使ってデバッグする環境を整える(2013年度前半版)からopenocd_misc.zipをダウンロードする
展開すると3つファイルがありますが使うファイルはarmv7mx.patchのみです

openocdインストールスクリプトとパッチの用意

Versaloonの旧フォーラムからoocd-16-aug-2011.tar.gzをダウンロードして展開
armv7mx.patchを展開したフォルダoocd-16-aug-2011に移動

openocd_update_0.5.0の書き換え

openocd_update_0.5.0の56と57行目の間に追加
patch -p1 < ../armv7mx.patch;
openocd_update_0.5.0を実行
sudo sh openocd_update_0.5.0
うまくいけばopenocdのインストールまで勝手にやってくれます。 openocdのcfgファイルもねむいさんの(ryからダウンロード insightのダウンロードと設定もねむ(ry insightでデバッグ 最後に、ねむいさんのブログがものすごく役に立ちました。ねむいさんありがとう