[KOZOS]Step5(p166): ELFフォーマットの展開
・p185の説明に従い、実行(rootで)。
# cd /mnt/hgfs/vm_share/kozos/140119_0630/src/05/extend_elf
# 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 -s -o → フルスクリーンモードで起動する。
シリアルポート設定が以下でなければSerial port setupを選択して設定へ。
+-----------------------------------------------------------------------+
| A - Serial Device : /dev/ttyUSB0 |
| B - Lockfile Location : /var/lock |
| C - Callin Program : |
| D - Callout Program : |
| E - Bps/Par/Bits : 9600 8N1 |
| F - Hardware Flow Control : No |
| G - Software Flow Control : No |
| |
| Change which setting? |
+-----------------------------------------------------------------------+
シリアルポート設定が済んでいれば、そのままExitへ進むと、minicomは終了せず待ちうけ画面になる。
minicom終了したい場合は、Crtl-A --> X。
H8/3069Fボードのリセットボタンをぐっと押す。以下プロンプトが出たら、loadと実行。
# Welcome to minicom 2.3
#
# OPTIONS: I18n
# Compiled on Aug 19 2010, 05:48:57.
# Port /dev/ttyUSB0
#
# Press CTRL-A Z for help on special keys
#
# kzload (kozos boot loader) started.
# kzload> load
loadを実行してから以下の手順を素早く実行するとxmodemでの転送に成功する。
また、xmodemで転送するファイルは、step4のkzload.elfなので、step4の作業DIRのパスをコピーしておく。
Ctrl-A --> Sと実行 > xmodemを選択 > 下のGoToを選択。
> step4のDIRをpasteし移動 > kzload.elfを選択し下のOkayを選択
> ファイル名が選ばれて無ければ、ファイル名を手打ちしてEnter
すると、ファイル転送のカウントが進み、最終的に以下の表示になった。
# +-----------[xmodem upload - Press CTRL-C to quit]------------+
# |Sending kzload.elf, 43 blocks: Give your local XMODEM receive|
# | command now. |
# |Bytes Sent: 5632 BPS:878 |
# kzload> l| |
# |Transfer complete |
# | |
# | READY: press any key to continue... |
# +-------------------------------------------------------------+
Enterを押して、プロンプト画面へ戻る。そこでdumpを実行。
すると、以下のような表示結果に。
# kzload> dump
# size: 1400
# 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 00 01 00 00 00 00 34
# 00 00 08 d0 00 81 00 00 00 34 00 20 00 03 00 28
# :
# 5f 72 65 63 76 00 5f 73 65 72 69 61 6c 5f 73 65
# 6e 64 5f 62 79 74 65 00 5f 73 74 61 63 6b 00 5f
# 6d 61 69 6e 00 5f 65 72 6f 64 61 74 61 00 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 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
# kzload>
本(Size 1380)とはSizeが違うし、末尾の結果も違う。
しかも、次にrunを実行すると何も出てこない。
dumpからrunまでの時間がかかり過ぎなのが原因かと思い、再度実行。
そしたらrunでちゃんと出た。以下の内容は本と一致。
# kzload> run
# 000094 00000000 00000000 00100 00100 06 01
# 000194 00000100 00000100 006ec 006ec 05 01
# 000880 00fffc20 000007ec 00010 00024 06 01
# kzload>
dumpの結果が違う理由が不明だが、正常にelfの展開が出来ているようだ。
Ctrl-A --> X でminicomを終了。