Learning / comparison

GD32VF103: Arduino upgrade path

GD32VF103の既存ボードをArduino風の開発環境へ移せるか、または公式SDKへ残すべきかを判断する比較ページです。最初に確認するのは、MCU名ではなく実際のボード型番、搭載品種、回路図、給電方法、書き込み・デバッグ経路です。評価ボードで動くことと、独自基板や量産候補で同じ条件が成立することを分けて判断します。

対象GD32VF103
用途Arduino upgrade path
Review2026-08-03

追加調査で押さえる実務ポイント

GD32VF103の既存ボードをArduino風の開発環境へ移せるか、または公式SDKへ残すべきかを判断する比較ページです。最初に確認するのは、MCU名ではなく実際のボード型番、搭載品種、回路図、給電方法、書き込み・デバッグ経路です。評価ボードで動くことと、独自基板や量産候補で同じ条件が成立することを分けて判断します。

先に結論

GD32VF103はGigaDeviceのRISC-V MCUです。「Arduino upgrade」はMCUをArduinoへ交換する意味ではなく、Arduino IDEやArduino-compatible coreで開発できるか、既存Arduino sketchを移植できるかを判断する話です。GigaDevice公式製品ページはMCU仕様を提供しますが、Arduino coreの公式サポートを保証するものではありません。

最初に分けるもの

項目確認
MCUGD32VF103の完全な品種
boardLongan Nano等の正確な型番
official SDKGigaDevice firmware library
Arduino corecommunity projectの対応範囲
uploadDFU、serial、JTAG等
debuggerGD-Link、J-Link等の対応
voltageboard I/O条件
libraryAVR/Arm依存codeの有無

移植の難易度を決める要素

Arduino APIだけを使う短いGPIO/I2C codeは移しやすい一方、AVR register、PROGMEM、timer、interrupt、USB、architecture-specific libraryは書き換えが必要です。

安全な移行手順

  1. 現在のofficial SDK sampleを保存。
  2. board、bootloader、flash mapを記録。
  3. LED blinkをofficial SDKで再現。
  4. Arduino coreを別environmentへ導入。
  5. 同じLEDだけを試す。
  6. serial、I2C、SPIを一つずつ比較。
  7. binary size、clock、interruptを記録。
  8. official SDKへ戻す手順を確認。

判断表

条件推奨
教育・短期prototypeArduino 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
firmwarerepository、commit、release tag
buildcompiler、SDK、option、board target
programmingprobe、boot mode、runner、接続pin
power給電点、入力電圧、無負荷・動作時電流
observationUART、USB、LED、logic analyzer
result成功条件、失敗条件、再現回数
recovery戻したfirmwareと手順

成果物はsourceだけでなく、ELF、map、binary、configuration、console logを保存します。生成物だけを残すと、後から同じbinaryを作れません。

配線を追加する順序

  1. 電源とGNDだけを確認する。
  2. debuggerまたはbootloader経由で書き込む。
  3. consoleまたはLEDを確認する。
  4. GPIOを1本だけ追加する。
  5. I2C/SPI/UART deviceを1個追加する。
  6. interruptやDMAを追加する。
  7. 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の検索結果

購入リンクにはアフィリエイトリンクを含む場合があります。仕様・在庫は購入前に販売ページとメーカー公式情報で確認してください。

次に読むとよい記事