FC2ブログ

[KOZOS]Step1(p23): まず最初はhello world出力ソースのビルド

・書籍p23からのソースを複写。
 結果以下のファイルリスト。

-rwxr-xr-x 1 bob None 1428 9月 16 19:30 Makefile*
-rwxr-xr-x 1 bob None 282 9月 16 18:25 ld.scr*
-rwxr-xr-x 1 bob None 226 9月 16 18:21 defines.h*
-rwxr-xr-x 1 bob None 2433 9月 16 18:06 serial.c*
-rwxr-xr-x 1 bob None 189 9月 16 10:07 serial.h*
-rwxr-xr-x 1 bob None 300 9月 16 10:05 lib.c*
-rwxr-xr-x 1 bob None 121 9月 16 10:03 lib.h*
-rwxr-xr-x 1 bob None 577 9月 16 10:01 vector.c*
-rwxr-xr-x 1 bob None 119 9月 16 09:58 startup.s*
-rwxr-xr-x 1 bob None 173 9月 16 09:57 main.c*



・ソースの複写が終わったので、makeコマンドでビルド実行。

w510: pwd
/cygdrive/c/cygwin/usr/local/src/01/bootload
w510: make
/usr/local/bin/h8300-elf-gcc -c -Wall -mh -nostdinc -nostdlib -fno-builtin -I. -0s -DKZLOAD vector.c
make: /usr/local/bin/h8300-elf-gcc: コマンドが見つかりませんでした
Makefile:47: recipe for target `vector.o' failed
make: *** [vector.o] Error 127



・案の定エラー。どっか、写し間違えてるな。
 っと思ったら、h8300-elf-gccが無いって!?なぜ?

・以下の9/16追記の通り、gccのインストールやってなかったのが原因だ。
[KOZOS]binutilsのインストール

・さっきとは違う結果だけどエラー出た。


w510: pwd
/cygdrive/c/cygwin/usr/local/src/01/bootload
w510: make
/usr/local/bin/h8300-elf-gcc -c -Wall -mh -nostdinc -nostdlib -fno-builtin -I. -0s -DKZLOAD vector.c
h8300-elf-gcc: unrecognized option `-0s'
/usr/local/bin/h8300-elf-gcc -c -Wall -mh -nostdinc -nostdlib -fno-builtin -I. -0s -DKZLOAD startup.s
h8300-elf-gcc: unrecognized option `-0s'
/usr/local/bin/h8300-elf-gcc -c -Wall -mh -nostdinc -nostdlib -fno-builtin -I. -0s -DKZLOAD main.c
h8300-elf-gcc: unrecognized option `-0s'
/usr/local/bin/h8300-elf-gcc -c -Wall -mh -nostdinc -nostdlib -fno-builtin -I. -0s -DKZLOAD lib.c
h8300-elf-gcc: unrecognized option `-0s'
/usr/local/bin/h8300-elf-gcc -c -Wall -mh -nostdinc -nostdlib -fno-builtin -I. -0s -DKZLOAD serial.c
h8300-elf-gcc: unrecognized option `-0s'
serial.c: In function `serial_init':
serial.c:59: error: `reg' undeclared (first use in this function)
serial.c:59: error: (Each undeclared identifier is reported only once
serial.c:59: error: for each function it appears in.)
Makefile:47: recipe for target `serial.o' failed
make: *** [serial.o] Error 1



・serial.cのregをregsへ変えて、ld.scrの誤字を修正して再実行。

w510: make
/usr/local/bin/h8300-elf-gcc vector.o startup.o main.o lib.o serial.o -o kzload -Wall -mh -nostdinc -nost
dlib -fno-builtin -I. -0s -DKZLOAD -static -T ld.scr -L.
h8300-elf-gcc: unrecognized option `-0s'
cp kzload kzload.elf
/usr/local/bin/h8300-elf-strip kzload
w510:



・以下出来た。何回もやったから本の通りでないけど、これで成功みたい。

-rwxr-xr-x 1 bob None 1124 9月 16 22:55 kzload*
-rwxr-xr-x 1 bob None 1785 9月 16 22:55 kzload.elf*



・次に、H8/3609のフラッシュROMへ書き込み出来るよう、elfからmotへ変換。

w510: pwd
/cygdrive/c/cygwin/usr/local/src/01/bootload
w510: make image
/usr/local/bin/h8300-elf-objcopy -O srec kzload kzload.mot
w510: lm
-rwxr-xr-x 1 bob None 2048 9月 16 23:02 kzload.mot*

カレンダー
08 | 2012/09 | 10
- - - - - - 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 29
30 - - - - - -
累積訪問者
現在の訪問者
現在の閲覧者数:
最新記事
最新トラックバック
最新コメント
月別アーカイブ
カテゴリ
プロフィール

bobgosso

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

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

この人とブロともになる

QRコード
QRコード