プログラムを書き込んだりオンボード・デバッグをするために、パソコンと接続するインタフェースだ。クローンで、右が秋月で買ったST-LINK。今回は、どっちを買えば、もしくは作れば良いかって話。フラッシュROMを内蔵していて、そこにプログラムを書き込んで使う。プログラムは母艦となるパソコン上でコンパイルやアセンブル・リンクを行なって作る。STM32内のフラッシュROMに書きこむかと言う事だ。STM32の場合、フラッシュROMに書き込む方法の情報がなくて悩むのではなく、逆に情報が多すぎて、何だか判らなくなる。STM32に関して書かれた書籍や雑誌に記事などは、コンパイラ・アセンブラ・リンカーやデバッガー、統合環境、プログラム書き込み・オンボードデバッガーなどを一度に説明しようとするが、それらの組み合わせは星の数ほどある。パソコン上でプログラムを作るためのコンパイラやアセンブラ・リンカなどに関しては、無料で使える良いものがあって、パソコンとインターネットが使える環境さえあれば、数時間もあればセッティングできるので、ひとまず後回しにしよう。今回は「作ったプログラムをSTM32に書き込む方法」に絞って話を進める。物理的にSTM32のフラッシュROMへのプログラム書き込む方法は、以下の4つである。呼ばれるローダープログラムを、他の方法で書き込む必要がある」事と言う二つの欠点をもつので、以降の説明から除外する。2もインターフェースは簡単だが、デバックができないなどの欠点がある事と、私自身が未だ動作確認していないので、これも以降の説明から除外する。残りの3と4だが、これを実際に母艦パソコンに接続するインターフェースと、母艦パソコンでプログラム書き込みに使うアプリケーションソフトも幾つかあって、その組み合わせも多い。主な組み合わせを以下に示すが、表記上「」を物理的にSTM32と直接つながる部分、『』をSTM32とパソコンと接続するインターフェース、【】を母艦パソコンでプログラム書き込みに使うアプリケーションソフトとさせてもらう。Windows上のみのサポート。私のところでも動作確認できている。Windows上のみのサポート。一般的なはずなのだが、私のところでは動かない。残念ながら、私のところでは動いていない。私のところでは、WindowsでもLinuxでも正常に動いている。私が言うのもなんだが、私すら手こずって動作確認できないのは、お勧めできない。3も良いのだが、やはり止めておく。3は、これが動けば理想的なんだが、そうもいかない。1と4では、それぞれ『ST-LINK』と『JTAGkey』と言うインターフェースが必要で、これはハードウエアだから、買うなり作るなりする必要がある。2500円程度で売っているので、入手は楽だ。純正なのは良いんだが、ガードが固くて中がどうなっているか判らない事。(Lite)のような製品もしくは体験版だけとなる。(Lite)が動かいないので、デバックができない。ST-LINKの中身が判れば、オープンソースのアプリケーションが作られるのだろうが、そうはいかない状態だ。本物は1万円以上と高いし、どこで買えば良いのかも良く判らない。3000円程度で作れる。中身が知られているのでオープンソースのアプリケーションもあり、Windowsだけでなく、Linuxでも使える。JTAGインターフェースのデファクトスタンダードなので、STM32だけでなく、各社・各種のCPUマイコンやFPGAにも書き込める。クローンが唯一の解だ。クローンを使ってSTM32にプログラムを書き込もう」って訳。注意ブログのコンテンツの内、「告知」など時期よって情報価値が無くなるのは除いてある。コンテンツに付いたコメントは書き込み者に著作権があるものと判断し、ここに持ってきていないので、コメントを見るときは、元々のブログコンテンツを参照してもらいたい。その他、ブログ発表後、コメントなどの内容を反映するなど、内容を変更しているものもあるので、注意してほしい。