Raspberry piで赤外線リモコン制御しようと思いましたが、どうもオーディオ系と相性が悪いようでRaspberry pi単独で実現するのは諦めました。リモコンコード送信専用としてワンチップマイコンを使うことにします。
私がワンチップマイコンを選定する条件として大切なのは、macOSで開発できるということです。STのSTM32はmacOSでも開発できる環境があります。AC6のsw4stm32です。SystemWorkbenchという名前で紹介されていますね。これがリリースされる前に、このブログでもEclipseを使ったIDE環境を紹介していましたが、正式にmacOSもサポートされ開発環境の導入のハードルが下がったと思います。
ワンチップマイコンは、CPUこそ最近ではARMが主流になってきていますが、いまだに8051系も根強いですね。マイコンを変えると、クロック、タイマー、GPIOなどペリフェラル設定を行い、ようやく開発スタートできる状態になるまでに、時間をかけドキュメントを読んで理解する必要があります。新しいデバイスを使うのは結構大変です。開発でマイコンを変更するとなるともう宗教替えレベルの大変さです。
この状況を改善するためにSTは STM32CubeMXというツールを提供してくれています。いわば経典/バイブルのようなものですかね。いいえ、もっと具体的なものですね。
これを使えば、クロック設定、タイマー設定、ペリフェラル設定までGUIでできてしまう強者です。HAL(Hardware Abstruct Layer)というらしく、ペリフェラル制御が抽象化されています。ちょっと回りくどい感じがしますが、そこは、必要な時は直接レジスタを叩く、ということで…
さて、前置きが長くなってしまいましたが、STM32CubeMXをmacOS High Sierraにインストールした時にハマったことと解消方法をご紹介します。
まず、STのサイトからアーカイブをDLするのですが、MacではDLした時点でZIP解凍されていてダブルクリックしてもこのファイルは壊れていますと云われインストールできません。別のOSでDLすれば大丈夫でした。私はSSHで接続したRaspberry piでDLし、sambaでファイル共有してインストールしました。
しかし!インストールはできたものの、「アプリケーション”STM32CubeMX”は、破損しているか不完全である可能性があるため開けません」と表示され起動することができません…
でも、ターミナルからコマンドで直接起動することができました。
私の場合は、ユーザディレクトリのAplicationフォルダにインストールしましたので、ターミナルで
1 2 |
cd ~/Applications/STMicroelectronics/STM32CubeMX.app/Contents/MacOs java -jar STM32CubeMx |
とコマンドを実行すると無事起動できました。