あなたが現在見ているのは Raspi Zero 2W ベアメタル開発 02 (環境構築~Hello表示編)

Raspi Zero 2W ベアメタル開発 02 (環境構築~Hello表示編)

さて、意を決してから、右往左往して、ようやくHDMI 接続したモニタに文字を表示できましたので、そこまでの手順を手短に解説します。

Ultibo Core のダウンロード

Lazarus IDE と統合された Ultibo は下記よりダウンロードします。

/https://ultibo.org/download/

2025/6/6 時点では、Ultibo-Core-2.6.049-Beetroot.exe が最新ですので、れをダウンロード。

もしくは、GitHub からもダウンロードできます。必要に応じて古いバージョンのダウンロードもできます。

こちらだと、少しサイズの大きい Ultibo-Core-2.6.049-Beetroot-Main.exe というのもあります。

私は、何か不足してもいやなので、こちらからダウンロードしました。

インストール

ダウンロードしたファイルを実行するとインストールが始まります。インストールディレクトリの指定などもできますが、とりあえずデフォルトのまま次へ次へと進みインストール。数分でインストールが完了します。

インストールが完了すると、C:\Ultibo\Core というフォルダができています。

C:\Ultibo\Core の下にこんなフォルダとファイルができていればとりあえずインストール成功かと思います。

Lazarus (Ultibo Edition) を起動

Lazarus IDE (Ultibo Edition) を起動します。

初回の起動はFPC (free pascal ) のパスなどを設定する画面が表示されますが、デフォルトで設定されているので、開発環境のWindow のモードを選択するだけで良いでしょう。Windowモードは、Classic だと 昔風にそれぞれのウィンドが独立している形になっていて、今風だと、最近のDelphi風に1つのWindowにメニュー、プロジェクトインスペクタ、ソースエディタ、コードエクスプローラなどがドッキングされた感じになります。特に深い思い入れがなければ、今風のほうが良いでしょう。

これは今風の場合。

プロジェクトの作成

メニューの[ファイル]→[新規] で下の画面が開きます。

今回は、Raspi Zero 2W をターゲットにしますので、これを選んで[OK] ボタンでプロジェクトが作成されます。

プロジェクトオプションの設定

[プロジェクト] → [プロジェクトオプション] で下の画面が開きます。

[コンパイラオプション] → [設定と対象] で、対称プラットフォームは、上記画面のように設定してください。

ARMV7A 、RPIZERO2W がポイントです。設定したら[OK]ボタンで画面を閉じます。

Hello world サンプルプログラムの作成

program HelloPi;

uses
RaspberryPi3, // ← ここが機種名
GlobalConst, GlobalTypes,
Platform, Console, SysUtils;

var
Console1: TWindowHandle;

begin
Console1 := ConsoleWindowCreate(ConsoleDeviceGetDefault, 0, True);

if Console1 <> -1 then
begin
ConsoleWindowWriteLn(Console1, 'Hello from Ultibo on Pi Zero 2 W!');
end;

while True do Sleep(1000);
end.

最初は何も考えずに、初期表示されているソースを消して、上記コードをペタッと貼り付けましょう!

プロジェクトの保存

まず最初にソースを保存してみましょうか。

Pascal は、ソースの先頭に書いた名前とファイル名が一致しないといけないので、 program hellopi; としたので、ファイルに名前を付けて保存で、 hellopi.lpr として保存してください。

とりあえず今は、このファイルしかないので、メニューの [プロジェクト] → [名前を付けてプロジェクト保存] で保存しても同じ結果かなと思います。

Pascal はこの他 unit というファイルもありまして、この後開発していく中で unit に分けて、uses で宣言して使うことになると思います。

構築 (コンパイル + img出力)

さていよいよ、コンパイルです。

[構築] でコンパイルと Raspi 用の img ファイルができあがります。

こんな風に表示されたら、コンパイルは成功です。

出力先のフォルダ内をみてみましょう。

このように出力されていれば成功かと思います。

SDカードに書き込む

先ほど生成された kernel7.img がこのプログラムの本体です。まずはこれをSDカードにコピーしましょう。

次に、 C:\Ultibo\Core\firmware\RPi3 のフォルダにある下の3つのファイルをSDカードにコピーします。

結果、SDカードの中身は、下のようになります。

Raspi Zero に差して実行!

micro SD-CARD を Raspi に差して、HDMIケーブルとモニタを繋いで、電源コードを差し込めば、すぐに起動します。

さすがに、OS無しは起動が速い!

とりあえず、起動までできたので、次からはさっそくDelphi で書いた MZ-80K2 のエミュを移植したいと思います。

うん? まてよ。まだUSBキーボードのテストをしていなかった。こちらが先かな。

ということで、今回はここまで。

コメントを残す

CAPTCHA