筆者の坂井さんから天の声いただきました。
たしか風邪ひいていた時環境をエイッてつくったからぬかりがあったかも。
メールの内容紹介。
坂井です。
以下ですが、マイコンボード付属のCD-ROMに収録されているコンパイラ(h8300-hms-gcc)を利用しているということはないでしょうか。
バイナリを見たところ、ELFでなくCOFF形式になっているような気がします。
バイナリのフォーマットはfileコマンドで確認できます。
% file kzload.elf
のようにして確認してみてください。
CD-ROM付属のコンパイラ(binutils,gcc)を利用すると、フォーマットはELFでなくCOFFという形式になります。ブートローダーは作成できるのですが、この場合、以下の欠点があります。
(たしか書籍中でも言及していたように思います)
・readelfで解析できない
・ブートローダーは作成できるが、OSが作成できない
(正確にいうと、OS作成はできるがブートローダーでロードできないので利用できない。これは本書で作成するブートローダーが、ELFにしか対応していないためです)
この場合、6ステップ以降になると実践できなくなってしまいますので、書籍中で説明してある方法でクロスコンパイラを作成する必要があるように思います。
たしか風邪ひいていた時環境をエイッてつくったからぬかりがあったかも。
メールの内容紹介。
坂井です。
以下ですが、マイコンボード付属のCD-ROMに収録されているコンパイラ(h8300-hms-gcc)を利用しているということはないでしょうか。
バイナリを見たところ、ELFでなくCOFF形式になっているような気がします。
バイナリのフォーマットはfileコマンドで確認できます。
% file kzload.elf
のようにして確認してみてください。
CD-ROM付属のコンパイラ(binutils,gcc)を利用すると、フォーマットはELFでなくCOFFという形式になります。ブートローダーは作成できるのですが、この場合、以下の欠点があります。
(たしか書籍中でも言及していたように思います)
・readelfで解析できない
・ブートローダーは作成できるが、OSが作成できない
(正確にいうと、OS作成はできるがブートローダーでロードできないので利用できない。これは本書で作成するブートローダーが、ELFにしか対応していないためです)
この場合、6ステップ以降になると実践できなくなってしまいますので、書籍中で説明してある方法でクロスコンパイラを作成する必要があるように思います。