CH32V003スタンドアロンブートローダ更新ツール
montemonteが実装してくれた、rv003usbがブートローダとなっているch32v003のブートローダそのものをアップデートできるスタンドアロンツール(当たり前だけどWCH-LinkEはいらない) 【概要】
指定したブートローダバイナリをブートROMへ書き込むユーザプログラムをビルドしてくれる環境
【操作イメージ】
ブートROMへ書き込みたいブートローダバイナリを指定してユーザプログラムをビルド(これがアップデートしてくれる)
ビルドしたブートROM書き込みユーザプログラムをCH32V003のユーザROMへ書き込みする
選択肢1 USBやUARTでユーザROMへ書き込めるブートローダ未搭載なら -> WCH-LinkEで
選択肢2 USBやUARTでユーザROMへ書き込めるブートローダ搭載なら -> USB or UARTで
CH32V003を電源OFF->ONしてユーザプログラムを起動し、ブートROMに書き込む
選択肢1 起動後にターミナルからブートROM書き込みを明示的に指示したいなら、
WCH-LinkEターミナル -> 安定して動作する
rv003usbターミナル -> montemonte環境だと安定動作、Yuuki Umeta.icon環境+UIAPduinoだと不安定(原因調査中) 選択肢2 起動したら勝手にブートROM更新されて完了(10s or LED光るまで待つ)(実装中)
【動作検証状況】-> PoC済み
UIAPduinoでも動作したが不安定 → montemonteにUIAPduinoをプレゼントしたので届いたら調べてくれるとのこと(おんぶにだっこ・・・)
▼以下雑記
【以下 ブラウザ書き込みツール記事から転記】
このブラウザツールの展望としては、ブートローダのアップデートがブラウザからお手軽にできたらいいなぁという感じ → あっさりできた
rv003usbがどんどん良くなっているからブートローダバージョンをアップデートしたい
でも販売品の場合は、同一ハードでブートローダが違うってのはあまり良くない
あるタイミングでアップデートするとしても通販在庫が古いブートローダだと、購入者目線では、いわゆる「ハズレ個体」になってしまう
これを解消するためにUIAPduinoでは永久保証として古いブートローダ品は希望者だけ焼き直す無償サービスをしようと思ってたけど、ぶっちゃけ大変・・・
ブラウザでブートローダをアップデートできたら最高!!!
montemonteが実装してくれた~Yuuki Umeta.icon
ユーザプログラムでブート領域にフラッシュできるようにしてくれた(ほにゃがしロック解除?って言ってた気がする)
上書きしたい新ブートローダを入れたユーザプログラムをつくる(このブラウザツールでできる?) → ブラウザツールとは別のリポジトリ
旧ブートローダでこのユーザプログラムを書き込んで、ブート領域へ新ブートローダを上書き
2024/12/15 更新 Yuuki Umeta.icon