トップページ


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

■はじめに

これからマイコン開発をしてみたいと思っている方を対象にしたサイトです。基本的に無料開発環境を利用します。
前提として、プログラミング知識が必要になります。マイコン開発にはC言語を使いますので、VB等ほかの言語しか経験していない方は、別のC言語入門サイトをみながら頑張ってください。

■使用するマイコン

STMicroelectronics社(以下STMicro)のSTM32F4シリーズです。評価ボードがあり、入手が容易なSTM32F4 Discoveryがおすすめ。タッチパネル液晶ディスプレイ等がついたSTM32F429i Discoveryも楽しいのですが、少し入手が困難です。

購入先
http://akizukidenshi.com/catalog/g/gM-05313/
https://strawberry-linux.com/catalog/items?code=32110
http://www.marutsu.co.jp/pc/i/132595/

■開発環境

有料版は高機能ですが、一般人が試して使うには高額です(10万円以上)。体験版で無料で使うとコードサイズが32KBまでといった利用制限がきつく、おすすめしません。
そこでここでは、無料の統合開発環境であるCoIDEを使います。CoIDEは開発環境であり、コンパイラやリンカ等は別途用意する必要があります。このサイトではGNU Tools for ARM Embedded Processorsの利用を前提とします。

生成されたソースをCoIDEにする方法を解説するのも面倒なので、とりあえずTrueStudioを対象として説明することにします。

■開発方法

もっとも原始的な開発方法(難易度:MAX)
マイコン開発というと、メーカーが用意する分厚い英語のリファレンスマニュアル等を読み、メーカどころか評価基板の種類ごとに違う複雑怪奇なハードウェア構成を理解し、レジスタのビット操作をC言語で開発するという、これを聞くだけで気絶しそうな流れでした。

人間にわかりやすく、可読性のよいソースを実現(難易度:中 一般的な方法)
STMicroは面倒なレジスタ操作を、標準ライブラリ(以下ペリフェラル)によって人間が理解しやすいように用意しています。しかしながら、この標準ライブラリもハードウェア(MCU)に依存する部分が少なくないため、ペリフェラルを理解するという必要がありました。

もっと楽に、より移植性を高めて(難易度:低 これが普及するかわからない不安が残る)
ハードウェアの違いをライブラリが吸収すれば、ソースの移植性も高くなり開発工数も激減する、そんな夢の方法。ここでは、そんな夢の方法であるSTM32CubeMXを使った方法を紹介していきます。日本語での解説があまりないため、試行錯誤でやっていきます。問題としては…

  • CubeMXが普及しないと封印され無駄になる
  • フレームワークを呼び出す形になるので、実行速度、プログラムサイズ的に不利になる
  • そもそもCubeMXに不具合がないと言い切れない
  • STMicro以外のMCUを使う場合、これらの機能が利用できない

 こんなリスク背負ってやる必要があるの?と思われるかもしれません。なぜやるか、それはやってみないとわからないから、です。このサイトを作った理由も、自分の作業メモのかわりなのです。