TL;DR
- リアルタイムでマルチタスクなTOPPERSカーネル!を使って,組込みアプリを開発したい
- Visual Studio Codeにてナウでヤングな開発環境を整えたい!
- ThingsだけじゃなくてInternet ofつまりIoTじゃね??
- そんなあなたに,こんなセミナーぜひどうぞ!!
- 環境構築で分からないところがあれば,どしどしコメントください.
はじめに
「TOPPERS」ってご存知ですか?
組込み技術者の純粋なこだわりと「匠のワザ」を結晶させた,オープンソースの由緒ある和製リアルタイムOSです.
CUIベースのクロス開発が一般的(というかワタシの好み^^)なのですが,そこはやっぱりIDEを使ってエレガントに開発を進めたいところ.
ということで本記事では,Visual Studio Codeによる開発環境の構築方法を説明します.
ターゲット
- マイコンボード:GR-PEACH-FULL
- TOPPERS/ASP3カーネル 3.2.0
- ホストPC環境:Ubuntu 16.04.2 LTS
- sudo権限が使える必要があります
- USBポート1口が必要です
- ディスク容量は1GBくらい使います
なおVisual Studio Codeの良いトコロはmulti platform supportかなと思います.ということで,WindowsやMacユーザの方は下記をご参照ください.
クロス開発環境の準備
Ubuntuだとさらにさっくり
makeとRubyのインストール
TOPPERSカーネルのビルドの際にはmake
とruby
を使用します.
Ubuntu使いともなるともう入っている方ばかりだとは思いますが,こんな感じでどうぞ〜
$ sudo apt install build-essential ruby
クロスコンパイラ
ターゲットのマイコンボードであるGR-PEACHのためのコンパイラとしてarm-none-eabi-gcc
を使います.
今回は下記バージョンのものを使用します.
ubuntuに対応するものはLinux 64-bit
です.
ダウンロードしてきたものを解凍して,/usr/local
にコピーします.
$ tar xf gcc-arm-none-eabi-6-2017-q2-update-linux.tar.bz2
$ sudo mv gcc-arm-none-eabi-6-2017-q2-update /usr/local/
デバッガ環境
Visual Studio Codeと連携させるデバッガとしてOpenOCDを使います.
今回は下記バージョンのものを導入します.
-centos64.tgz
のものをダウンロードして,解凍して,また/usr/local
に配置してください.
$ tar xzf gnu-mcu-eclipse-openocd-0.10.0-12-20190422-2015-centos64.tgz
$ sudo mv gnu-mcu-eclipse /usr/local/
次に下記をダウンロードしてきて,
/usr/local/gnu-mcu-eclipse/openocd/0.10.0-12-20190422-2015/scripts/target/
にコピーしてください.
$ cp renesas_rza1h_swd.cfg /usr/local/gnu-mcu-eclipse/openocd/0.10.0-12-20190422-2015/scripts/target/
シリアル通信ドライバ
FTDIドライバですが,最近のLinuxでは標準でインストールされています.
特に作業は必要ありません.やったねっ
シリアル通信ターミナル
GR-PEACHとのシリアル通信には,screen
やpicocom
が使えます.
ご自由にどうぞです.
PATHの設定(任意)
IDE/GUIなぞに頼らずターミナル開発したい方向けです.
VSCodeだけで楽しい方は不要です.
$ echo "export PATH=/usr/local/gcc-arm-none-eabi-6-2017-q2-update/bin:\${PATH}" >> ~/.bashrc
$ echo "export PATH=/usr/local/gnu-mcu-eclipse/openocd/0.10.0-12-20190422-2015/bin:\${PATH}" >> ~/.bashrc
$ echo "TCINSTALL=/usr/local/gcc-arm-none-eabi-6-2017-q2-update/" >> ~/.bashrc
$ source ~/.bashrc
Visual Studio Codeの準備
ようやっと本題ですぅ
本体のインストール
下記からダウンロードできます.
すでにインストール済みの方は最新版にしましょう.本記事執筆時点では1.35.1です.
Ubuntuの場合は,.deb
をダウンロードしてきて,下記の操作が必要です.
$ sudo dpkg -i code_1.35.1-1560350270_amd64.deb
$ sudo apt-get install -f
拡張機能のインストール
拡張機能は,左下にある歯車の上から3つめ「Extensions」(日本語化パッケージをすでに導入済みの方は「拡張機能」)から選べます.
**「C/C++」**は必須でインストールしてください.
**「C++ Intellisense」も入れておくと便利です.
日本語化したい方は「Japanese Language Pack for Visual Studio Code」**もインストールすると良いでしょう.インストール後はVS Codeの再起動が必要です.
こんな感じになります.
まぁ漢は黙ってVimですよねぇ!??
ここまでの環境構築の手引きで分からないところがあれば,どしどしコメントください.
さてRun!!
別記事にしました.下記をご参照ください.
特に下記で案内のIoTあるじゃんのハンズオンセミナーに参加したい!方は,アプリのビルドまで出来ることを確認してください.GR-PEACHお持ちの方は最後までできます.
既知の問題orz
Ubuntu版のVisual Studio Codeだと,デバッガ連携がうまくいかないようです.
GR-PEACHがシリアルデバイスとして認識される/dev/ttyACM0
へのアクセスにsudo
権限が必要となるのですが,これをVSCodeのlaunch.jsonなどから実行することができないようです.
対処法としては,VSCodeをsudo
実行することになります^^;
実行方法の記事で詳しく解説しています.
ハンズオンセミナー開催!
せっかく開発環境を整えたんだから使ってみたい!
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日までです.
こちらもぜひどうぞ!!