GIMONS DEVELOPER WORKS/FDX68

V2基板ファームウェア更新手順

告知

V2基板ファームウェア(20230625)の変更はGP1.hex,GP2.hex,GP3.hex,GP4.hex,GP5.hex全てです。
必ずすべてのファームウェアを更新してください。

ファームウェアのダウンロード

V2基板ファームウェア(20230625)のダウンロード(TAR.GZ形式)

更新手順

I2Cの有効化

V2基板にはSLG46826GもしくはSLG46824G(以下GreenPAKと呼びます)が5つ実装されておりそれぞれファームウェアを書き込む必要があります。
ファームウェアの書き込みにはRaspberryPiから各GreenPAKにI2Cで通信を行う必要があります。

従って、まずRaspberryPiでI2Cが使用できるように設定を行います。

コンフィグレーションツールの起動
sudo raspi-config

"Interface Options"を選択

"I2C"を選択

"YES"を選択

以上でI2Cが利用できるようになります。

テストワイヤの準備

I2Cはクロック(SCL)とデータ信号(SDA)の2本の信号線を用いて通信する方式です。

クロック(SCL)はRaspberryPiのSCLと全てのGreenPAKで共通ですので基板上で配線しています。

データ信号(SDA)は基板上で配線せずファームウェアを書き込む対象のGreenPAKに都度配線 する必要があります。その為にテストワイヤが必要です。

秋月電子やサンハヤトの物が手に入り易いと思います。両方オスで両方バネタイプを調達してください。

テストワイヤによるファームウェア書き込み準備

横一列に並んだGreenPAKにはそれぞれ右から順にGP1からGP5という名前をつけています。
それぞれのGreenPAKのSDA端子は右上にスルーホールで引き出してあります。

基板右下にはRaspberryPiのSDA端子のスルーホールがあります。

RaspberryPiのSDA端子は共通です。
ファームウェアを更新する個々のGreenPAKのSDA端子をテストワイヤで接続して作業を行います。

例えば一番右のGP1のファームウェアを書き込むときには次のように接続します。

ファームウェアと更新ツールの準備

このページの一番上にあるリンクから最新のファームウェアと更新ツールをダウンロードしてください。

そのモジュールをRaspberry Pi上で展開すれば以下のファイルが入手できます。

-rw-r--r-- 1 pi pi   715 May 25 16:27 GP1.hex
-rw-r--r-- 1 pi pi   715 May 25 16:27 GP2.hex
-rw-r--r-- 1 pi pi   715 May 25 16:27 GP3.hex
-rw-r--r-- 1 pi pi   715 May 25 16:27 GP4.hex
-rw-r--r-- 1 pi pi   715 May 25 16:27 GP5.hex
-rwxr-xr-x 1 pi pi 13696 May 25 16:27 gputil
				

拡張子がhexのファイルがファームウェアです。
GP+連番はそれぞれGreenPAKのGP1~5に該当します。

gputilはファームウェアの更新ツールです。

更新ツールの使用方法(通信確立および現在のファームウェアの参照)

ファームウェアのアーカイブに含まれるgputilの使用方法を説明します。

引数無しで起動すると簡単なヘルプが出力されます。

pi@raspberrypi:~/v2firm_20230525 $ ./gputil
GreenPAK configuration utility
Copyright (C) 2021-2022 GIMONS

Usage: ./gputil [-t TYPE] [-w FILE] [-c CODE]
 -t is config type, TYPE is {reg|nvm|eeprom}.
 -w is write operation, FILE is configration file path..
 -c control code, CODE is {0..f}. Default is 1.
				

テストワイヤでSDA端子間が接続されていることを確認しIC内のファームウェアを参照します。
引数に"-t nvm"を指定してください。

pi@raspberrypi:~/v2firm_20230525 $ ./gputil -t nvm
				

GreenPAKとの通信に成功すれば以下のように出力されます。

pi@raspberrypi:~/v2firm_20230525 $ ./gputil -t nvm
GreenPAK configuration utility
Copyright (C) 2021-2022 GIMONS

Chip configration data.
---------------------------------------
Page |  0 1 2 3 4 5 6 7 8 9 A B C D E F
-----+---------------------------------
0x00 | 0d03000de3040000a48ba32a8e404003
0x01 | 01010000000000000000004058b5a2e5
0x02 | 1a850300880011034434000000000000
0x03 | 000000000000e4433a2335fd00306e00
0x04 | 00000000000000000000000000000000
0x05 | 00000000000000000000000000000000
0x06 | 00000000000008080000808c0c000000
0x07 | 70700000000000000000000000000000
0x08 | 00031300001422300c00000000000000
0x09 | 41020000004f4f202000001000000000
0x0A | 0000002000010000000201a0800608cf
0x0B | 248006ce313550000e0200500ba17000
0x0C | 04011a70000001000000010100000000
0x0D | 00000000000000000000000000000000
0x0E | 00000000000000000000000000000000
0x0F | 3f120e24242110101000b800000000a5
				

これが現在のファームウェアです。
何らかのデータが表示されているならば SLG46826Gと正しく通信ができておりファームウェアの更新が可能です。

もし以下のように全て0で表示されたなら接続もしくは通信に失敗しています。

pi@raspberrypi:~/v2firm_20230525 $ ./gputil -t nvm
GreenPAK configuration utility
Copyright (C) 2021-2022 GIMONS

Chip configration data.
---------------------------------------
Page |  0 1 2 3 4 5 6 7 8 9 A B C D E F
-----+---------------------------------
0x00 | 00000000000000000000000000000000
0x01 | 00000000000000000000000000000000
0x02 | 00000000000000000000000000000000
0x03 | 00000000000000000000000000000000
0x04 | 00000000000000000000000000000000
0x05 | 00000000000000000000000000000000
0x06 | 00000000000000000000000000000000
0x07 | 00000000000000000000000000000000
0x08 | 00000000000000000000000000000000
0x09 | 00000000000000000000000000000000
0x0A | 00000000000000000000000000000000
0x0B | 00000000000000000000000000000000
0x0C | 00000000000000000000000000000000
0x0D | 00000000000000000000000000000000
0x0E | 00000000000000000000000000000000
0x0F | 00000000000000000000000000000000
				

この状態ではファームウェアの更新はできません。I2Cの設定及び接続を確認してください。

更新ツールの使用方法(ファームウェアの更新)

まず引数に"-t nvm"を指定してGreenPAKと正しく通信が出来ていることを確認した後に更新します。

pi@raspberrypi:~/v2firm_20230525 $ ./gputil -t nvm
GreenPAK configuration utility
Copyright (C) 2021-2022 GIMONS

Chip configration data.
---------------------------------------
Page |  0 1 2 3 4 5 6 7 8 9 A B C D E F
-----+---------------------------------
0x00 | 0d03000de3040000a48ba32a8e404003
0x01 | 01010000000000000000004058b5a2e5
0x02 | 1a850300880011034434000000000000
0x03 | 000000000000e4433a2335fd00306e00
0x04 | 00000000000000000000000000000000
0x05 | 00000000000000000000000000000000
0x06 | 00000000000008080000808c0c000000
0x07 | 70700000000000000000000000000000
0x08 | 00031300001422300c00000000000000
0x09 | 41020000004f4f202000001000000000
0x0A | 0000002000010000000201a0800608cf
0x0B | 248006ce313550000e0200500ba17000
0x0C | 04011a70000001000000010100000000
0x0D | 00000000000000000000000000000000
0x0E | 00000000000000000000000000000000
0x0F | 3f120e24242110101000b800000000a5
				

正しく通信できていますので更新作業に入ります。

ファームウェアの更新には"-t nvm -w ファームウェアファイル名"という引数を使用します。
以下の'?'には1~5の該当する番号が入ります。

pi@raspberrypi:~/v2firm_20230525 $ ./gputil -t nvm -w GP?.hex
				

以下、GP1にGP1.hexを書き込んだ時のログです。

pi@raspberrypi:~/v2firm_20230525 $ ./gputil -t nvm -w GP1.hex
GreenPAK configuration utility
Copyright (C) 2021-2022 GIMONS

Configration file.
---------------------------------------
Page |  0 1 2 3 4 5 6 7 8 9 A B C D E F
-----+---------------------------------
0x00 | 0d03000de3040000a48ba32a8e404003
0x01 | 01010000000000000000004058b5a2e5
0x02 | 1a850300880011034434000000000000
0x03 | 000000000000e4433a2335fd00306e00
0x04 | 00000000000000000000000000000000
0x05 | 00000000000000000000000000000000
0x06 | 00000000000008080000808c0c000000
0x07 | 70700000000000000000000000000000
0x08 | 00031300001422300c00000000000000
0x09 | 41020000004f4f202000001000000000
0x0A | 0000002000010000000201a0800608cf
0x0B | 248006ce313550000e0200500ba17000
0x0C | 04011a70000001000000010100000000
0x0D | 00000000000000000000000000000000
0x0E | 00000000000000000000000000000000
0x0F | 000000000000000000000000000000a5

Erase chip configration.
---------------------------------------
Page 0x00 : complete
Page 0x01 : complete
Page 0x02 : complete
Page 0x03 : complete
Page 0x04 : complete
Page 0x05 : complete
Page 0x06 : complete
Page 0x07 : complete
Page 0x08 : complete
Page 0x09 : complete
Page 0x0A : complete
Page 0x0B : complete
Page 0x0C : complete
Page 0x0D : complete
Page 0x0E : complete
Page 0x0F : complete

Write configration data.
---------------------------------------
Addr 0x02
Page 0x00 : complete
Page 0x01 : complete
Page 0x02 : complete
Page 0x03 : complete
Page 0x04 : complete
Page 0x05 : complete
Page 0x06 : complete
Page 0x07 : complete
Page 0x08 : complete
Page 0x09 : complete
Page 0x0A : complete
Page 0x0B : complete
Page 0x0C : complete
Page 0x0D : complete
Page 0x0E : complete
Page 0x0F : complete

Chip configration data.
---------------------------------------
Page |  0 1 2 3 4 5 6 7 8 9 A B C D E F
-----+---------------------------------
0x00 | 0d03000de3040000a48ba32a8e404003
0x01 | 01010000000000000000004058b5a2e5
0x02 | 1a850300880011034434000000000000
0x03 | 000000000000e4433a2335fd00306e00
0x04 | 00000000000000000000000000000000
0x05 | 00000000000000000000000000000000
0x06 | 00000000000008080000808c0c000000
0x07 | 70700000000000000000000000000000
0x08 | 00031300001422300c00000000000000
0x09 | 41020000004f4f202000001000000000
0x0A | 0000002000010000000201a0800608cf
0x0B | 248006ce313550000e0200500ba17000
0x0C | 04011a70000001000000010100000000
0x0D | 00000000000000000000000000000000
0x0E | 00000000000000000000000000000000
0x0F | 3f120e24242110101000b800000000a5
				

これでファームウェアの書き込みが完了しました。

この操作をGP1からGP5まで繰り返せば全てのファームウェアの更新作業が完了です。



[EOF]