Hatena::ブログ(Diary)

不沈船金義丸

2010-10-21

12ステップで作る組み込みOS自作入門 1.1ステップ目

h8write動かず

make: *** [write] Error 127

が出て、フラッシュに書き込めてない模様。


gcc3.4.6がインストールできてないことを疑う。

この方、gcc-4.5.1をすんなりインストールできているよう。

http://blog.livedoor.jp/furikku9310/archives/52054343.html


ということは、h8関係のものが怪しい…か?

とりあえず再インストール

gcc-3.4.6の解凍からやり直す。

このメッセージが気になる.

*** This configuration is not supported in the following subdirectories:
     target-libffi target-boehm-gc target-zlib target-libjava target-libf2c
    (Any other directories should still work fine.)

別フォルダでビルドするとか、解凍したてのまっさらな状態からやるとかやったけど、

結局これから逃れられず。

s-traent.ads:61:01: (style) blank lines not allowed at end of file
a-exexda.adb:346:01: (style) multiple blank lines
a-exextr.adb:216:01: (style) multiple blank lines
make[1]: *** [ada/a-except.o] Error 1
make[1]: Leaving directory `/usr/local/gnu/gcc-3.4.6/BUILD/gcc'
make: *** [all-gcc] Error 2

そもそも

昨日の段階で、./configure以下のオプションの綴りが2、3箇所間違ってたからそのせいかも。

12ステップで作る組み込みOS自作入門 1.2ステップ目

Hello World!出ました!

ポカミスが原因のはず。

フラッシュの書き込み失敗の原因

直接の原因は、h8writeの置いてあるディレクトリ。

正:C:\cygwin2\src\tools\h8write\

誤:C:\cygwin2\src\tools\

ということです。

Makefileの記述と合ってないので、エラーとなってた。

それと、Windowsでは、

「シリアルのデバイスファイル」がcomX(Xは1,2,3のどれか)になることを

見落としてた。

本で言うとP42〜。

具体的には、

User@User-PC /src/01/bootload

$ # h8write -3069 -f20 kzload.mot com1

User@User-PC /src/01/bootload

$ make write

としなければならなかったっということ。

COMポートについては、

デバイスマネージャに出てるものを入力すればよいということなのかな?

gccのインストール

gcc-3.4.6の再インストールは、結局、

/usr/local/gnu/gcc-3.4.6/BUILDで

../configure --target=h8300-elf --disable-nls --disable-threads --disable-shared --enable-languages=c

としたらうまくいった。

本に書いてある、--disable-werrorは必要なし。


昨日の段階では、

--enable-languadges=c

というタイプミスをしていた可能性あり。

してなかったかもしれないけど。


フラッシュに書き込めなかったエラーは、

ディレクトリ構成の間違いか、com1の指定忘れが原因だったので、

gcc-3.4.6がインストールできてなかったかは分からない。


gcc-4.5.1は、同じやり方ではうまくいかない。

今、--disable-werrorを付加してmake中。

タイプミスとか…

俺爆発しろ、って感じ。

ていうか、make時に教えてくれないんですね。その綴り違うよって。

このブログの編集フォームのほうが親切。


仕事で似たようなことやらかさないといいけど…