この記事は 本郷学園マイコン部 Advent Calendar 2023 15日目の記事です。
やったこと
文化祭後の代休に秋月電子通商に赴き、その場で一目惚れして(?)購入した32ビットRISC-VマイコンCH32V003J4M6でLチカをしました。
用意したもの
- PC
- CH32V003J4M6
- WCH-LinkEエミュレータ
- SOP8->DIP変換基板
- 細ピンヘッダ
- LED、炭素被膜抵抗330Ω
- ブレッドボード、線材
- 忍耐力
環境構築
ドライバのインストール
https://www.wch-ic.com/products/WCH-Link.html からWCH-LinkUtility.ZIP
をダウンロードして展開します。直下のWCH-Linkutility.exe
の初回起動時にデバイスドライバを含むなんか色々なモノが入ります。
PCのUSBポートにWCH-LinkEエミュレータを挿入し、画面上部Connect WCH-Link (Alt+F2)
ボタンを押すとWCH-LinkEが認識され、その状態が確認できるようになります。購入時の状態ではARM用となっているため、これをRISC-V用に変更する必要があります。画面下部Active WCH-Link Mode:
のプルダウンでWCH-LinkRV
を選択し、横のSet
ボタンを押下すると設定が変更され、エミュレータ胴部の青ランプが消えます。
画面上部Query Chip info (Alt+F3)
ボタンを押すと、エミュレータに接続されているチップのUIDやフラッシュメモリサイズなどの情報を取得できるようです。
Arduino IDEにWCHのマイコン用環境を追加
Preferences
->Additional Board Manager
に https://github.com/openwch/board_manager_files/raw/main/package_ch32v_index.json を追加します。
ボードマネージャーでch32
と検索、出てきたものをインストールします。
回路を組む
マイコンをDIP変換基板に実装します。ブリッジしても気にせず半田を流し込み、後から吸い取り線で過剰分を除去するという方法をとりました。
ピンヘッダの実装はブレッドボードに刺して行いました。もたつくとブレッドボードが溶けるという噂を聞いていましたが、特に何も起こらず無事に乗り切ることができました。
エミュレータからジャンパワイヤで引き出した3V3
、GND
、SWDIO
の3本を、マイコン本体のピンアサインに従って配線しました。
1番ピンにLEDと抵抗を接続し、マイコンの出力によってLEDが光るようにしました。
プログラム書き込み&動作確認
以下のLチカスケッチを記述し、Arduinoに書き込む場合と同様に検証を行った上でコンパイル&書き込みを行います。
void setup() {
pinMode(PD6, OUTPUT);
}
void loop() {
digitalWrite(PD6, HIGH);
delay(100);
digitalWrite(PD6, LOW);
delay(100);
}
書き込みが完了するとプログラムの実行が開始され、無事にLEDが点滅してくれました。
おわりに
3年ほど前に5kJPY程度だったPICkit4が15kJPYになってしまうような理不尽な半導体不足の中で、非常に安価に提供されているこのマイコンの恩恵にぜひとも与っていきたいです。
明日は @miyajimaTKK さんの AIを使って脳死でアプリを作ろう です。