さて,今回はSTM32マイコンのIDEの一つであるTrue STUDIOについての記事です。
来年はSystem Workbench for STM32 (SW4STM32)で
開発しようかな、なんて思っていたのですが、このニュースを見て
そんな気も吹き飛びました。
STMicroelectronicsがTrueSTUDIOを開発しているatollicを買収し
有料だったTrueSTUDIO Pro が近々無償で利用できるようになるとのことです。
というわけで,とりあえずTrueSTUDIOに慣れてみようと思い
インストールからLチカまでやってみました。
ちなみに今回はNUCLEO-F446REを使い、付属のST-LinkをJ-Link OB化して
J-Linkで書き込んでみます。
インストール
まずはatollicのサイトでTrue STUDIOのインストーラをダウンロードします。インストーラを起動したら, どんどんポチポチと進めて行きます。
コンポーネントの選択をするように言われるので、
今回はST-LinkとJ-Linkのところにチェックを入れて進みます。
さらに、ポチポチ進めてインストールを完了させましょう。
CubeMXをTrueSTUDIOに導入
TrueSTUDIOにコードジェネレータのCubeMXプラグインを入れます。まずは以下のリンクからEclipse用プラグインのzipを入手します (要アカウント登録)。
ダウンロードが終わったら、TrueSTUDIOのメニューバーで
ヘルプ->新規ソフトウェアのインストール...
を開き、出てきたウィンドウにある作業対象の追加ボタンを押し、
リポジトリーを追加のダイアログを出します。
ダイアログの名前入力欄に任意の名前を入力し、
ロケーション欄はアーカイブボタンを押し、先ほどインストールしたzipを選択すればOK
あとは流れで進んでいき、インストール後再起動すればTrueSTUDIO上で
CubeMXが使えるようになります。
プロジェクトをつくる
まずはCubeMXでプロジェクトを作ります。TrueSTUDIOの右上にある「パースペクティブを開く」ボタンを押し
出てきたダイアログにある 「STM32CubeMX」をクリックしCubeMXを開きます。
CubeMXが起動したら、New Projectをクリックしデバイス選択に進みます。
今回はNUCLEO-F446REを使うので、「Board Selector」タブから選択し
ダブルクリックで進みます。
進むと下のような画面に進みます。ここでピン設定やクロック設定ができます。
今回はLチカだけなのでいじらず進みます。
まずはプロジェクトの設定を行います。メニューバーから
Project->Settings...
と進み、以下のように、Project Nameを適当に決め
Project Locationを好きな場所に設定し、Toolchain/IDEをTrueSTUDIOにすればOK
設定が終わったら
Project->Generate Code
でプロジェクトを生成し、「Open Project」をクリックします。
右上のボタンを押してCubeMXからC/C++パースペクティブに戻ります。
一度ビルドしてみてエラーが出ないか確かめておきます。
ST-LinkのJ-Link OB化
下記のリンクからSTLinkReflashをインストールします。
Converting ST-LINK On-Board Into a J-Link
ST-LinkをPCに接続した状態でSTLinkReflash.exeを起動し
指示に従ってJ-Link OB化します。
デバッガの設定
TrueSTUDIOのデバッガをJ-Linkに設定します。メニューバーから実行->デバッグの構成
を選択し、出てきたダイアログの左欄にある「(プロジェクト名).elf」を選択し
デバッガタブのデバッグプローブ欄を「SEGGER J-LINK」に設定します。
適用を押したらダイアログを閉じます。
Lチカのプログラムを書く
TrueSTUDIOのプロジェクト・エクスプローラーからSrcフォルダにあるmain.cを開きます。main.c 内にはCubeMXで生成されたコードがすでにあります。
CubeMXで再度コード生成を行ったときに、自分が書いたコードが
消えないようにするには
/* USER CODE BEGIN */
/* USER CODE END */
のようなコメントの間に書いていきます。
今回はLチカなのでコード生成で用意されているwhile(1)ループを使います。
/* USER CODE BEGIN WHILE */
/* USER CODE END WHILE*/
の間に次のようにコードを書きます。
これをビルドしてエラーが出なければOK。あとはJ-Linkで書き込むだけです。
書き込み
ツールバーの虫アイコンをクリックすることでデバッグのパースペクティブが開き
デバッグが開始されます。
ツールバーの再開ボタンを押してみるとNucleoボード上のLEDがチカチカと
輝き始めます。