STM32F303K8を弄ってみるSW4STM32からSTM32F303K8向けにプログラムをビルドしてみた話。STM32F303K8mbedライブラリが使えてそこそこ安く、結構高性能なMCUが載った評価ボード。これ一台にプログラマー(プログラミングする人の方じゃないですよ)とデバッガーが搭載されている。ちなみに秋月とかスイッチサイエンスで1600円ぐらいで買えるのでお手軽だ。STM32)eclipseのプラグインとして動作するSTM32専用IDE。uVision5評価版と違いコンパイルするプログラムの容量に制限はなく、全機能を無償で使用できる。IDE(LPCXpressoの後継)あたりのIDEを使うと良いと思う。CoIDEというのもあるらしいが、STM32F303K8に対応してないのか上手く動かなかったので試していない。SW4STM32を使ってみる公式HPに載っている通り、ARM用のGCCコンパイラとeclipseを用意して、eclipseの方にSW4STM32のプラグインを入れてやることで使えるようになる。CLIを使ってプロジェクトの作成から、SW4STM32用のプロジェクトの生成まで行う。github.com今回はWindows上にPython環境を構築するのが面倒だったので(2.x系列のものでしかmbed-cliは動かない上にメインではPython3を使っている為)、WSL上にpyenv環境を構築した。mbed-cliこれで使えるようになるはず。tools...これで最低限必要なライブラリ類が展開された状態になる。hgオプションを付けてgitではなくmercurialでソース管理をするプロジェクトを作成する必要がある。生成されたディレクトリに移動してSW4STM32用のプロジェクトを生成すればあとはもうeclipseからインポートするだけで使えるようになるのでお手軽だ。ちなみに生成は以下のコマンドから出来る。mbedディレクトリ内を見れば分かるが、どう考えても使わないtargetも一緒に展開されるので必要のないものは消したほうが良いかもしれない。cli共にSW4STM32向けのエクスポーターにバグを抱えてるので(もう直ってるかもしれませんが)、間違ったビルド設定を手動で直す必要がある。Explorerからプロジェクトの右クリックからプロパティを選んで、プロジェクトの設定画面を出して不足しているヘッダーファイル(mbed_config.h)を追加する。ABIの設定が間違っているとビルドが通ってもちゃんと動かないのでここも確認する。ミリオンライブ!の一部キャラの絵をAliexpressで入手したOLED液晶に出力するプログラムを書いてみた。OLEDとかで検索すると出てくるSSD1306搭載の液晶です。SSD1306搭載なら流用できるハズ...ちなみに、mbed用のライブラリはリセットピンが実装されていることを前提に作られていたのでリセットピンが無いものでも使えるように一部改造を施してある。(リセットピンがないので、時々プログラムが上手く動かないことがある。一回電源を落としてやると直ることもあったりするので、初期化時に液晶の電源を落としてリセットをかける回路を組む必要があるかも....?)※プログラムの実行(STM32への転送)とデバッグは普通にJavaのプログラムを実行する時と同じくRunボタンとDebugボタンから出来る。あとがき(おまけ)よくあるmbed用のI2Cアドレス検索プログラムが上手く動いてくれなかったので、STM32でもちゃんと動く(はず)プログラムを書いてみました。Gen8のファンの回転数制御の謎C#でもDangerしたかったので、出来るようにした話はてなブログをはじめよう!kazuki09さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。