Sipeed Longan Nanoを使ってみました

本日はXperia 1の記事の続きを書くつもりだったのですが、先日購入した安価なマイコンボード、Sipeed Longan Nanoが面白そうなので触ってみました。このボードはRISC-Vアーキテクチャの32bit MCUであるGigaDevice GD32VF103CBT6を搭載しており、32KBのSRAMと128KBのフラッシュメモリを内蔵、microSDカードスロット、160×80ドット、0.96インチのフルカラーIPS液晶も搭載しています。今回は秋月で購入しましたが、ボード本体とピンヘッダ、アクリルケースがセットになっていましたので、ピンヘッダをはんだ付けしてアクリルケースに収めてみました。加工精度が今一つなのか、コネクタ類が干渉してキレイに収めるのにはちょっと苦労しました。また、このままだとボード上のボタン類(BOOT, RESET)が押せなくて不便なので、3Dプリンタで簡単なパーツを作って対処しました(赤いボタンのように見えるもの)。
※後になって、秋月のセットにはボタン用パーツが付属していることに気づきました。
Sipeed Longan Nano (1)

本日は、開発環境のセットアップとLチカを行うところまで手順を書いてみることにします。Longan Nanoには専用のIDEというものはなく、PlatoformIO IDEというものを開発に利用します。これは、Visual Studio Code (VS Code)の拡張機能として組み込むことでIDEとして使用できるようになるもので、Arduinoをはじめとする様々なマイコンボードに対応しているものです。

(1) まずはVS Codeを起動し、拡張機能“PlatformIO IDE”をインストールします。
PlatformIO IDE 拡張機能

(2) PlatformIOのアイコンが左端のツールバーに追加されるので、そこをクリックすると“PIO Home”が開きます。左下の“QUICK ACCESS”から“New Terminal”をクリックしてターミナルを開きます。
PIO Home

(3) ターミナルのコマンドラインで次のように入力し、Longan Nanoに対応しているSDKをインストールします。
platformio platform install gd32v
platformio platform install https://github.com/sipeed/platform-gd32v

ターミナルを起動

(4) インストールが終了したら、PIO Homeの“Project Examples”をクリックして開き、“Arduino Blink”を選択して読み込みます。
Arduino Blinkを読み込む

(5) “platformio.ini”ファイルを開き、[env:gd32vf103v-eval]セクションを削除し[env:sipeed-longan-nano]セクションのみを残すようにします。このArduino用のLチカは様々なプラットフォームに対応しているわけですが、このファイルを編集することによってLongan Nano対応のプロジェクトであることを指定していることになるのだと思います。
platformio.ini

(6) Longan NanoはUSBを利用してプログラムを転送します。それに備えて次の内容を追記します。
upload_protocol = dfu

platformio.iniでdfu書き込みを指定

(7) ステータスバー左のほうにあるチェック☑のマークをクリックするとコンパイルされます(あるいは、[CTRL]+[SHIFT]+[B]を押して、表示されるメニューから“PlatformIO: Build”を選択)。コンパイル済みのバイナリはプロジェクトフォルダ内の“.pio\build\sipeed-longan-nano”に、“firmware.bin”というファイル名で保存されます。
コンパイル済みバイナリファイル

(8) 書き込み用のUSBドライバをインストールするため、Longan Nanoを書き込みモードで起動します。PCのUSBポートにLongan Nanoを接続し、BOOTボタンを押してからRESETボタンを押します。その後RESETボタンを離し、BOOTボタンを離すと書き込みモードで起動します(この時点ではデバイスマネージャではUnknown Deviceとして認識されます)。
Unknown Deviceとして認識

(9) PlatformIOから直接書き込むためには、書き込みに必要なWinUSBドライバをインストールします。これを行うにはZadigを用いるのが便利です。こちらからインストーラをダウンロードして実行します。“Unknown Device”が選択されているのを確認し“Install Driver”をクリックすればOKです。書き込むには、VS Codeのステータスバー左のほうにある右向き矢印→のマークをクリックします。この方法を用いる場合には以下の(10)-(12)の手順は不要です。
Zadigのlibusbインストーラ

(10) 専用の書き込みツールを用いる場合には、こちらからダウンロードします。

(11) 書き込み用USBドライバをインストールします。上記ファイルを解凍してできた“GD32 MCU Dfu Drivers_v1.0.1.2316”フォルダ内から(末尾の数字などはバージョンによって異なります)、OSに合わせて(32bit→x86, 64bit→x64)選んでドライバのインストーラを「管理者として実行」します。
USB DFUドライバのインストーラ

(12) 書き込みツールを実行します。“GD32 MCU Dfu Tool_v3.8.1.5784”フォルダ内の“GD32 MCU Dfu Tool”を起動します。書き込むbinファイルを選択してOKボタンをクリックすれば書き込まれます。
DFU書き込みツール

(13) Longan NanoのRESETボタンを押すと実行されます。


結構面倒くさく感じるかもしれませんが、上記の操作は最初の1回のみでOKです。その後はArduino言語での開発の場合には(4)~(7)でコンパイルを行ってから、BOOTボタンを押しながらLongan NanoをPCに接続、BOOTボタンを離して(12)→(13)でできると思うので、結構簡単だと思います。なかなかドキュメント類も少なくて苦労することもありますが、1個830円と安価なので、興味のある方は試してみてはいかがでしょうか。
Sipeed Longan Nano (2)

RISC-Vに興味のある方はこちら。
関連記事
スポンサーサイト



テーマ : 電子工作
ジャンル : 趣味・実用

tag : マイコン Sipeed Longan Nano Arduino PlatformIO GD32 RISC-V

コメント

非公開コメント

アクセスカウンタ
カレンダー
09 | 2020/10 | 11
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
最新記事
最新コメント
リンク
カテゴリ
楽天お勧め商品
検索フォーム
Kyoroのつぶやき
FC2掲示板
ブロとも申請フォーム

この人とブロともになる

RSSリンクの表示