【Makecode Arcade】自作本体のファームウェア作り方&インストールし方

2022年2月11日

Makecode ArcadeはWEB上で簡単にゲームが作れてしまう仕組みです。Makecode Arcadeは作ったゲームを遊べる携帯端末の作り方まで用意されているので、任天堂ゲームボーイのような(今でいうとスイッチのような)端末が自作できます。

以前このブログでは私の作ったMakecode Arcadeを紹介しました。

この時は細かく説明しませんでしたが、今回はこの装置を作る過程でCPUボードに書き込むファームウェアの作り方とインストールの仕方を紹介します。

(作ったゲームのインストール方法ではないので注意してください)

ファームウェアを用意する

ファームウェアを自分でコンパイルする

ファームウェアを自分でコンパイルするにはコンパイルできるコンピュータが必要です。私はDebian Linux 9を使いました。(最終的にコンパイルできなかったのでUbuntuのほうが良いかも?)

事前にコンパイラをインストールしておきます。私のLinuxではgcc-arm-none-eabiだけインストールすれば必要なものが全部入りました。

# apt update
# apt install gcc-arm-none-eabi

環境によりますが、Gitコマンドが必要ですので、これもインストールしておきます。Gitをインストールした後に初期設定をしておきます。

# apt install git

$ git config --global user.name "First-name Family-name"
$ git config --global user.email "username@example.com" 
$ git init

WindowsでコンパイルできないかとWindows Subsystem for Linuxで試してみましたが、コンパイルの途中でWidnowsの改行コードを認識できずエラーが連発しました。頑張れば修正できるかもしれませんが、あきらめました。

そのうち再挑戦してみます。

ファームウェアのソースコードはGithubに公開されています。私は以下のバージョンを参考にしました。

このページの緑色の「code」ボタンを押すとプルダウンの一番下に「Download ZIP」がありますのでZIPファイルがダウンロードできます。

ダウンロードしたZIPファイルを解凍するとソースコードが入ったuf2-stm32-mastarフォルダができますのでそのフォルダに移動して「make」とコマンドを入力するだけでファームウェアがコンパイルされます。

uf2-stm32-mastarフォルダ中のREADMEにも「makeするだけ」と書いてありますが、私の環境だとlibopencm3のコンパイルでエラーが出ます。

確認してみたらlibopencm3のフォルダがカラでした、ダウンロード元のQ&Aではlibopencm3はコンパイル中に自動でダウンロードするからOKのように書いてあるのですが、私のは動いていないみたいです。

わかる人いたら教えてください。

ファームウェアをもらってくる

何も自らコンパイルせずとも先人の偉業に頼れば問題なしです。ファームウェアの実行ファイルは廣尾コンパイラさんのNOTEページでダウンロード可能です。

(半分からすこし下のあたり)

私のハードウェアはこの設定を参考にして作りましたので、廣尾さんのファームウェアがそのまま使えます。

ファームウェアをインストールする

ファームウェアはUSBケーブル経由でもインストールができるのですが、多くの場合に不具合が出るようなので、STM32用のライター”ST-LINK-V2″をおすすめします。

ST-LINK V2はAmazonに1200円くらいで売っているます。Aliexpressなら激安で送料込み300円くらいです。やるぞと決めたときに発注しておけば、必要な時期に届くんではないでしょうか。

この激安ST-LINK V2はSTMicroelectoronics社のST-LINK互換機なんですが、STMicroのドライバでもちゃんと動きます。

ファームウェアの書き込みにはWindows PCを使います。Widnow PCに STMicroの”STM32CubeProgrammer”をインストールします。

次にST-LinkV2を経由してCPUボードとPC接続します。