この講座の概要

この講座では,32ビットマイコンであるSTM32マイコンについて,開発環境の構築や実際の開発手法を検討(学習)する.
将来的には新入生に対して行いたいと考えていたが,C言語講座はやりたくないので(主に2年生の)有志を対象にしたいかな.

この講座ではあまり深くはやらないつもり.一通り読めばわかった気になれる.と思う.

動機

書きかけ.
ロボットは機械をつくっただけでは動きません.制御があってようやく動くようになります.
アルミ加工講座でやったように,台車のモータにスイッチを付ければモータのON/OFFを人間が操作して動かすことができますが,それはロボットではなくラジコンです.しかし私たちはロボットを作るのです.ロボコンサークルであってラジコンサークルではないのです.
そのようなわけで,より高度な,ソフトウェアによる制御が要請されます.そしてマイクロコントローラ(マイコン)はソフトウェアによる制御の際に典型的に用いられるものです.本講座では,近年よく見られる32ビットマイコンの基本的な使い方を,ST社のSTM32マイコンを例にとって解説します.


使用するソフトウェア/ハードウェアのリスト:

ここでは紹介するに留めます.実際のインストールは開発環境の構築の際にします.

ソフトウェア(PC)

  • Eclipse - Javaランタイム上で動く統合開発環境(IDE).JavaなのでLinuxでもWindowsでもOS Xでも動きます.
  • GCC ARM Embedded - 著名なコンパイラコレクションであるGCCをARM向けに改良したものです.
  • GNU ARM Eclipse - GNU系ツールチェインをベースにしたeclipseプラグインで,eclipse上でのARM開発を強力に支援します.
  • (Java ランタイム) - Eclipseを使うのに必要です.

ソフトウェア(マイコン)

  • SPL (Standard Peripheral Library) - マイコンを(若干)抽象的に扱えるようになります.ST社はこれを非推奨としており,次のHALの採用を推奨しています.
  • HAL(Hardware Abstraction Layer) ドライバ - マイコンを(若干,SPLよりも)抽象的に扱えるようになります.

ハードウェア

  • 開発ボード - STM32F103C8T6というモデルのSTM32マイコンが搭載された開発ボードです.某中華通販にて極めて安価に入手できます.ブレッドボードに挿せますが,付属の標準ピンヘッダだと引き抜くときにピンが曲がるので細ピンヘッダ推奨.
  • ST-LINK/V2 - STM32向けのデバッガ/プログラマです.本講座で使用するものは(残念ながら)ST社の純正品ではなく,中華のデッドコピーです.怪しげなST-LINKについて


マニュアル

AVRマイコンでは,ハードウェア的な(電気的な)仕様からソフトウェア的な仕様(レジスタの説明とか)まですべてがデータシートに記載されていました.
STM32マイコンでは,電気的仕様などはデータシートに,レジスタの説明はリファレンスマニュアルに書いてあります.
だからAVR慣れした人がAVRと同じノリでSTM32のデータシート見てもわけわかんないかもよ.
最終更新:2017年09月04日 20:18