2013年12月8日日曜日

FRDM-KL25Zを簡易なARMマイコンライタにする

Cortex-M0+を積んだFreescaleの安いマイコンボード、FRDM-KL25Z。これをちょっとした改造でARMマイコン用のライタにします。参照元はいつものMCU on Eclipseから。

仕組み

FRDM-KL25Zは、PC向けUSBポートの管理やデバッグ、書き込みのインタフェースとして、OpenSDAという仕組みを使っています。購入時の状態では、これは同じボード上のKL25Zのマイコンへファームウェアを書き込むのに使われますが、基板上の端子穴からこれを横取りすることで、任意のARMマイコンへファームウェアを書き込むことができるようになります。

改造箇所

  1. 基板裏面にある、J11の穴どうしをつなぐパターンをカット
  2. J6にピンヘッダをはんだづけ
  3. OpenSDAのファームウェアを更新

この3箇所のみ。J11のパターンカットによって、SWDのクロックがボード上のマイコンに届かなくなるので、OpenSDAの影響を受けなくなります。再度接続したい場合は、ジャンパピンをたててショートさせましょう。

J6のピンヘッダがくせ者です。縦横どちらの方向も1.27mmピッチなので、店頭であまり売ってません。残念ながらぼくはどこで買ったか忘れました。これに対応したケーブルつきメスコネクタは秋月に売っていたので、もしかしたらあるかもしれません。

OpenSDAのファームウェアは、Freescaleのサイトからダウンロードします。リンク先の"FRDM-KL25Z Quick start package"からどうぞ。KL25Zに書き込む場合は MSD-FRDM-KL25Z_Pemicro_v105.SDA を、それ以外のARMマイコンの場合は CMSIS-DAP_OpenSDA.S19 を書き込みます。DEBUG-APP_Pemicro_v102.SDAは、ボードをデバッガとして使う場合に書き込みます。v102の部分はバージョン番号で、異なるかもしれません。

接続例

IMG_0423

USBケーブルがささっているほうがライタ、もう一方がターゲットになります。PC側はOpenSDAによってUSBドライブとして認識されているので、コンパイル済みのファームウェアを放り込むだけで書き込みが終わります。