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カーネルのビルドの際にはmake
とruby
を使用します.
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じゃね??
そんなあなたに,こんなセミナーのご紹介です.
-
PinKitプレゼント付き!TOPPERSカーネル+Azure IoT 体験ハンズオン@横浜
- 2019/07/27(土) 13:30 〜 18:00
- 会場:情報科学専門学校6F
TOPPERSとAzure IoT Hubを体験しよう!
しかもなんとPinKit(GR-PEARCH+センサーボード)をプレゼント!!
TOPPERSプロジェクトの運営委員として活躍する技術者と,Microsoftの専門家をお招きして,デバイスからクラウドまで一気通貫!のTOPPERS+Azureアプリの開発を実際に学ぶことができます.
ぜひぜひどうぞです!!
開発コンテスト開催!
そして開発したIoTなシステム,ぜひともお披露目しませんか!??
TOPPERSプロジェクトでは「活用アイデア・アプリケーション開発コンテスト」を開催しています!
TOPPERSプロジェクトの開発成果物を活用するアイデア,もしくは開発成果物を用いたアプリケーションを募集します.
上記ハンズオンセミナーで学んだ知識を使って,IoT作品を開発して応募しませんか?
募集期間は9月1日までです.
こちらもぜひどうぞ!!
参考ページ
-
最後の
Add path to environment variable
もチェック無しでOKです) ↩