Step6(12ステップ本)

Step6ではロードしたELFファイルをメモリー上に展開し、エントリーポイントに処理を渡すまでを実装しました。
このステップからbootloadとosの2つに分かれます。
bootloadをROM上に配置し起動。bootloadでosをロードし、osのエントリーポイントへ処理を渡します。

Machine Name:os myaccount$ sudo cu -l /dev/cu.PL2303-00001004 
Connected.
kzload (kozos boot loader) started.
kzload> load
~+ lsx kozos
Sending kozos, 11 blocks: Give your local XMODEM receive command now.
Bytes Sent:   1536   BPS:395                             

Transfer complete

XMODEM receive succeeded.
kzload> dump
size: 600
7f 45 4c 46 01 02 01 00  00 00 00 00 00 00 00 00
00 02 00 2e 00 00 00 01  00 ff c0 20 00 00 00 34
00 00 04 b0 00 81 00 00  00 34 00 20 00 03 00 28
00 06 00 05 00 00 00 01  00 00 00 00 00 ff bf 8c
                      中略
1a 1a 1a 1a 1a 1a 1a 1a  1a 1a 1a 1a 1a 1a 1a 1a
1a 1a 1a 1a 1a 1a 1a 1a  1a 1a 1a 1a 1a 1a 1a 1a
1a 1a 1a 1a 1a 1a 1a 1a  1a 1a 1a 1a 1a 1a 1a 1a
1a 1a 1a 1a 1a 1a 1a 1a  1a 1a 1a 1a 1a 1a 1a 1a

kzload> run
starting from entry point: ffffc020
Hello World!
> echo aaa
 aaa
> echo bbb
 bbb
> abc
unknown.
> 
unknown.
> 

kozos.elfのreadelf出力

カテゴリー: 12ステップ本, H8 タグ: , パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA