ファームウェアのダウンロード
ファームウェアとは
MarsX/PにはアドレスデコードならびにPSRAM制御用にSLG46824G(以下GreenPAKと呼びます)が1つ実装されています。 ファームウェアはこのGreenPAKの制御プログラムです。
このファームウェアは改善のために書き換えが可能になっています。 このアップデートはそのファームウェアを更新して最新化するものです。
RaspberryPiとMarsX/Pの接続
ファームウェアの更新にはRaspberryPiが必要です。
配線中はRaspberryPiの電源は入れてはいけません!
当然ながらRaspberryPiとMarsX/Pを接続する必要があります。 ファームウェアの更新はI2Cという通信方式で行います。 電源、グランド、I2Cの信号線(SCL,SDA)の計4本を接続します。
やり方は色々あると思いますが代表的な3案を示します。
接続方法①(ブレッドボード及びジャンパワイヤ2種使用)
RaspberryPiのGPIOコネクタからジャンパワイヤで信号線を引き出しブレッドボードに中継させ、 さらにMarsX/Pには両端がバネタイプのジャンパワイヤで接続します。
ブレッドボードとブレッドボード用ジャンパワイヤは次の様な物です。 ジャンパワイヤは片方がメス、もう片方がオスの物になります。 ジャンパワイヤは4本必要です。
![]()
ブレッドボードとMarsX/Pのスルーホールを繋ぐジャンパワイヤは次の様な物です。 コネクタがバネ付きになっておりスルーホールに差し込んでも正しく接触するようになっています。 秋月電子等で入手可能ですが片方だけバネ付きの物と、両端バネ付きの物があります。 どちらでも構いませんが両端バネ付きでも問題ありません。 両端バネ付きであれば拙作FDX68のファームウェア更新にも使用できます。
秋月電子やサンハヤトの物が手に入り易いと思います。
これも4本必要です。
![]()
必要な物が揃ったらワイヤリングしていきます。 接続が必要な物はVCC、GND、SCL(I2C)、SDA(I2C)の4つになります。
まずRaspberryPiのピンヘッダーに接続する必要のある個所に下線(オレンジ色)を付けました。 VCC->5V powrt,GND->Groundとなります。 画像にも書いてありますがSCL、SDAはそれぞれGPIO3とGPIO2です。
![]()
RaspberryPiとブレッドボードを接続すると次の様になります(普通のジャンパワイヤ使用)。
![]()
さらにブレッドボードからMarsX/Pに繋いだ状態です(バネ付きジャンパワイヤ使用)。 写真はパイルダータイプですが、ボードタイプ、IOボード寄生タイプでも同じ要領です。
![]()
MarsX/Pには3タイプがありますがそれぞれVCC、GND、SCL、SDAを記載しています。
ボードタイプ
本体からMarsX/Pを取り外して作業してください。
![]()
IOボード寄生タイプ
MarsX/PはIOボードにはんだ付けしているでしょうからIOボードごと取り外して作業してください。
![]()
パイルダータイプ
PilederXのベースボードからMarsX/Pを取り外して作業してください。
![]()
接続方法②(FDX68のシールドと両端バネ付きジャンパワイヤを使用)
FDX68のシールドにもVCC、GND、SCL、SDA用のスルーホールがあります。 この場合はスルーホール用のジャンパワイヤのみで接続することが可能です。 FDX68のシールドの右下にVCC、GND、SCL、SDAを記載していますのでここと接続します。
![]()
両端バネ付きのジャンパワイヤのみで接続が可能です。
![]()
接続方法③(普通のジャンパワイヤしか無い場合の簡易手段)
お勧めしませんが結局のところVCC、GND、SCL、SDAが接触不良無く接続できれば良いだけですので、 MarsX/Pのスルーホールに普通のジャンパワイヤを差し込み(当然ユルユルです)、 テープで斜めに固定して無理やり接触させます。
大人の約束としてお勧めしませんからね(笑)。
![]()
ファームウェア更新手順(RaspberryPi OS上での作業です)
前提条件
RaspberryPiとMarsX/Pの配線が正しいことを確認してから行ってください。
SSH等でターミナル操作及びファイル転送が出来る状態にセットアップしたRaspberryPi本体とRaspberryPi OSが必要になります。
gputilが32ビット版ですのでRaspberryPi OSも32ビット版を用意してください。
RaspberryPi5は使用できません(64ビット版OSしかインストールできないため)。
I2Cの有効化
RaspberryPiでI2Cが使用できるように設定を行います。
"Interface Options"を選択
![]()
"I2C"を選択
![]()
"YES"を選択
![]()
以上でI2Cが利用できるようになります。
ファームウェアと更新ツールの準備
このページの一番上にあるリンクから最新のファームウェアと更新ツールをダウンロードしてください。
ダウンロードしたアーカイブはSCP等でRaspberry Piに転送してください。
そのモジュールをRaspberry Pi上で展開すれば以下のファイルが入手できます。 展開はRaspberryPi上で行ってください(例:tar -xvf marsxp_fw_20250629.tar.gz)。
ダウンロードしたアーカイブをWindows上等で解凍して転送しないでください。 gputilの実行属性が外れて実行できなくなります(chmodで対応できますが・・・)。
拡張子がhexのファイルがファームウェアです。
gputilはファームウェアの更新ツールです。
更新ツールの使用方法(通信確立および現在のファームウェアの参照)
ファームウェアのアーカイブに含まれるgputilの使用方法を説明します。 ホームディレクトリ上のmarsxp_fw_20250629フォルダにて作業する例です。
引数無しで起動すると簡単なヘルプが出力されます。
テストワイヤでSDA端子間が接続されていることを確認しIC内のファームウェアを参照します。 引数に"-t nvm"を指定してください。
GreenPAKとの通信に成功すれば以下のように出力されます。
これが現在のファームウェアです。 何らかのデータが表示されているならば GreenPAKと正しく通信ができておりファームウェアの更新が可能です。
もし以下のように全て0で表示されたなら接続もしくは通信に失敗しています。
この状態ではファームウェアの更新はできません。I2Cの設定及び接続を確認してください。
更新ツールの使用方法(ファームウェアの更新)
まず引数に"-t nvm"を指定してGreenPAKと正しく通信が出来ていることを確認した後に更新します。
正しく通信できていますので更新作業に入ります。
ファームウェアの更新には"-t nvm -w ファームウェアファイル名"という引数を使用します。
以下、ファームウェアを書き込んだ時のログです。
これでファームウェアの書き込みが完了しました。