Longan NanoでLチカ

引き続き、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には未対応であること

がわかります。

・・・・そのうち、八百万の神々によって改善されることでしょう(他力本願・・^^;)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)