前回に引き続き、第2回目です。今回は SAM について、MPLAB Sanp を使ってみました。
SAM
Atmel 社が出した 32bit ARM マイコンです。秋月で売っている D21 はブートローダー非搭載で、SWD しか書き込みが対応していません。Snap は SWD を用いた書き込み・デバッグに対応していますから、これを使ってみます。
ツールチェインの登録・プロジェクト作成
arm-none-eabi-gcc
のあるディレクトリを指定すれば OK です。これだけで MPLAB X IDE にて使えるようになります。
認識されない場合は、MPLAB X IDE を最新版にしてください。
現状では秋月で売っているものに対応したプロジェクトを作ることは出来ません。が、その上位互換であるモデルは対応デバイスのリストに存在しますので、今回はその上位互換と見せかけてプロジェクト作成をすることにします。
回路接続
MPLAB Snap のデータシートには SWD を用いる時の接続法は書いてありません。しかしながら、「ピン配置は Pickit 4 と同じだから、そっちのデータシートを参照してちょ」という丸投げ状態ながらも情報があったので、Pickit 4 のページから見てみることにします。User's Guide を開くと、、、
こんな表がありますので、従います。SWO もあるんですね〜〜〜
ここから抜粋して書くと、こんな感じ。
No. | ピン名 |
---|---|
2 | VDD |
3 | Ground |
5 | SWCLK |
8 | SWDIO |
これでヨシ!
デバッグ・書き込み
これまでど同じようにやれば出来てしまうのですが、デバイス詐称をしているので、「なんかデバイスIDが合わないんだけど(怒り)」と言われます。幸いなことに、この IDE では強行突破ができるようなので、Yes を押してさっくりと進めてしまいましょう。
書き込み・デバッグが成功しない!という方はプロジェクトのプロパティから通信速度を変えましょう。僕の場合はデフォで 2MHz だったのですが、うまく行かなかったので 1MHz に変えるとちゃーんと動いてくれました。