これまでペリフェラルの設定を説明してきましたが、どうやってマイコンを書き込み、電気的に接続しているか全く書いてきませんでしたので、今更ですがここでご紹介します。
チップと基板
御存知の通り、STM32f303k8t6 を使っています。これは秋月電子通商で購入可能。リンクはこちら。
書き込み・デバッグ用アダプタ
先の記事では「Nucleo の上部を利用している」と言いましたね。この部分は ST-link v2 と言って、 STM マイコンのデバッグアダプタとして使えるものです。ですのでこれと STM32 を繋いで書き込みしています。SW4STM32 ではボタン1つでビルドから書き込み、プログラム起動まで出来るので便利です。
ですが!! 最近何故かこの ST-Link がお亡くなりになったので(通電しない)、実は例の LPC11U35 の秋月ボードを利用しています。
皆さんの中には「LPC11U35 は LPC マイコンでしかデバッグできないのでは?」と思っている方もいるでしょう。実際の所、IDE 等で用いるときにはそれは正しいのですが、互換性のある ROM を書き込んだ場合や OpenOCD (OCD は On-Chip Debugger の略) を用いた場合は適切なコンフィグファイルを指定することによって問題なく利用できます。というのも、これらは同じ ARM 系マイコンだからです。
OpenOCD を使いたい通な方に、実際書き込みする時のコマンドを掲載します。
以下はホスト側です。
$ openocd -f interface/cmsis-dap.cfg -f target/stm32f3x.cfg # ホスト側
以下はクライアント側です。
$ arm-none-eabi-gdb Project.elf # クライアント側
(gdb) tar ext:3333 # ホストと接続
(gdb) lo # 書き込み
(gdb) mo reset # リセット
んで、実際の所 LPC11U35 ボードはシリアル通信があまり使い物にならないので FT232RL で PC とシリアル通信をしています。なんだか頭がいいんだか悪いんだか...
回路の組み立てはみんな大好きブレッドボードでやっていますね。
ピン番号の確認
これで詰む人が割りといそうですが、これは記事中であまり触れていないデータシートを参照しています。簡易的な図は、データシートに以下のようだと掲載されています。
その他、AD 変換の入力ピンはどこだ とか、USART の TXD が... とかはこの図が掲載されているページの下部に詳しい対応表があるのでそれを参照してくださいね。
動作時の接続
上のピン配置図を見れば分かるのですが、とりあえず VDD は 3.3V につなげ、 VSS は通常 GND としておきましょう。それぞれ内部でつながっているのでしょうがとりあえず不安なので接続しておきます。そしてここが地味に重要なのですが、5番ピンはとりあえず VDD にしておきます。でないと僕の場合は動作しないことがあったので。
続いて 例の SWD デバッグですが、 23番ピンを SWDIO に、24番ピンを SWCLK とすれば書き込み・デバッグは出来るはずです。
以上で紹介を終わります。是非参考にしてください。