Raspberry Pi 3でのベアメタルプログラミング

rpi3.jpg

Raspberry Pi 3はパワフルすぎて、かえってPCとの差分が小さいから魅力が薄い、と思っていた時期もあったのですが、結局入手しています。
直接のきっかけは最近公開された、下記のPi3専門のベアメタルチュートリアルです。

Yet Another Bare Metal Tutorial for the RPi3 – Raspberry Pi Forums

bztsrc/raspi3-tutorial: Bare metal Raspberry Pi 3 tutorials

このチュートリアルでは、例外や仮想メモリを扱っているのが興味深いです。
また、クロスコンパイラの導入から解説されていますし、コンパイル済みのバイナリもアップロードされており、かなり敷居が低くなっていると思います。

なお、上記GitHubサイトのREADMEでは、他のベアメタルチュートリアルについても紹介されており、それぞれ微妙に扱っている分野が違っていて、参考になります。
一番最初に挙げられているケンブリッジ大学のサイト「Baking Pi」は、USBキーボードからの入力や画面表示がメインなので、ベアメタル版MicroPythonへ移植したいと思っています。

最近では、Raspberry Piの中で3だけに対応しているソフトウェアも見かけることが増えてきましたので、そちらも気になっています。
64bit OSがRPi3専用なのは当然ですが、たとえば「Android Things」もRPi3のみ対応ですし、マニアックなところではオープンソースのTEEであるOP-TEEなんかもそうです。
そんなわけで、1台持っておくことにしたのでした。

コメント