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時に教えてくれないんですね。その綴り違うよって。
このブログの編集フォームのほうが親切。
仕事で似たようなことやらかさないといいけど…
