STM32CubeMXをMacで使ってみる

それはなに?たべれるの?

食べ物ではない。

まずは結論

STM32CubeMXをLinuxにインストールするという記事5V: Installing STM32CubeMX on Linuxを見つけたのでMacでやってみたらするっと動いたよ、というのが今回の結論。

手順

最初にインストーラを取ってくる。このページの下の方の[Download]ボタンから。

SetupSTM32CubeMX-4.7.1.exe

 ファイル名からわかるように、これはWindowsアプリである。file SetupSTM32CubeMX-4.7.1.exeしても...

SetupSTM32CubeMX-4.7.1.exe: PE32 executable for MS Windows (GUI) Intel 80386 32-bit

...ほらね。

これはインストーラなので、実行することで実際のSTM32CubeMX.exeをどこかにインストールすることができる。インストーラjavaで書かれているがlaunch4jというツールによりexe化されている。STM32CubeMX.exeも同様にjavaで書かれていてlaunch4jでexe化されている。

後追いなので手を抜きます

記事ではインストーラexeをunzipして、マニフェストファイルに書いてあるメインクラス名を調べて、それを実行している。この実行によりインストーラが動作し、任意のディレクトリにSTM32CubeMX.exeやらがインストールされる。
STM32CubeMX.exeもunzipして同じ要領でメインクラス名を調べてjavaに食わせて実行するとSTM32CubeMXが動作することになっている。

知の高速道路を踏み台にしている我々は、この記事から実行に必要なメインクラス名をすでに知っているので、わざわざunzipする必要はない。

java -cp SetupSTM32CubeMX-4.7.1.exe com.izforge.izpack.installer.bootstrap.Installer

...しまった、管理者権限がないよ! 的なメッセージダイアログが出てOKボタンしか押せない。押したらプログラムは終了する。

管理者権限付きで再度実行。

sudo java -cp SetupSTM32CubeMX-4.7.1.exe com.izforge.izpack.installer.bootstrap.Installer 

普通にインストーラが起動されてインストール先をきいてくる。指示に従って/Application/配下っぽいところでもいいし、どこかのディレクトリを指定してもよい。

どこか手元のディレクトリにインストールする場合、ファイルがのオーナがrootになっているのがいやなので後でchownしておいてもよい。

インストール先ディレクトリに移って、STM32CubeMXを起動する。

java -cp STM32CubeMX.exe com.st.microxplorer.maingui.IOConfigurator

ヘルプどおりに、もしくはネットのどこかにある使い方メモをたよりにSTM32CubeMXを使うことができる。

クロックやらピン配やらを思う存分コンフィグして、コード生成を実行することができる。

次は、なんかプログラムをarm-none-eabi-gccでビルドするところから。

さいごに

javaすごい! "Write once, run anywhere"である。