EclipseによるSTM32統合開発環境構築~その1

STM32マイコン開発


STM32は、STMicroelectronics社製のマイコンで、DescoveryやNucleoなどいくつもの種類が販売されています。


STM32マイコンボード

秋葉原の秋月電子でも取り扱っており、安価で入手しやすいハードウェアです。
しかし、便利なペリフェラルを内蔵している高性能なマイコンで、
上記写真のSTM32F429 DiscoveryではLinxを動作させることも可能です。

また、STMicroelectronicsでは、利用者のために無償で使うことができる STM32 CubeMX というコード生成ツールを配布しています。


このツールを使うことで、ピンアサインなどの初期設定のためのコードや、FreeRTOSなどを含んだスケルトンのコードを自動で生成してくれます。

また、STM32 CubeMX は統合開発環境のプロジェクトも生成してくれるため、下記のメジャーな開発環境で自動生成されたコードをスグに利用することができます。
  • IAR Embedded Workbench for ARM (EWARM)
  • Keil MDK-ARM
もちろん、フルスクラッチでコードを記述することも可能なので、STM32 CubeMXは必須のツールと言うわけではありません。


STM32開発プロセス

では、実際にSTM32上のプログラムを開発するためのプロセスについて説明します。

まず、STM32 CubeMXでスケルトンコードとプロジェクトを生成します。

生成されたプロジェクトを統合開発環境で読み込んで、必要なコードを書き加えてビルドします。

ビルドが通ったら、プログラムをSTM32のフラッシュに書き込みますが、STMicroelectronicsのデバッグ環境であるST-Linkを通じてSTM32のボードにアクセスを行います。ST-LinkはパソコンとUSBケーブルで繋ぐだけです。パソコン側がA、STM32側がミニBで、USB給電はSTM32ボードの電源にもなっています。


ST-Link回路部分
ST-LinkのためにSTM32F103マイコンが搭載されており、
特にNucleo系のボードでは、ST-Link部分をカットしやすい
基盤構造となっている。

パソコンとSTM32ボードをUSBケーブルでつないだら、統合開発環境からSTM32のフラッシュ上にプログラム書き込みを行います。デバッグもUSBケーブル(ST-Link)を通じて統合開発環境からソースコードデバッグを行うことができます。

STM32CubeMX → 統合開発環境 → STM32


どのような統合開発環境を使えばいい?

上記で紹介したIARやKeilの統合開発環境は無償でも利用することができます。しかし、有償版に対して出力するバイナリサイズの上限や無償利用期間が1ヶ月に限定されるなどのリミットが設定されています。

ちなみに、これらの開発環境の有償版ですが、ライセンス形態にもよりますが、30万~80万程度します。
個人で、使うには勇気が必要な金額です。

やはり、個人や小規模なビジネス、あるいはプロトタイプ開発での利用を考えた場合、制限がなく、かつコストを抑えた開発環境を構築したいと誰もが思うところです。

前置きが少し長くなりましたが、ここからが本題となります。

実は、必要なツールを自分で集めて、それぞれが連携して動作するように自分で設定しないとならないなど、少々手順が複雑なところもありますが、無償のツール類によるSTM32のための統合開発環境を構築することは可能なのです。


EclipseでSTM32の統合開発環境を構築しよう!

まず、統合開発環境のプラットフォームですが、”Eclipse”を使います。


Eclipseは、元々はIBMによって開発が開始され、その後オープンソース化したソフトウェアです。また、Eclipse自体はJavaで作成されているためJRE(Java Runtime Environmenr)を必要とします。

Eclipseは、プラグインとして後から機能の追加が可能なシステム構成であることが特徴となっています。

今回、構築するSTM32の開発環境も、このプラグインの機能を利用して実現します。


インストールするソフトウェアの一覧

STM32 CubeMX

STM32各種評価ボード向けのコードを自動生成するツール
Eclipse(Pleiades)

統合開発環境Eclipse、
今回は、日本化プラグインやよく使う機能がパッケージ化された”Pleiades”を使います。
STM32 CubeMX Eclipseプラグイン

EclipseからSTM32 CubeMXを使うためのプラグイン
SW4STM32

コンパイラ、デバッガなどSTM32開発のためのツールチェーン
ST-Linkドライバ

USBケーブルを通じてフラッシュの書き込み、デバッグを行うためのドライバ
STM32 ST-Link Utility

無くてもよいが、フラッシュイレースなどトラブル時にあると便利


インストールするソフトウェアが少々?多いですが、頑張って環境構築しましょう。
なお、本記事のPC環境は、Windows10 1803として執筆しています

EclipseによるSTM32統合開発環境構築 ~その2に続く。





Lightning Brains 

コメント

このブログの人気の投稿

Linuxシステムコール、共有メモリの使い方

Linuxシステムコール、メッセージキューの使い方

Linuxシステムコール、セマフォの使い方