Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

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です)

msys2.jpg

インストール時の設定はすべてデフォルトのままでOKです.
(「インストール フォルダー」はC:\msys64のままにしてください)

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

msys.JPG

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

pacmanerror.jpg

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

makeとRubyのインストール

TOPPERSカーネルのビルドの際にはmakerubyを使用します.
MSYS2上で下記を実行してインストールしましょう.

$ pacman -S make ruby

pacman.JPG

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

クロスコンパイラ

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

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

Windows 10に対応するものは-win32-sha2.exeです.
下記画面の赤枠で示すように,どちらかからインストーラをダウンロードしてください.

armnone-win.png

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

デバッガ環境

Visual Studio Codeと連携させるデバッガとしてOpenOCDを使います.
今回は下記バージョンのものを導入します.

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

openocd-win.png

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

openocd.JPG

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

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

copy.JPG

シリアル通信ドライバ

GR-PEACHのUSBポートをシリアルポートとして認識させるためのドライバをインストールします.
Windows向けのドライバは,以下のURLからダウンロードして実行してください.

シリアル通信ターミナル

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

TeraTermが使いやすくてオススメです.
お好みありましたら他のものでも構いません.

Visual Studio Codeの準備

ようやっと本題ですぅ
そのくせ本題なのに短い,,,

本体のインストール

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

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

拡張機能のインストール

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

vscodeex.JPG

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

「C++ Intellisense」も入れておくと便利です.
日本語化したい方は「Japanese Language Pack for Visual Studio Code」もインストールすると良いでしょう.インストール後はVS Codeの再起動が必要です.
こんな感じになります.

vscodeext.JPG

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

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

さてRun!!

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

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

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

せっかく開発環境を整えたんだから使ってみたい!
ThingsだけじゃなくてInternet ofつまりIoTじゃね??

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

banner.jpg

TOPPERSとAzure IoT Hubを体験しよう!
しかもなんとPinKit(GR-PEARCH+センサーボード)をプレゼント!!

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

開発コンテスト開催!

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

toppers

TOPPERSプロジェクトでは「活用アイデア・アプリケーション開発コンテスト」を開催しています!
TOPPERSプロジェクトの開発成果物を活用するアイデア,もしくは開発成果物を用いたアプリケーションを募集します.
上記ハンズオンセミナーで学んだ知識を使って,IoT作品を開発して応募しませんか?

募集期間は9月1日までです.
こちらもぜひどうぞ!!

参考ページ


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

takasehideki
Asst. Prof. at Kyoto Univ. a.k.a 組込マー
fukuokaex
エンジニア/企業向けにElixirプロダクト開発・SI案件開発を支援する福岡のコミュニティ
https://fukuokaex.fun/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away