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プリンタで簡単なパーツを作って対処しました(赤いボタンのように見えるもの)。
※後になって、秋月のセットにはボタン用パーツが付属していることに気づきました。

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

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

(3) ターミナルのコマンドラインで次のように入力し、Longan Nanoに対応しているSDKをインストールします。

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

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

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

(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として認識されます)。

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

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

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

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

RISC-Vに興味のある方はこちら。
※後になって、秋月のセットにはボタン用パーツが付属していることに気づきました。

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

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

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

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

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

(6) Longan NanoはUSBを利用してプログラムを転送します。それに備えて次の内容を追記します。
upload_protocol = 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として認識されます)。

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

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

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

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

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