STM32 Program for Micromouse

ST Microelectronics社のSTM32マイコンのプログラム例を公開する. AD変換器の使用,タイマを使ったPWM出力などマイクロマウスに必要なものが含まれている. わりと汎用的に使えるのではないかと思うが, マイクロマウスロボットに特化している部分も多い.

1. ソースコードおよびライブラリの準備

私の作成したプログラム"STM32Fxprogram"と ST Microelectronics社のライブラリ"Standard Peripherals Library"を組み合わせて使用する. "STM32Fxprogram"は下記リンクからダウンロードできる.

ライブラリは探し出すのが難しいが, STM32 ARM Cortex 32bitマイクロコントローラ → リソース ソフトウェア → STM32 Embedded Software内にある下記ファイルである.(2014/02/15)

"STM32Fxprogram"は上記特定のライブラリと組み合わせた場合しか動作確認していない. 新しいライブラリで動かなかったとしても, 古いバージョンのライブラリをどうやって入手したらよいのかはわからない.

"STM32Fxprogram"内の"files_required.txt"に従ってライブラリのコピー等を 行うこと.

2. コンパイラの準備

Mentor Graphics社の Sourcery CodeBench Lite Edition(GCCのコンパイル済みバイナリ)を使う.

  1. Sourcery CodeBench Lite Editionのページへ行く.
  2. "ARM processors" の "Download the EABI Release" をクリックする.
  3. ユーザ登録を迫られるので,登録する.
  4. 登録するとダウンロードページへのリンクの付いたメールが届く.
  5. そのページから "Sourcery G++ Lite" か "Sourcery CodeBench Lite" のバージョンの新しいものを選ぶ.
  6. windowsなら "IA32 Windows Installer"を, Linuxなら "IA32 GNU/Linux TAR"をダウンロードすればよい.
  7. ダウンロードしたファイルをインストールする.

インストール先にパスが通っていることが重要である. windowsインストーラを使った場合は自動でパス設定されるはずである.

なお,コンパイラ等を変更するとトラブルの元なので,このページではarm-2011.09を使う.

(2012/08/25)

3. コンパイル

コンパイルするには STM32Fxprogramディレクトリ内で "make" を実行すればよい. ただし,windowsには通常makeコマンドはインストールされていないため, コンパイラに付属のcs-makeを使用する. そのための方法は例えば下記の方法がある.

  1. 端末(コマンドプロンプト)で STM32Fxprogram ディレクトリへ移動して "make" もしくは "cs-make" を実行する.
  2. "make.py" スクリプトを実行する.

1.は最も基本的な方法である. 2.はダブルクリックだけでコンパイルできるので便利.

また,コンパイルによって生成されるファイルをすべて消去する「クリーン」を実行するには, STM32Fxprogramディレクトリ内で,"make clean" を実行すればよい. make同様以下の方法がある.

  1. 端末(コマンドプロンプト)で STM32Fxprogram ディレクトリへ移動して "make clean" もしくは "cs-make clean" を実行する.
  2. "clean.py" スクリプトを実行する.

4. FLASH Writerの準備と書き込み

自作のFLASH書き込みプログラムを使う. STM32Fxprogramには同梱されている.

STM32を"System memory boot mode"で立ち上げて, "write_main.py"を実行する. ポート番号だけは環境に合わせて設定する必要がある.

5. 通信ソフトの準備

windowsなら TeraTerm をインストールして使う.

通信のための設定値は以下の通りである.

項目 設定値
ボーレート 115200
データ 8 bit
パリティ none
ストップ 1 bit
フロー制御 none

TeraTermの場合,設定した値は,

「設定」メニュー --> 「設定の保存」
で "TERATERM.INI" を上書きしておくとよい.

6. 実行と通信

STM32を"Main Flash memory boot mode"で起動すればよい.

メモ

Back Top page