STM32CubeIDEでコード生成してコンパイルできなくなった時の回避方法
こんにちはCX事業本部のさかじです。 普段はSTM32CubeIDEを使用しています。STM32CubeIDEに同梱されているSTM32CubeMXはVersion: 5.x.xと新しいものです。 若干古い環境のペリフェラルのコンフィギュレーションを変更する場合にはそのまま変更できませんでした。状況、回避方法をまとめました。
環境
- MacBook Pro(macOS Mojave 10.14.6)
- STM32CubeIDE V1.0.2
- STM32CubeMx V4.27.0
前提条件
STM32CubeIDE(V1.0.2)に同梱されているSTM32CubeMX
- V: 5.3.0
使用したいプロジェクトが生成されたSTM32CubeMXのバージョン
- V 4.27.0
STM32CubeIDEは2019年4月に公開されたIDEです。
旧バージョンのプロジェクトを開いて、STM32CubeIDEでコンパイルは可能です。しかしペリフェラルを変更するためSTM32CubeIDE同梱のSTM32CubeMXを起動して、設定変更、保存、コード生成してしまうと使用しているライブラリによってはコンパイルエラーが発生します。
これはSTM32CubeMX V4.x.xからV5.x.xのバージョンアップに伴ってライブラリが大幅に変更されたためです。
最新版にアップデートするのが理想ですが、今回は旧STM32CubeMXでし直すことで回避します。
STM32CubeMXのインストール
- STM32CubuMXをダウンロード
欲しいバージョンをダウンロード
https://www.st.com/ja/development-tools/stm32cubemx.html#get-software -
zipを解凍
-
属性を変更
$ cd ファイルを解凍したフォルダ $ xattr -c SetupSTM32CubeMX-4.27.0.app/
-
パッケージを起動
-
Nextをクリック
-
"I accept the terms of this license agreement."をチェックして"Next”をクリック
-
インストールしたいフォルダを選択して"Next"をクリック
-
"OK"をクリック
-
インストールが開始され、終了するとインストラーが終了する
アンインストール
- アプリケーションから"STMicroelectronics"をダブルクリック
- "STM32CubeMx"をクリックして"パッケージの内容を表示"をクリック
-
"Contents" - "Resources" - "Uninstaller"とフォルダを移動し"uninstaller.jar"をダブルクリックして起動する
-
これまでインストールされたファイル類も削除する場合には"Force the delete of xxxx"にチェックして、"Uninstall"をクリック
-
"Yes"をクリック
-
アンインストール終了、"Quit"をクリックして終了させる
参考サイト
最後に
ライブラリのバージョン違いで発生する問題は常に発生します。メジャーバージョンが変更になった場合には注意が必要ですね。今回はライブラリの構造体などがガラリと変わってそのまま使用することが難しかったため、今回の方法で回避しました。どこかで最新バージョンに合わせ込んでい行く必要がありそうです。