Edited at

Windows篇:VSCodeでTOPPERS/ASP3アプリの開発環境を整備する


TL;DR


  • リアルタイムでマルチタスクなTOPPERSカーネル!を使って,組込みアプリを開発したい

  • Visual Studio Codeにてナウでヤングな開発環境を整えたい!

  • ThingsだけじゃなくてInternet ofつまりIoTじゃね??

  • そんなあなたに,こんなセミナーぜひどうぞ!!


    • 環境構築で分からないところがあれば,どしどしコメントください.



07/02追記:デバッガ環境に追記しました


はじめに

TOPPERS」ってご存知ですか?

組込み技術者の純粋なこだわりと「匠のワザ」を結晶させた,オープンソースの由緒ある和製リアルタイムOSです.

CUIベースのクロス開発が一般的(というかワタシの好み^^)なのですが,そこはやっぱりIDEを使ってエレガントに開発を進めたいところ.

ということで本記事では,Visual Studio Codeによる開発環境の構築方法を説明します.


ターゲット


  • マイコンボード:GR-PEACH-FULL

  • TOPPERS/ASP3カーネル 3.2.0

  • ホストPC環境:Windows 10 Professional


    • 管理者権限が必要です

    • USBポート1口が必要です

    • ディスク容量は1GBくらい使います



なおVisual Studio Codeの良いトコロはmulti platform supportかなと思います.ということで,macやUbuntuユーザの方は下記をご参照ください.


クロス開発環境の準備

いろいろありますぅ


MSYS2の準備

MSYS2(Minimal SYStem2)は,Windows上で動くUnixシェル環境です.ターミナルはminttyでシェルはbashが設定されています.パッケージマネージャとしてpacmanを採用しています.MSYS2さえ導入すれば,それだけでUnix風のコマンドライン環境が揃います.

まぁ要するに,Cygwinの使い勝手が良いやつだと思ってください.


インストール

公式ページから,x86_64向けインストーラをダウンロードしてください.

下記画面の赤枠からです.(本記事執筆時点での最新版は20190524です)

インストール時の設定はすべてデフォルトのままでOKです.

(「インストール フォルダー」はC:\msys64のままにしてください)

最後の画面では「今すぐ MSYS2 64bit を実行します。」のチェックを入れたまま,完了します.


pacmanパッケージ更新

MSYS2のターミナル上で下記を実行します.

$ pacman -Syu

$ pacman -Su

下記のようなエラーが表示されることがありますが,このときはMSYS2をいったん閉じて再起動して,また上記のコマンドを実行してください.

警告: terminate MSYS2 without returning to shell and check for updates again

警告: for example close your terminal window instead of calling exit

MSYS2を再起動して更新のコマンドを実行(大事なことなので二度言いました^^;


makeとRubyのインストール

TOPPERSカーネルのビルドの際にはmakerubyを使用します.

MSYS2上で下記を実行してインストールしましょう.

$ pacman -S make ruby

これでMSYS2の準備は完了です.


クロスコンパイラ

ターゲットのマイコンボードであるGR-PEACHのためのコンパイラとしてarm-none-eabi-gccを使います.

今回は下記バージョンのものを使用します.

Windows 10に対応するものは-win32-sha2.exeです.

下記画面の赤枠で示すように,どちらかからインストーラをダウンロードしてください.

インストール時の設定はすべてデフォルトのままでOKです1

(「インストール先 フォルダ」はC:\Program Files (x86)\GNU ARM Embedded\6 2017-q2-updateのままにしてください)


デバッガ環境

Visual Studio Codeと連携させるデバッガとしてOpenOCDを使います.

今回は下記バージョンのものを導入します.

下記画面の赤枠に示したように,-win64.zipをダウンロードしてください.

ダウンロードしたものを解凍し,下記のようにGNU MCU Eclipseのフォルダを丸ごとC:\Program Filesに配置してください.管理者権限が必要です.

次に下記をダウンロードしてきて,

C:\Program Files\GNU MCU Eclipse\OpenOCD\0.10.0-12-20190422-2015\scripts\target にコピーしてください.


シリアル通信ドライバ

GR-PEACHのUSBポートをシリアルポートとして認識させるためのドライバをインストールします.

Windows向けのドライバは,以下のURLからダウンロードして実行してください.


シリアル通信ターミナル

GR-PEACHとのシリアル通信のためのターミナルエミュレータを導入します.

TeraTermが使いやすくてオススメです.

お好みありましたら他のものでも構いません.


Visual Studio Codeの準備

ようやっと本題ですぅ

そのくせ本題なのに短い,,,


本体のインストール

下記からダウンロードできます.

すでにインストール済みの方は最新版にしましょう.本記事執筆時点では1.35.1です.


拡張機能のインストール

拡張機能は,左下にある歯車の上から3つめ「Extensions」(日本語化パッケージをすでに導入済みの方は「拡張機能」)から選べます.

「C/C++」は必須でインストールしてください.

「C++ Intellisense」も入れておくと便利です.

日本語化したい方は「Japanese Language Pack for Visual Studio Code」もインストールすると良いでしょう.インストール後はVS Codeの再起動が必要です.

こんな感じになります.

まぁ漢は黙ってVimですよねぇ!??

ここまでの環境構築の手引きで分からないところがあれば,どしどしコメントください.


さてRun!!

別記事にしました.下記をご参照ください.

特に下記で案内のIoTあるじゃんのハンズオンセミナーに参加したい!方は,アプリのビルドまで出来ることを確認してください.GR-PEACHお持ちの方は最後までできます.


ハンズオンセミナー開催!

せっかく開発環境を整えたんだから使ってみたい!

ThingsだけじゃなくてInternet ofつまりIoTじゃね??

そんなあなたに,こんなセミナーのご紹介です.

TOPPERSとAzure IoT Hubを体験しよう!

しかもなんとPinKit(GR-PEARCH+センサーボード)をプレゼント!!

TOPPERSプロジェクトの運営委員として活躍する技術者と,Microsoftの専門家をお招きして,デバイスからクラウドまで一気通貫!のTOPPERS+Azureアプリの開発を実際に学ぶことができます.

ぜひぜひどうぞです!!


開発コンテスト開催!

そして開発したIoTなシステム,ぜひともお披露目しませんか!??

TOPPERSプロジェクトでは「活用アイデア・アプリケーション開発コンテスト」を開催しています!

TOPPERSプロジェクトの開発成果物を活用するアイデア,もしくは開発成果物を用いたアプリケーションを募集します.

上記ハンズオンセミナーで学んだ知識を使って,IoT作品を開発して応募しませんか?

募集期間は9月1日までです.

こちらもぜひどうぞ!!


参考ページ





  1. 最後のAdd path to environment variableもチェック無しでOKです)