MCUパラメタ設定を改善したSTM32CubeMX version 5

2018年12月STマイクロエレクトロニクス(以下STM)のMCUコード生成ツール:STM32CubeMXがversion 5にメジャー更新しました。本稿は、このSTM32CubeMX version 5について主に旧version 4をご利用中の方を対象に説明します。初めてSTM32CubeMXを利用される方は、インストール方法などは旧version 4で示したコチラの関連投稿と同じですのでご覧ください。

STM32CubeMX version 5への更新方法

STM32CubeMXは、スタンドアロンアプリケーションとして動作させる場合と、Eclipse IDEのプラグインとして動作させる場合があります。更新が簡単なのは、先に説明するスタンドアロン版です。Eclipse IDEは、SW4STM32を例にプラグイン更新方法を示します。

スタンドアロン版STM32CubeMXの更新方法

デフォルト設定を変えてなければ、STM32CubeMX起動時に自動的に更新を検出しInstall Nowクリックで最新版がダウンロードされます。ダウンロード後、一旦STM32CubeMXを終了し、再起動でversion 5への更新が始まります。

STM32CubeMX version 5への更新(スタンドアロン版)
STM32CubeMX version 5への更新(スタンドアロン版)

スタンドアロンの場合は、更新開始時Access Errorが表示されることもあります。この時は、「管理者として実行」で更新プロセスが始まり、STM32CubeMX version 5の初期画面になります。

STM32CubeMX version 5初期画面
STM32CubeMX version 5初期画面

Eclipse IDE(SW4STM32)プラグイン版STM32CubeMXの更新方法

Eclipse IDEのプラグインでSTM32CubeMX機能を追加した場合は、旧プラグインを削除した後にversion 5プラグインをインストールします。SW4STM32のプラグイン削除は、Help>About EclipseからInstallation Detailsボタンをクリックし、Installed Softwareタブから旧STM32CubeMXを選択、Uninstallまたは、Updateクリックで行います。

旧版STM32CubeMXプラグイン削除
旧版STM32CubeMXプラグイン削除

Uninstallの方が確実です。削除後、新しいSTM32CubeMX version 5プラグインを再インストールすれば、スタンドアロンと同じ初期画面が示されます。SW4STM32のUpdate checkでは、STM32CubeMXの更新を検出できませんので、手動でプラグイン削除、更新された新プラグインのインストールが必要です。

STM32CubeMX version 5改善点

version 5のユーザマニュアルUM1718 Rev 27から、以下の点がversion 4から改善されました。
関連投稿:MCU更新情報取得方法と差分検出ツール、の “2PDF資料を比較するDiffPDF” の章参照

・MCUパラメタ設定にマルチパネルGUI採用(UM1718、5章)
・CMSIS-Packサポート(UM1718、7章)
・X-Cube-BLE1ソフトウェアパック(UM1718、14章)
・ST-TouchGFX追加(UM1718、17章)

一言で言うと、5章:カラフルになったパラメタ設定、7章:CMSIS-Pack追加が可能、14章と17章:2チュートリアル追加です。CMSIS-Packとチュートリアルは、必要に応じて理解すれば良いでしょう。

そこで、基本操作の5章STM32CubeMX version 5のパラメタ設定を、弊社STM32F0シンプルテンプレートで用いたSTM32CubeMX version 4プロジェクトファイルを使って説明します。
※STM32F0シンプルテンプレート(¥1,000販売中)をご購入頂いてない方のために、上記プロジェクトファイルのみをコチラから無料でダウンロードできます(zipファイルですので解凍してご利用ください)。

マルチパネルGUIによるMCUパラメタ設定改善の実例

Open Existing Projectsで上記STM32F0シンプルテンプレートプロジェクトファイル:F0SimpleTemplate.iocを選択すると、旧versionで作成されていること、FWも更新されていて、最新環境へ更新(Migrate)するか、FWはそのままSTM32CubeMXのみ更新(Continue)かの選択肢が表示されます。
※MigrateとContinueの差は後述します。

旧版プロジェクトファイルを開いた時のメッセージ
旧版プロジェクトファイルを開いた時のメッセージ

今回は、Migrateを選択すると、見慣れたPinout & Configuration画面が現れます。

STM32F0シンプルテンプレートのプロジェクトを開いた画面
STM32F0シンプルテンプレートのプロジェクトをversion 5で開いた画面

Connectivity >を開くと、STM32F0シンプルテンプレートで使用中USART2の各種パラメタ設定値がマルチパネルで表示されます。

STM32F0シンプルテンプレートプロジェクトのUSART2マルチパネル画面
STM32F0シンプルテンプレートプロジェクトのUSART2マルチパネル画面

このマルチパネル表示がversion 5で最も改善された機能です。従来版では、複数タブで分離表示されていた設定が、1画面のユーザインタフェース:UIに集約されました。より解りやすく、より簡単にMCUパラメタ設定ができます。

その他の機能は、カラフルな見た目になってはいますが、旧versionと殆ど同じと考えて良いと思います(開発元には失礼ですが…😅)。不明な点は、HelpでUM1718が直に表示されるので調べられます。

また、販売中の弊社STM32Fxテンプレート付属説明資料のSTM32CubeMXは、version 4で説明しておりますが、この程度の改版ならば、説明資料をversion 5用に作り直さなくても、ご購入者様に内容をご理解頂けると思います。

旧版プロジェクトファイルを開いた時のMigrateとContinueの差

STM32CubeMXは、UIをつかさどる共通部分と、STM32MCUファミリ毎の個別ファームウエア:FW部分の2つから構成されています。本稿は、UI共通部分の更新を説明しました。FWもバグとりや、ファミリへの新MCU追加などで更新されます。周辺回路の初期化CコードやHAL:Hardware Abstraction Layer library 、LL: Low-Layer library利用のAPI生成は、FW部分が担います。

Migrateは、このUIとFWを同時に最新版へ更新します。一方、Continueは、UI部分のみ更新しFWは既存のままです(安全側更新とも言えます)。FW更新で既製ソフトウェアへ悪影響がでる場合には、Continueを選択することもあるでしょう。しかし、基本的にはUI、FWともに最新版へ更新するMigrateが本来の更新方法です。

万一FW更新でトラブルが発生した時は、デフォルトでSTM32Cube>Repositoryフォルダに新旧FWがzipファイルで保存されていますので、FWのみ元に戻すことも容易です。

*  *  *

Postscript:24日午前3時~午前4時5分に実施されたSTM32G0 and STM32CubeMX 5.0ウェブナーどうでしたか? 解りやすいスライドが豊富で、STM32G0の良さがより理解できました。全機能無償のKeil uVision5対象デバイスにSTM32L0、STM32F0とSTM32G0も加わりました。STM32CubeMX 5.0と評価ボードNUCLEO-G071RBを使ったLチカコード生成も解りやすかったですね😃。
※タイムリーなことに、1月25日STM公式ブログ上で上記一連の処理がYouTubeに投稿されました。

さて、ウェブナー参加で目から鱗が落ちたのは、STM32G0の広い応用範囲と低電力動作を活かすには、デバイス間移植に優れるHAL APIよりも、デバイス最適化のLL API利用が適してかもしれない点です。
HAL利用のSTM32Fxテンプレートとは異なるアプローチ、例えば、STM32Gxテンプレートの新開発が必要になりそうです👍。

関連投稿:HALとLLの違いは、STM32CubeMXの使い方、“STM32CubeMXの2種ドライバライブラリ”の章参照
関連投稿:STM32Fxテンプレートのアプローチは、STM32評価ボードNUCLEO-F072RB選定理由参照

MCU更新情報取得方法と差分検出ツール

MCUプロジェクト開発中は、雑音に邪魔されず当面の課題解決に集中したいものです。しかし、MCU最新情報や開発ツール更新などは、いつ発生するかが不明で、開発中であってもこれらの情報把握は大切です。新情報が、課題解決の決め手になる可能性もあるからです。各ベンダーもこの最新情報提供のために便利機能を提供中です。

今回は、 STマイクロエレクトロニクス(以下STM)に追加された更新情報メール通知機能と、更新情報量が多い時に効率的に差分を検出するツール:DiffPDFを紹介します。

STM最新MCUと更新情報のメール通知機能

STMは、STM32マイコンマンスリー・アップデートを配布中です。月一回、MCU最新情報や資料の更新情報へ簡単にアクセスできます。ただし、マンスリー・アップデートは、全てのSTM32MCU更新情報を集約した言わばポータルサイトです。自分が開発中のMCU情報を含む場合もありますし、そうでない場合もあります。開発スケジュールが押し迫ると、当該重要情報や更新を見落とす事があるかもしれません。

そこで、自分の開発関連情報のみをピックアップし、コンテンツ更新時は毎週木曜日にメール通知する機能がSTMサイトに追加されました。設定方法を、STM32MCUコード生成ツール:STM32CubeMXのユーザマニュアル:UM1718を例に紹介します。

UM1718をお気に入りに登録
UM1718をお気に入りに登録する方法

STMサイトにアクセスし、UM1718で検索すると、右上に「お気に入りに登録>」ボタンが現れます。これをクリックし、「更新情報メールを受け取りますか?」に「はい」を選択するだけです。UM1718以外でも同様です。

更新情報がほしいページの「お気に入りに登録>」クリックで、マイページのお気に入り一覧に追加され、更新発生の木曜に一括してメール通知されます。削除も簡単です。

マイページのお気に入り一覧
マイページのお気に入り一覧、削除も簡単

マンスリー・アップデートよりも早く、しかも、自分の開発必須情報に絞った更新通知メールなので、更新イベントの見落とがなく便利です。

効率的に更新情報量をさばく

更新通知を受け取った後は、どこが変わったかを素早く把握したいものです。新しいSTM32CubeMX version 5のユーザマニュアル:UM1718 Rev 27全327ページを例に、更新箇所特定ツールDiffPDFを紹介します。

STM32CubeMXは、MCU処理スケルトンと周辺回路初期化処理Cソースを生成するツールです。周辺回路の設定はGUIで行い、STM32MCU開発の最初の一歩を踏み出す時に使います。2018年末、このSTM32CubeMXがversion5に更新されました。

STM32CubeMX v5は、v4にマルチパネルGUIを加えパラメタ設定をより容易に、さらに、MCU性能評価やシミュレーション機能なども追加されました。このSTM32CubeMXのユーザマニュアルがUM1718です。

既にSTM32CubeMXを使いこなしている方にとって、Rev 27の327ページは分量が多すぎます(初めてSTM32MCUを使う方は、UM1718を読むことをお勧めします。日本語版もありますが最新版和訳ではないことに注意してください)。このように改版資料の情報量が多い時は、DiffPDFが便利です。

2PDF資料を⽐較するDiffpdf Portable

Diffpdf Portableは、2つのPDF資料を比較し差分を明示するWindows 8.1用のツールで、Windows 10でも動作します。UM1718 Rev27とRev 25をCharactersで比較した例が下記です。

DiffPDF新旧UM1718比較結果
DiffPDFで新旧UM1718を比較した結果

マルチパネルGUI によりSTM32CubeMXのuser interfaceが大きく変わったことが一目で解ります。
※効率的に更新箇所、差分を見つけることに焦点を置きましたので、新しいSTM32CubeMX version 5の説明は、後日改めて行う予定です。

DiffPDFを使えば、どこが変わったかを素早く見つけられるので、ハイライト箇所のみを読めば短時間で内容把握ができます。その結果、更新内容が、現状課題の解決に役立つか否かの判断も早くできます。

まとめ

忙しいプロジェクト開発中であっても、MCU最新情報や開発ツール更新イベントは発生します。

STMサイトに追加されたお気に入り登録を使えば、自分の開発に必要情報の更新時のみ木曜メールで通知されるので、プロジェクト関連情報の変更イベントを見落としなく把握できます。

さらにDiffPDFを使えば、更新情報量が多くても、どこが変わったかが簡単に見つけられるので、更新内容がプロジェクトの課題解決に役立つか否かの判断が早くできます。

STM32マイコン マンスリー・アップデート

STマイクロエレクトロニクス(以下STM)の「日本語マイコン関連情報」、STM32マイコン マンスリー・アップデートを紹介します。

STM32マイコン マンスリー・アップデート
STM32マイコン マンスリー・アップデート。2018年バックナンバーも示す(出典:STマイクロエレクトロニクス)。

無料の登録制です。

  1. MCU最新トピックス(コラム、半ページ技術解説含む)
  2. MCU資料:更新/新規追加の一覧
  3. 開発環境(IDE)更新情報、日本語資料(トレーニング資料含む)

その他、開発に役立つ情報が、丁寧に整理されています。

特に、1最後の”今月のコラムと技術解説”は、A4:1ページに纏まっていて、チョットした空き時間に目を通しておくと、後々役立つ情報になると思います。

また、2と3のMCU資料更新や新規追加、IDE更新情報は、リンク一覧で当該場所が判る優れたハイパーテキストです。

STM32開発者以外のARM Cortex-M開発者にも有用

STM32開発者に限らずARM Cortex-M開発者なら一読の価値がある月刊誌でお勧めです。