組込/ハードウェア

【マイコン】STM32F446 Nucleo-64を動かした

【※ 当記事は2020年7月2日時点の情報です】

ペイヴメント(@pavement1234)です。

エンジニア
エンジニア
STM32F446 Nucleo-64の動かし方を知りたい。

ひとりごと

数年前、
NXPやST micro社製のCortex-M3マイコンを
仕事で使わせてもらう機会がありました。
コンパクトなプログラムに組み込みのエッセンスが詰まっており、
組み込みエンジニアとしての基礎を学ぶのに最適と感じます。
最近はCortex-A9で組み込みLinuxってパターンが多く、
いろいろ便利なのは良いのですがハイテクすぎて組み込み感がありません。
というわけで久々にマイコン弄ってみたいなと思った次第。

マニュアル準備

Nucleo64 STM32F446 を買ったを参考に、
UM1724 User manual
を入手しました。
公式ページからもNUCLEO-XXXXRXを入手。

IARの開発環境をインストール

昔、仕事でIARのEmbedded Work Benchを使ってたので、
なんとなく勝手がわかってる感じ。
ARM
を選択してダウンロード。
ダウンロードで得られたEWARM-CD-8323-20228.exeをダブルクリック。
インストーラが立ち上がるので
IAR Embedded Workbench Arm用のインストールをクリック。

「使用許諾契約の全条項に同意します」を選択し「次へ」をクリック。

「次へ」をクリック。

「次へ」をクリック。

「次へ」をクリック。

「OK」をクリック。

「インストール」をクリック。

インストール中。

「完了」をクリック。

各種ドライバのインストーラが2~3個立ち上がり、
こういう画面がたくさん出てきますので都度インストール。

「IARシステムズに登録して評価用ライセンスを取得する」を選択し
「次へ」をクリック。

IARのホームページからライセンスを取得し、
ライセンスNoを入力し、たしか「次へ」をクリック(キャプチャ忘れ)。

次にこんな画面が出ますので「次へ」をクリック。

「完了」をクリック。

IAR Embedded Workbench ARMを起動

起動すると最初にこういう画面が出てくるので「OK」をクリック。

統合環境が立ち上がりますので「ファイル」→「新規ワークスペース」をクリック。

「プロジェクト」→「新規プロジェクトの作成」をクリックすると、
この画面が開くので「C」→「main」を選択し「OK」をクリック。

適当な名前をつけて保存。
この例では「STM」というプロジェクトにしました。

なんか探してます。

プロジェクトが生成されました。
左のペインから「STM-Debug」を右クリックして「オプション」をクリック。

「一般オプション」→「ターゲット」→「プロセッサ選択」→「デバイス」→「ST」→「STM32F4」→「STM32F446」→「STM32F446RE」を選択。

「デバッガ」→「設定」→「ドライバ」→「ST-Link」を選択。

ダウンロードしてデバッグをクリック。

なんか「ST Linkのファームが古い」みたいなエラー発生。
ネットで調べると、USBにデバイスを繋いだ状態で
「C:\Program Files (x86)\IAR Systems\Embedded Workbench 8.2\arm\drivers\ST-Link」の
「ST-LinkUpgrade.exe」を管理者権限で実行し
ファームをUPDATEせよと書いてあります。
プログラムを立ち上げて「Device Connect」をクリックし
「Yes>>>>」をクリックするとファームがUPDATEされます。

次に「致命的なエラー:ST-Link:不明なターゲットMCU セッションが中止されました」が発生。
なんとなく左のペインから「STM-Debug」を右クリックして
「オプション」をクリックし、
「デバッガ」→「ST-Link」→「設定」→「インターフェース」を
「JTAG」から「SWD」に変更。

再びダウンロードしてデバッグをクリック。

今度はOK。無事mainでブレークできました。

Eclipse+OpenOCD

こうなってくると今度はEclipseでもデバッグしてみたいです。
次回はEclipseとOpenOCDでSTM32(ARM)マイコン開発を読みながら
環境構築してみます。

まとめ

STM32F446 Nucleo-64を動かしてみました。
マイコンを動かし始めるといろいろ試してみたくなります。

ABOUT ME
ペイヴメント
ペイヴメントのエンジニア塾(当ブログ)では20年以上の経験から得られたプログラミング系ノウハウについてベテランにも満足して頂けるような内容の濃いコンテンツを初心者にも分かりやすい形で日々発信しています。【経歴】ベンチャーのソフトハウスで4年勤務後、精密機器メーカーのソフト開発部門に勤務し今に至ります。
error: Content is protected !!