STM32のハードウェア的環境を今更ですが

これまでペリフェラルの設定を説明してきましたが、どうやってマイコンを書き込み、電気的に接続しているか全く書いてきませんでしたので、今更ですがここでご紹介します。

チップと基板

御存知の通り、STM32f303k8t6 を使っています。これは秋月電子通商で購入可能。リンクはこちら。

電子部品,通販,販売,半導体,IC,マイコン,電子工作STM32マイコン STM32F303K8T6秋月電子通商 電子部品の通販・販売
でお値段410円。割りと安めですね。DIP のものでは無いので扱いにくく思えるでしょうが、実際ピンのピッチはそれほど狭くはない為、容易に変換基板に手ではんだ付けできます。その変換基板も秋月でとてもお安く売っていて、こちらがそのリンクとなります。
電子部品,通販,販売,半導体,IC,マイコン,電子工作32ピンQFP変換基板 金フラッシュ秋月電子通商 電子部品の通販・販売
なんと80円。つまり、チップと変換基板でなんと490円ポッキリでマイコン開発の準備ができてしまうんです。まぁ実際には書き込みのためのデバッグアダプタが必要になるのでこれ以上しますが…

書き込み・デバッグ用アダプタ

先の記事では「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 とすれば書き込み・デバッグは出来るはずです。

以上で紹介を終わります。是非参考にしてください。