はじめに
第1章 ボードの購入方法
第2章 開発環境のインストール
第3章 Lチカ
第4章 HALの勉強方法
第5章 ゆっくり光るLチカ(TIM PWM)
第6章 UART
第7章 SPI
第8章 割り込み
第9章 I2C
第10章 ADC
第11章 ADCのキャリブレーション
第12章 DMA
第13章 RTCを使った低消費電力からの復帰
第14章 HALの勉強方法(実践編)
第15章 電力計算ツール
第16章 USBを使ったワンボタンキーボード
第17章 FreeRTOS
第18章 リンカファイル
第19章 ブートローダー
第20章 IAP(In Application Program)によるデュアルブート
第21章 バグ
第22章 STM32シリーズ紹介
第23章 Tips
まとめ
この本は、WindowsでSTM32マイコンの環境設定を行う本です。技術書展11で頒布した「WindowsではじめるSTM32 2021版」を底本にしています。
ターゲット読者は「WindowsでSTM32をはじめてみたい」という初心者から、「ペリフェラルの使い方を知りたい」「RTOSも使ってみたい」という中級者、「実務でSTM32を使用している」というプロユースの方まで、幅広く対応しています。
この本では
・ボードの購入方法
・CubeIDEのインストール
・Lチカ
・HALの勉強方法
・技術書典6でデモしたゆっくり光るLチカ(TIM PWM)
・UART
・SPI
・割り込み
・I2C
・ADC
・ADCキャリブレーション
・DMA
・低消費電力モード
・HALの勉強方法(実践編)
・電力計算ツール
・USB
・FreeRTOS
・リンカファイル
・IAPによるデュアルブート
・バグ
・STM32シリーズ紹介
・Tips
という順番で進めていきます。
初心者の方は、最初から読み進めてください。
ひととおり動かしたことのある方、プロユースの方は、全編を拾い読みするといいと思います。あなたの知らなかった情報もあると思います。
・WindowsでSTM32の環境設定ができます
・HALの勉強方法がわかります
・STM32の各ペリフェラルのHALを実践的に試せます
・STM32のハードウェア設計のきっかけがわかります
・その他、STM32のさまざまなノウハウがわかります
最終的には、熟練したSTM32プログラマー相当になれます(たぶん)。
以下のURLからダウンロードできます。タグはv1.7.0です。
https://github.com/kotetsuy/STM32forWindowsDemos
本書に記載されている会社名、製品名などは、一般に各社の登録商標または商標、商品名です。会社名、製品名については、本文中では©、®、™マークなどは表示していません。
本書に記載された内容は、情報の提供のみを目的としています。したがって、本書を用いた開発、製作、運用は、必ずご自身の責任と判断によって行ってください。これらの情報による開発、製作、運用の結果について、著者はいかなる責任も負いません。
まずはボードがないと始まりません。いまは気軽に秋葉原や日本橋に買いに行けませんので、インターネット通販で買いましょう。この本ではNucleo-F401REを使用します。
秋葉原の有名な電子工作ショップです。最近はRaspberry Piなどにも力を入れています。STM32はNucleoボードの購入ができます。店舗だけでなく通販1でも購入可能です。
日本橋の有名な電子工作ショップです。個人的には「東の秋月、西の共立」と思っています。店舗だけでなく通販2でも購入可能です。
インターネット通販3のお店です。STのSTM32日本語ページでの公式販売を行っているようです。
NucleoボードはUSBがmini USBです。最近はmini USBケーブルもあまり見なくなってきたので、一緒に入手しておきましょう。
実物はこんな風になっています。
公式サイトをみると、1987年に、イタリアのSGS MicroelettronicaとフランスのThomson Semiconducteursが合併して、SGS-THOMSON Microelectronicsという名前で発足しました。その後、1998年にSTMicroelectronicsという名前に改名しました。「じゃあ、イタリアとフランスの会社?」かと思うと、本社はスイスのジュネーブにあります。想像ですが、どちらかの国に本社を置くと、そっちを重視してしまうので、あえて第三国に置いたのでないでしょうか。面白いことに、会社の登記はオランダです。これはオランダの法人税が安いからのようで、ヨーロッパの多国籍企業はオランダに登記することが多いです。フィリップスなんかもオランダ登記です。
2020年、新型コロナの拡大とともに自動車産業が減産したのをきっかけに、世界中で半導体不足が起きています。原因としては、材料の供給不足、半導体会社が高利益のスマホ向けチップに移行して、古いプロセスのチップの生産量を絞っている、自動車産業が増産を始めたので、急激に需要が拡大し、生産が追いつかない、などの理由が挙げられています。現在(2021年7月25日)では、STM32のリードタイムも52週を超える、ブラックマーケットで10倍の値段で販売されるなど、色々な影響を受けています。この本も、書いたのはいいけど、部品が少なくなっているので、買う人がいないんじゃないかと心配です。
STM32CubeIDEはJavaのアプリケーションなので、WindowsにJavaをインストールする必要があります。しかも、Java81です。OracleはJava8の一般向け公開をやめているので、代わりにOpenJDK8をインストールします。OpenJDK8はいくつもバージョンがあるのですが、私はAmazon Corretto 82を使っています。
Windowsでの開発環境は、STの配布しているSTM32CubeIDEと、VisualStudioCode上で動作するPlatformioのふたつがあります。この本ではSTM32CubeIDE(2021年7月25日現在 v1.7.0)を使います。
ここのURL3よりダウンロードします。
ダウンロード後zipファイルを展開し、インストーラを起動すると、次の画面が表示されます。
Nextを押して、インストールを続けます。stlinkのドライバーもstlink debuggerもインストールされます。
デスクトップのアイコンから起動します。スプラッシュ画面が出て、workspaceを設定する画面になります。
注意:workspaceを設定する画面で「use this as the default and do not ask again」にチェックしてはいけません。ここをチェックしてしまうと、後々面倒です。
Windowsのファイアウォールの画面が出てくるので、Privateに設定して、OKを押します。
次の画面が出ると、インストール成功です。
この章で、次の目標を達成しました。
・WindowsでSTM32の環境設定ができます
OracleがGoogleと裁判したり、Jave JREのライセンスを変えたりして、Javaが非常に使いにくくなっています。STも「Windows、Mac、Linuxのマルチプラットフォームで動かすならJavaだ!」と思って、Javaを選んだのは想像つくのですが、まさかここまでの逆風になるとは思っていなかったでしょう。CubeIDEも、いずれJavaベースではなくなるのではと想像しています。