fc2ブログ

[KOZOS]Step6(p200): もう一度、Hello World

・書籍の説明に従い、ブートローダーとOSとでフォルダ分けた。
src/06/hello_world_again/bootload
src/06/hello_world_again/os

・p203~215までの各種ファイル修正を実施し、p216の手順に従い実行。

# cd /mnt/hgfs/vm_share/kozos/140119_0630/src/06/hello_world_again/os
# make
# readelf -a kozos.elf

これでkozos.elfが生成され、p217の説明通り、.text、.rodata、.data、.bssのアドレスは一致。
RAMに配置されている、という説明あるが、これは、いずれのセクションもld.scrで宣言された
ramアドレス(以下)の領域に入っているため。

ram(rwx) : o = 0xffc020, l = 0x003f00 → p106説明より。o=開始アドレス、l=サイズ。

次にブートローダーの方をmake。

# cd /mnt/hgfs/vm_share/kozos/140119_0630/src/06/hello_world_again/bootload
# make
# make: *** No rule to make target `vector.o', needed by `kzload'. Stop.

このエラーはvector.cをstep5からコピーするのを忘れただけのようだ。

# make
# make image

H8/3069FボードをUSBシリアルケーブルでノートPCへ接続。 → /dev/ttyUSB0が現れる
書き込み準備=DIPスイッチをON,ON,OFF,ON(電源OFF不要)
H8/3069Fボードのリセットボタンをぐっと押す。

# make write

書き込み成功したら、
動作準備=DIPスイッチをON,OFF,ON,OFF(電源OFF不要)

この後のminicomでのxmodemによる転送の際にDIR移動が面倒なので、転送したいファイルが存在する以下へ移動しておく。

# cd /mnt/hgfs/vm_share/kozos/140119_0630/src/06/hello_world_again/os

それからminicom起動。

# minicom -s -o → フルスクリーンモードで起動する。

minicomをExitで待機させ、H8ボードのリセットボタンを押してから次の手順で進む。


# kzload> kzload (kozos boot loader) started.
# kzload> load → リセットボタン押してプロンプトが出たらloadを実行して待ちうけさせる。

Ctrl-A --> S > xmodem > 既にロードしたいファイルが存在するDIRにいるので、そのままOkayを押す
  > kzloadと入力しEnterでxmodemによる転送開始。

xmodemによる転送が成功すると以下のように表示され、その後H8ボードでrunコマンド実行。

# XMODEM receive succeeded.
# kzload> run
# starting from entry point: ffffc020
# Hello World!
# > echo aaa
# aaa

bootloadプログラムで実装したrunコマンドによって、OSプログラムがロードされ、
意図した「Hello World!」が表示された。
また、その後のechoコマンドもH8ボードから応答があり成功してる。




本書では、ここまでが第一部で、
「ブートローダーによってシリアル経由でファームウェアをダウンロードして実行する」
という基本動作が完了した、とする。

答えが全て本書に書いてあるので、単になぞっているだけだが、とっつきやすいH8ボードで
フルスクラッチでここまでの動作が経験出来るというのは、貴重な良著だと思う。

答えを見ながらで、今の所深く考える事なく進んでしまうので、それほど頭には入って来ないが、
やはり最終目標に向かって手引書的に導く構成の本がうけると思う。
ビギナーを追いていかず、しっかり最後まで導くという点で有難い。
こういう本が増えてくれると、もっと高くてもきっと買い漁る人多いと思うのだが。
スポンサーサイト



カレンダー
01 | 2014/02 | 03
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 -
累積訪問者
現在の訪問者
現在の閲覧者数:
最新記事
最新トラックバック
最新コメント
月別アーカイブ
カテゴリ
プロフィール

bobgosso

Author:bobgosso
FPGAのブログへようこそ!

検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード