この項では本音源のファームウェアを更新する方法を説明します。
はじめに
本音源は波形生成プロセッサ(Kendryte K210)と周辺制御プロセッサ(RP2040)の二つのマイコンで構成されています。 そのため、本音源のファームウェアを更新するにはそれぞれに適切なファームウェアを書き込む必要があります。
ダウンロードから最新のファームウェアをダウンロードし、次の手順に従ってアップデートを行ってください。
波形生成プロセッサのファームウェア更新方法
モード切り替え
まず、波形生成プロセッサのファームウェアを更新するためにモードを切り替えます。
警告
モードの切り替えは必ずUSBケーブルを抜いた状態で行ってください!
モードの切り替えスイッチは内部でUSBのバススイッチの制御に使用しておりスイッチを操作することで物理的に経路を変更しています。
ケーブルが刺さった状態での変更は予期しない不具合に繋がります!
波形生成プロセッサのファームウェアを書き込むためには画像下のスイッチの位置に合わせます。
裏には▲でポジションを示す記号がありますので参考にしてください。
ここでは2通りの方法を説明します。
-
Ubuntu + kflash
- 作者はこれを使用
-
Windows + kflash_gui
- GUIで書き込みを行う
- 環境によってはうまくいかないため非推奨
いずれも書き込むファームウェアはtg.bin
とします。
Ubuntu + kflash
Python
とpip
をインストールしていない場合はインストールします。
$ sudo apt install python3 python3-pip
$ python3 -v
Python 3.10.12
次に書き込みツールのkflash
をインストールします。
$ sudo pip3 install kflash
Collecting kflash
Downloading kflash-1.1.6-py3-none-any.whl (49 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 49.0/49.0 KB 2.6 MB/s eta 0:00:00
Collecting pyserial>=3.4
Downloading pyserial-3.5-py2.py3-none-any.whl (90 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 90.6/90.6 KB 5.9 MB/s eta 0:00:00
Collecting pyelftools>=0.25
Downloading pyelftools-0.31-py3-none-any.whl (180 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 180.5/180.5 KB 12.9 MB/s eta 0:00:00
Installing collected packages: pyserial, pyelftools, kflash
Successfully installed kflash-1.1.6 pyelftools-0.31 pyserial-3.5
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
$ kflash
usage: kflash [-h] [-p PORT] [-f FLASH] [-b BAUDRATE] [-l BOOTLOADER] [-e] [-k KEY] [-v] [--verbose] [-t] [-n] [-s]
[-B {kd233,dan,bit,bit_mic,goE,goD,maixduino,trainer}] [-S] [-A ADDR] [-L LENGTH] [-i IOMODE]
firmware
kflash: error: the following arguments are required: firmware
場合によってはPATH
を通す必要があるかもしれません。
また、クリーンインストールしたUbuntuではシリアルポートを使用する権限がない場合があるためここで設定を行います。
$ sudo adduser $USER dialout
ユーザー `luna' をグループ `dialout' に追加しています...
ユーザ luna をグループ dialout に追加
完了。
注意
設定後は設定を反映させるために必ずPCを再起動してください。
最後に書き込みを行います。
$ kflash -b 1000000 tg.bin
[INFO] COM Port Auto Detected, Selected /dev/ttyUSB0
[INFO] Default baudrate is 115200 , later it may be changed to the value you set.
[INFO] Trying to Enter the ISP Mode...
.
[INFO] Automatically detected dan/bit/trainer
[INFO] Greeting Message Detected, Start Downloading ISP
Downloading ISP: |==============================================================| 100.0% 10kiB/s
[INFO] Booting From 0x80000000
[INFO] Wait For 0.1 second for ISP to Boot
[INFO] Boot to Flashmode Successfully
[INFO] Selected Baudrate: 1000000
[INFO] Baudrate changed, greeting with ISP again ...
[INFO] Boot to Flashmode Successfully
[INFO] Selected Flash: On-Board
[INFO] Initialization flash Successfully
[INFO] Flash mode: DIO, Dual SPI serial throughput rates reach around 20 Mbps
Programming BIN: |==============================================================| 100.0% 47kiB/s
[INFO] Rebooting...
[INFO] The ISP stub tells us the k210 is rebooting ...
引数の意味は次のとおりです。
引数 | 意味 |
---|---|
-b 1000000 |
ボーレートを1Mbps(=1,000,000bps)に設定 初期値では遅すぎるため変更、1Mbpsが実用上の上限 |
-t |
書き込み後シリアルコンソールを起動 |
tg.bin |
書き込むファームウェア |
起動後のメッセージが表示されたら書き込みは完了です。Ctrl+]
でシリアルコンソールを終了します。
書き込みが完了したら
忘れずにスイッチをUSBケーブルを抜いてからもとの位置に戻してください。
周辺制御プロセッサのファームウェア更新方法
モード切り替え
まず、周辺制御プロセッサのファームウェアを更新するためにモードを切り替えます。
警告
モードの切り替えは必ずUSBケーブルを抜いた状態で行ってください!
モードの切り替えスイッチは内部でUSBのバススイッチの制御に使用しておりスイッチを操作することで物理的に経路を変更しています。
ケーブルが刺さった状態での変更は予期しない不具合に繋がります!
波形生成プロセッサのファームウェアを書き込むためには画像上のスイッチの位置に合わせます。
次に、USBケーブルを次に示す本体右下のBOOTスイッチを押しながら接続してください。
情報
USBケーブル接続時でも、BOOTスイッチを押しっぱなしにしながら隣のRESETボタンを一回押すことによってブートローダモードに入ることができます。
ファームウェアの書き込み
RPI-RP2
という名称のUSBドライブとして認識されるため*.uf2
をコピーします。
コピー完了と同時に自動で接続が解除され再起動します。
これで書き込みは完了です。