追加調査で押さえる実務ポイント
GD32VF103の既存ボードをArduino風の開発環境へ移せるか、または公式SDKへ残すべきかを判断する比較ページです。最初に確認するのは、MCU名ではなく実際のボード型番、搭載品種、回路図、給電方法、書き込み・デバッグ経路です。評価ボードで動くことと、独自基板や量産候補で同じ条件が成立することを分けて判断します。
先に結論
GD32VF103はGigaDeviceのRISC-V MCUです。「Arduino upgrade」はMCUをArduinoへ交換する意味ではなく、Arduino IDEやArduino-compatible coreで開発できるか、既存Arduino sketchを移植できるかを判断する話です。GigaDevice公式製品ページはMCU仕様を提供しますが、Arduino coreの公式サポートを保証するものではありません。
最初に分けるもの
| 項目 | 確認 |
|---|---|
| MCU | GD32VF103の完全な品種 |
| board | Longan Nano等の正確な型番 |
| official SDK | GigaDevice firmware library |
| Arduino core | community projectの対応範囲 |
| upload | DFU、serial、JTAG等 |
| debugger | GD-Link、J-Link等の対応 |
| voltage | board I/O条件 |
| library | AVR/Arm依存codeの有無 |
移植の難易度を決める要素
Arduino APIだけを使う短いGPIO/I2C codeは移しやすい一方、AVR register、PROGMEM、timer、interrupt、USB、architecture-specific libraryは書き換えが必要です。
安全な移行手順
- 現在のofficial SDK sampleを保存。
- board、bootloader、flash mapを記録。
- LED blinkをofficial SDKで再現。
- Arduino coreを別environmentへ導入。
- 同じLEDだけを試す。
- serial、I2C、SPIを一つずつ比較。
- binary size、clock、interruptを記録。
- official SDKへ戻す手順を確認。
判断表
| 条件 | 推奨 |
|---|---|
| 教育・短期prototype | Arduino coreを検証 |
| 量産・vendor support重視 | official SDK中心 |
| 既存Arduino library必須 | architecture依存を調査 |
| debugger必須 | supported probeを優先 |
| coreが長期未更新 | 採用を保留 |
中止条件
- 対応board definitionがない
- upload後に復旧できない
- clock/flash configurationが不明
- peripheral libraryが未実装
- production supportをcommunity coreだけに依存する
切り戻し
official bootloader、flash image、debug probeを用意し、community coreを書き込む前にbackupします。
検証記録として残す項目
最初の成功だけでは、別PC、別個体、別担当者で再現できません。少なくとも次の項目を同じ記録へ残します。
| 項目 | 記録内容 |
|---|---|
| hardware | ボード名、revision、MCU marking、serial |
| firmware | repository、commit、release tag |
| build | compiler、SDK、option、board target |
| programming | probe、boot mode、runner、接続pin |
| power | 給電点、入力電圧、無負荷・動作時電流 |
| observation | UART、USB、LED、logic analyzer |
| result | 成功条件、失敗条件、再現回数 |
| recovery | 戻したfirmwareと手順 |
成果物はsourceだけでなく、ELF、map、binary、configuration、console logを保存します。生成物だけを残すと、後から同じbinaryを作れません。
配線を追加する順序
- 電源とGNDだけを確認する。
- debuggerまたはbootloader経由で書き込む。
- consoleまたはLEDを確認する。
- GPIOを1本だけ追加する。
- I2C/SPI/UART deviceを1個追加する。
- interruptやDMAを追加する。
- sleep、USB、networkなど複雑な機能へ進む。
複数の外付け部品を同時に接続すると、電源、pin mux、software、配線のどれが原因か分からなくなります。
電源と測定
USB給電、外部5V、3.3V rail、debugger給電を同時に接続する前に回路図を確認します。電流計は電源へ直列に接続し、電流rangeのまま並列接続しません。logic analyzerやoscilloscopeのGND clipも回路GNDへ接続し、商用電源や非絶縁回路へ安易に接続しないでください。
受入基準
次のすべてを満たした時点で「first build成立」とします。
- clean workspaceからbuildできる
- 新しい個体へ書き込める
- 電源再投入後も起動する
- 観測結果が3回以上一致する
- debuggerなしでも必要な動作をする
- 書き込み失敗後に復旧できる
- 使用したpinと電圧を説明できる
- error logと回避策を保存した
次に進む判断
最小sampleが成立した後は、peripheralを増やす前に、最終製品で必要なmemory、電流、connector、update方法を一覧化します。評価ボード上の便利な回路へ依存している場合は、独自基板へ移す前にその依存を明示してください。
Arduino移植で確認するAPI
GPIO、delay、serial、I2C、SPI、interrupt、timer、analog、USBを一覧化し、coreが実装する範囲を確認します。Arduino libraryがcompileできても、timer番号、interrupt priority、clock、DMAが異なると実機動作は一致しません。
参考リンク
- https://www.gigadevice.com/product/mcu/risc-v/gd32vf103-series/ - 公式仕様または公式対応資料。
- https://www.gigadevice.com/ - 公式仕様または公式対応資料。
Amazonの検索結果
購入リンクにはアフィリエイトリンクを含む場合があります。仕様・在庫は購入前に販売ページとメーカー公式情報で確認してください。
「GD32VF103 development board」で検索した結果です。個別商品の推薦ではありません。型番・仕様・販売元を販売ページで確認してください。
Amazonで検索