HOS-V4a のサンプル作ってみました
以前書いた記事で Ultra96 の Cortex-R5 を使うのにあれこれやっておりました。
- Ultra96V2のDebianイメージで Cortex-R5 を認識させる
- HOS-V4a(ITRON仕様 RTOS)をUltra96V2(ZynqMP)のCortex-R5で動かす
- ARMの割り込みPL390(GIC)設定やHOS-V4aのZynq対応メモ
ところで、ITRON4.0 の仕様が ほぼ20年前ですので、組み込みプログラミングをそこから非常に大きな進歩をしたわけで、もっとモダンなプログラミング要素を取り入れたいとか思ってしまうわけです。
そこで、ひとまず手の届きそうなところで、少しづつ勉強しつつ C++ と、Rust に挑戦してみました。
挑戦と言っても、既存のC言語のサンプルをそのまま移植しただけですので、C++らしさ、Rustらしさは微塵もないサンプルだったりはするのですが、とにも書くにもこれらの言語が ZynqMP でもでも使えそうだというのが見えてきました。
幸い Cortex-A53 の上では Debian が動いておりますので、なんとここでクロスコンパイル(同じSoC上なのである意味セルフコンパイル?)してそのまま実行できちゃうという素晴らしい環境が出来始めたわけです。
サンプルプログラム
github に入れました。 それぞれ README.md をご参照ください。
参考にさせて頂いたサイト
C++関連
Rust関連
- https://tomo-wait-for-it-yuki.hatenablog.com/entry/2018/11/17/152359
- https://tomo-wait-for-it-yuki.hatenablog.com/entry/2018/11/10/220125
- https://tomo-wait-for-it-yuki.hatenablog.com/entry/2019/01/30/163235
- https://tomo-wait-for-it-yuki.hatenablog.com/entry/2019/02/06/054605
- https://tomoyuki-nakabayashi.github.io/book/peripherals/a-first-attempt.html