9
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

TOPPERSAdvent Calendar 2020

Day 6

Gitpodで始めるTOPPERS/ATK2を使った車載ソフトプログラミング

Last updated at Posted at 2020-12-06

Gitpodとの出会い

 おそらく初めて目にしたのは、EclipseCon Flance 2018でのTypofoxのデモ展示だったと思う。
 GithubのリポジトリURLをちょっと変更するだけでWebIDEとしてキビキビ動作しており、確かJSのプログラムデモだったと記憶があるがEclipse Theiaのデモとしてはとても魅力的に見えた。
開発していたエンジニアと少しだけ話ができたが、CDDなどのプラグインはまだ未定ということもあって、エディタとしては使えそうだったけど組み込みで使う事にはまだ早いかなという印象だった。
 ただあれ以降、自分の開発環境をコンテナ、シミュレーション、クラウドへシフトしてきたのはそれだけ影響が強かったのだと思うが、Gitpodはその後、1・2度エディタを動かしてそのままになっていた。
 そんな忘れかけていたGitpodと再会したのは、オープンソース化の記事だった。DockerイメージもGitpod側で動くことがわかり、その週末の箱庭WGの合宿中にATK2のビルド環境を作って動かすことができたのでそのご紹介。(ポエム終わり)

Gitpodはブラウザだけで始められるソフトウェア開発環境なので、実機が手元にないとか、パソコンのスペックや容量が足りないといった消極的な理由だけじゃなく、組込みソフトでも積極的に開発効率を向上できるツールの1つとして使えます!

利用環境

  • Github, Gitlab, Bitbucketのいずれかのアカウント
  • ブラウザが使える環境

以上です。
Githubのアカウントで確認しています。他のアカウントやブラウザだとIEは環境が無いので試してませんがほぼどれでも動いています。
スマホやタブレットでも動くことは確認しました。

Gitpodの料金

Gitpodはパブリックなリポジトリであれば月50時間までは無料で使えますので、以下の内容も無料で始められます。
週末や夜のオープンソース活動にはちょうどいい感じかなと思います。

ワークスペースの起動

これをクリックするだけです。
https://www.gitpod.io/#https://github.com/mitsut/toppers-sample-rh850

Gitpodのページが立ち上がり、こんな画面がでてきますので、「Login with Github & Launch Workspace」 をポチリします。
image.png

githubのログインを済ませるとこんな感じで表示されるはずです。(URLは個人で異なります)
image.png

エディタの操作に関してはVS Codeを触ったことがある方であれば、見た目もほぼ同じですし支障はないかと思います。

TOPEPRS/ATK2のsampleのビルドと実行

ATK2に用意されているsampleを使ってビルドとシミュレーションを用いた実行の手順になります。
ATK2のターゲットとしてはRH850F1Kを用い、シミュレーション環境としてathrillを使っています。

アプリケーションフォルダの作成と移動

フォルダを作成し、移動します。

$ mkdir sample1 ; cd sample1

カレントディレクトリが/workspace/toppers-sample-rh850/sample1に移動し、
左側のエクスプローラに新しく sample1のフォルダが追加されました。

image.png

シミュレーション用の設定ファイルの準備

cp $HAKONIWA_HOME/athrill-target-rh850f1x/params/rh850f1k/atk2-sc1/*.txt .

sample1フォルダにシミュレーション起動時に必要となる device_config.txtmemory.txtファイルを準備します。(ビルド後でも構いません)
image.png

Configureの実行(Makefileの生成)

TOPPERSのビルドを行う前にConfigureを実行して、Makefileやアプリケーションファイルの用意をします。

../toppers-atk2-sc1/configure -T hsbrh850f1k_gcc -g ${HAKONIWA_HOME}/cfg

コンソールでの出力結果はこんな感じになります。
image.png
フォルダにもMakefileを含めていくつかファイルが増えます。

image.png

ビルド

これだけです

make

いくつかワーニングは出ますが、sample1フォルダatk2-sc1 というファイルができていればOKです。
image.png

実行(シミュレーション実行)

ビルドできたATK2のバイナリファイルをathillで実行させます。

athrill2 -c1 -i -d device_config.txt -m memory.txt atk2-sc1

athrillが起動して止まりますので、cコマンドを押して実行を継続します。
以下のように出力され、ATK2が動き出しました。

gitpod /workspace/toppers-sample-rh850/sample1 $ athrill2 -c1 -i -d device_config.txt -m memory.txt atk2-sc1
core id num=1
ROM : START=0x0 SIZE=1024
RAM : START=0xfede8000 SIZE=512
ELF SET CACHE RIGION:addr=0x0 size=62 [KB]
Elf loading was succeeded:0x0 - 0xf999 : 62.409 KB
Elf loading was succeeded:0xf99c - 0x1215c : 0.220 KB
ELF SYMBOL SECTION LOADED:index=16
ELF SYMBOL SECTION LOADED:sym_num=597
ELF STRING TABLE SECTION LOADED:index=17
DEBUG_FUNC_FT_LOG_SIZE=1024
[DBG>
HIT break:0x0
[NEXT> pc=0x0 prc_support.S 254
c
[CPU>
TOPPERS/ATK2-SC1 Release 1.4.2 for HSBRH850F1K (Dec  6 2020, 04:16:56)

Input Command:

まとめ

今回はGitpodを使って、TOPPERS/ATK2のサンプルプログラムをブラウザだけでビルド、実行させる紹介をしました。
RH850なんて車載向けの特殊なチップではありますが、環境をいれかればいろんなものに対応できます。
組み込み業界でもテレワーク時代に本格的にクラウド開発へ移行したいとか、多人数での環境を用意したいなどの場合は、Eclipse cheを使った環境構築の方が効果的ですので、こんなとかこんなサービスもありますのでご興味があればのぞいてみてはいかがでしょうか。

9
3
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?