Edited at

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


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カーネルのビルドの際にはmakerubyを使用します.

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とのシリアル通信には,screenpicocomが使えます.

ご自由にどうぞです.


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じゃね??

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

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

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

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

ぜひぜひどうぞです!!


開発コンテスト開催!

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

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

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

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

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

こちらもぜひどうぞ!!