引き続き、Longan NanoでLチカにトライしてみます。
PlatformIOのロゴをクリック(①)、Openをクリック(②)、Project Examplesをクリック(③)します。
GD32Vのarduino-blinkをクリックして選択して、Importをクリックします。
サンプルプロジェクトが作成されますので、プロジェクトディレクトリの中のplatform.iniを選択(①)して編集します。
まず、ボード定義のうち、不要な部分(gd32vf103v-evalの方、②の部分)を削除します。続いて、書き込み方法として
upload_protocol = dfu
を③の部分(env:sipeed-longan-nanoの中)に追加します。
更新したら①のマークをクリックしてビルド(コンパイル)します。成功すると②のような感じで結果が表示されます。この表示をみると、ビルドすることによって評価ボード用(gd32vf103v-eval)とLongan Nano(sipeed-longan-nano)の両方のビルドがされるようですボードのgd32vf103v-evalの定義を消し忘れてました。ちなみに、ソースコードは左側のツリーのsrcの下にBlink.cppがありますので、そこで確認できます。
Longan NanoをPCに接続し、Longan NanoのBOOT0ボタンを押しながらRESETを押して(離して)、BOOT0ボタンを離すと書き込み準備ができているはず・・・・です。(要はLongan Nanoが動作を始める瞬間=RESETが離される瞬間にBOOT0が押されていればOK)
①のチェックマークを押すと書き込みが始まります。しばらく画面が流れますが、最終的に②のようにFAILEDという表示が出るのですが、LEDは赤色で点滅を始めます。ソースコードのdelay()のパラメータを変えると周期も変わりますので、書き込みはできています。
とりあえず、ギリギリ書き込みもできて、Lチカまで到達しましたが、まだまだの感じです。
> Executing task in folder 191104-010453-arduino-blink: platformio run --target upload < Processing gd32vf103v-eval (platform: gd32v; framework: arduino; board: gd32vf103v-eval) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Verbose mode can be enabled via `-v, --verbose` option CONFIGURATION: https://docs.platformio.org/page/boards/gd32v/gd32vf103v-eval.html PLATFORM: GigaDevice GD32V 1.1.0 > GD32VF103V-EVAL HARDWARE: GD32VF103VBT6 108MHz, 32KB RAM, 128KB Flash DEBUG: Current (altera-usb-blaster) External (altera-usb-blaster, gd-link, jlink, rv-link, sipeed-rv-debugger, um232h) PACKAGES: toolchain-gd32v 9.2.0, tool-openocd-gd32v 0.1.1, tool-gd32vflash 0.1.0, framework-arduino-gd32v 0.1.1 LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf LDF Modes: Finder ~ chain, Compatibility ~ soft Found 0 compatible libraries Scanning dependencies... No dependencies Checking size .pio/build/gd32vf103v-eval/firmware.elf Memory Usage -> http://bit.ly/pio-memory-usage DATA: [= ] 7.2% (used 2358 bytes from 32768 bytes) PROGRAM: [= ] 6.3% (used 8250 bytes from 131072 bytes) Configuring upload protocol... AVAILABLE: altera-usb-blaster, gd-link, jlink, rv-link, serial, sipeed-rv-debugger, um232h CURRENT: upload_protocol = gd-link Uploading .pio/build/gd32vf103v-eval/firmware.elf openocd: error while loading shared libraries: libftdi.so.1: cannot open shared object file: No such file or directory *** [upload] Error 127 =============================================================================================== [FAILED] Took 1.33 seconds =============================================================================================== Processing sipeed-longan-nano (platform: gd32v; framework: arduino; board: sipeed-longan-nano) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Verbose mode can be enabled via `-v, --verbose` option CONFIGURATION: https://docs.platformio.org/page/boards/gd32v/sipeed-longan-nano.html PLATFORM: GigaDevice GD32V 1.1.0 > Sipeed Longan Nano HARDWARE: GD32VF103CBT6 108MHz, 32KB RAM, 128KB Flash DEBUG: Current (altera-usb-blaster) External (altera-usb-blaster, gd-link, jlink, rv-link, sipeed-rv-debugger, um232h) PACKAGES: toolchain-gd32v 9.2.0, tool-openocd-gd32v 0.1.1, tool-gd32vflash 0.1.0, framework-arduino-gd32v 0.1.1 LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf LDF Modes: Finder ~ chain, Compatibility ~ soft Found 0 compatible libraries Scanning dependencies... No dependencies Checking size .pio/build/sipeed-longan-nano/firmware.elf Memory Usage -> http://bit.ly/pio-memory-usage DATA: [= ] 7.2% (used 2358 bytes from 32768 bytes) PROGRAM: [= ] 6.3% (used 8250 bytes from 131072 bytes) Configuring upload protocol... AVAILABLE: altera-usb-blaster, dfu, gd-link, jlink, rv-link, serial, sipeed-rv-debugger, um232h CURRENT: upload_protocol = dfu Uploading .pio/build/sipeed-longan-nano/firmware.bin dfu-util 0.9 Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc. Copyright 2010-2016 Tormod Volden and Stefan Schmidt This program is Free Software and has ABSOLUTELY NO WARRANTY Please report bugs to http://sourceforge.net/p/dfu-util/tickets/ dfu-util: Invalid DFU suffix signature dfu-util: A valid DFU suffix will be required in a future dfu-util release!!! Opening DFU capable USB device... ID 28e9:0189 Run-time device DFU version 011a Claiming USB DFU Interface... Setting Alternate Setting #0 ... Determining device status: state = dfuERROR, status = 10 dfuERROR, clearing status Determining device status: state = dfuIDLE, status = 0 dfuIDLE, continuing DFU mode device DFU version 011a Device returned transfer size 2048 GD32 flash memory access detected Device model: GD32VF103CB Memory segment (0x08000000 - 0801ffff)(rew) Erase size 1024, page count 128 Downloading to address = 0x08000000, size = 8268 Download [=========================] 100% 8268 bytes Download done. File downloaded successfully dfu-util: dfuse_download: libusb_control_transfer returned -4 *** [upload] Error 74 =============================================================================================== [FAILED] Took 3.85 seconds =============================================================================================== Environment Status Duration ------------------ -------- ------------ gd32vf103v-eval FAILED 00:00:01.327 sipeed-longan-nano FAILED 00:00:03.853 ========================================================================================= 2 failed, 0 succeeded in 00:00:05.180 ========================================================================================= The terminal process terminated with exit code: 1 Terminal will be reused by tasks, press any key to close it.
出力を見ると、いくつか課題が見えます。
書き込みも評価ボードにも行おうとして失敗していること(まあ、これはいいでしょう)- (Linux版の)DFUはGD32VF103には未対応であること
がわかります。
・・・・そのうち、八百万の神々によって改善されることでしょう(他力本願・・^^;)