2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Longan NanoをPlatoform IOで完結

Posted at

Longan Nano:PlatformIOでBuildおよび書き込みを完結させる

1年以上前に、Longan NanoをSwitch Scienceさんで購入し、よく見かける「Bad Apple」だけトライし、しばらくそのままにしておいたが、久しぶりに触ってみた。Windows 10のPlatform IO「のみ」を利用して、プログラムを書き込むにはポイントがあったので、備忘録としてここに残す。

シリアル通信

例としてPCとのシリアル通信を取り上げる。このボードでは、シリアル通信はUSBポート経由ではなく、個別に用意されたピンを用いる。


Longan Nano(写真下)の左側のピンを、USBシリアル変換ボード(写真上)経由でPCに接続。

ソースコード

ここにシリアル通信を行うサンプルがあったので、これをそのまま使う。

Platform IOの設定

はじめに

備忘録も兼ねているので、PlatformIOの基本的な記載も行う。
image.png

「New Project」を選び、「Project Wizard」で

image.png

「Sipeed Longan Nano Lite」ボード(フラッシュ 64KB、RAM 20KB)および「Arduino」フレームワーク(用いたソースコードに依存)を選択。

platform.ini

書き込み方法として、「upload_protocol = dfu」を追加(他は自動的に作成される)。

platform.ini
[env:sipeed-longan-nano-lite]
platform = gd32v
board = sipeed-longan-nano-lite
framework = arduino

upload_protocol = dfu

DFUモード

プログラムを書き込むには、ボードをDFUモードにする必要がある。

  1. BOOT0ボタンを押したまま
  2. RESETボタンを押し、その後RESETボタンを離す
  3. 最後に、BOOT0を離す
    これで、DFUモードに入る。

インターネットでよく見かける書き込み方法(本稿の目的ではない)

Platform IOでBuild後にできるバイナリ「firmware.bin」を
本家サイトの「6. Install drivers using Zadig」の記載方法で書き込める。まずはボードをUSB経由でPCに接続し、ZadigによりUSBドライバをインストール。デバイスマネージャでは、
デバイスマネージャ1.png
となる。その後、上記リンク先の「GD32 MCU DFU Tool」で書き込むことができる。

Platform IOで書き込み(Upload)失敗

USBドライバが上述の「GD32 Device in DFU Mode」の状態で、書き込み(Upload)すると、
image.png
と、DFUデバイスが見つからずとなり、書き込みに失敗する。

Platform IOで書き込み(Upload)するには(本題)

USBドライバ変更

調べたところ、この記事にある方法で書き込むことが可能であった。USBドライバを「Libusb-WinUSB」に変更する。ここからUSBドライバ変更ツールをダウンロード。ツールを起動すると
image.png

「GD32 Device in DFU Mode」が見つかる。「Change driver type」を選び、

image.png

「Libusb - WinUSB」を選び「Install」。すると、

USB Driver Tool 3.png

「GD32 Device in DFU Mode (Libusb - WinUSB)」となる。デバイスマネージャでは、

デバイスマネージャ2.png

「libusb (WinUSB) devices」が見つかる。

書き込み(Upload)

「libusb (WinUSB) devices」の状態で、書き込み(Upload)実施。
image.png

これで、「GD32 MCU DFU Tool」を使わず、Platform IOのみでビルド&書き込みが可能となる。めでたし。

おまけ

本ソースコードのシリアルコンソールの状況。
Teraterm.png

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?