ねこめもmkII(マークツー)

本家ねこめも (http://nekomemo2.site)の補助用。 主に勉強ネタ。

1stステップ(動作確認の環境構築)

まだ「30日でできる!OS自作入門」を進めているので具体的なところには手を出してないが、知りたい事があって書籍を購入後、結局周辺機器も購入した。
最初にやったことだけ記載しておく。 

購入したのは秋月電子で、半田付けが必要なキット版。
 http://akizukidenshi.com/catalog/g/gK-00209/

上記を動かすためのACアダプタも同時に購入。
 http://akizukidenshi.com/catalog/g/gM-06096/ 

PCと接続するためのRS-232C用ケーブルのみヨドバシカメラで購入。
エレコムのUC-SGT1。 

購入したボードがキットだったため、正しく部品が付いてるか気になり、とりあえず動作確認をするために環境だけは整えた。
参考にしたのは以下。ほぼこの通り。
 https://qiita.com/Shohei_miyasako/items/6e0e1a9f298bd8db3369 
一応やったことを下に書いていく。 

Windows10にRS-232C用ケーブルのドライバをメーカーホームページからダウンロードしてインストール。
開発環境はCygwin32bitをインストール。(setup-x86.exe)
インストール時に必要なソフトウェアにチェックを入れておく。上記ページの画像参照。
 binutils: 2.29-1
 gcc:7.3.0-3
 make: 4.2.1-2
 patch:0.3.4-1

必要なファイルをダウンロードしておく。
圧縮ファイルは末尾がbz2だったとしてもgzと同じコマンドで解凍できるので、とにかく同じバージョンを探す。 

 binutils-2.19.1( http://www.ring.gr.jp/pub/GNU/binutils/ ) 
 gcc-3.4.6( http://www.ring.gr.jp/pub/GNU/gcc/ )
 

ダウンロードしたファイルはC:\cygwin\home\ユーザ名の下に置く。
それぞれをインストール。時間がかかる。

 $ tar xvf binutils-2.19.1.tar.bz2
 $ cd binutils-2.19.1 $ mkdir build
 $ cd build
 $ ../configure --target=h8300-elf --disable-nls --disable-werror
 $ make
 $ make install

 $ tar xvf gcc-3.4.6.tar.gz
 $ cd gcc-3.4.6

本書のパッチファイルをダウンロード。
 http://kozos.jp/books/makeos/patch-gcc-3.4.6-x64-h8300.txt
同じフォルダに上記ファイルをpatch.txtとリネームしたものを置く。

gcc\collect2.cの1537行目を本書を参照して修正。
パッチを当てる。

 $ patch -p0 < patch.txt
 $ ../configure --target=h8300-elf --disable-nls --disable-threads --disable-shared --enable-languages=c --disable-werror
 $ make
 $ make install

準備ができたら、本書のソースコードをダウンロード。
 http://kozos.jp/kozos/osbook/osbook_03.zip
解凍し、フォルダ構成を編集。
最初のHelllo Worldのフォルダの場合、
 C:¥cygwin¥home¥ユーザ名¥osbook¥src¥01¥bootload¥

書き込みツールのkz_h8writeをダウンロード。
 https://ja.osdn.net/projects/kz-h8write/
これも配置を編集。
 C:¥cygwin¥home¥ユーザ名¥osbook¥src¥tools¥kz_h8write.exe
これに合わせてbootloadフォルダにあるMakefile内のフォルダ構成も編集。

Makefileのあるフォルダでmakeを実行。
 $ make
 $ make image

ボードを接続し、ポートを確認。
Makefile
 H8WRITE_SERDEV = comXX
のところを編集。自分の場合はcom3になった。

ボードのスイッチを書き込み用にして、
 $ make write
で、書き込み。

Teraterm
 https://ja.osdn.net/projects/ttssh2/releases/
からダウンロードし、インストール。
起動後「設定」「シリアルポート」にし本書の通りに設定。
今度はフラッシュROMからの起動用にボードのスイッチを変更。

接続後、リセットボタンを押すとTeratermの画面に
 Hello World!
と、出てくるはず。(リセットボタンを押すたびに増える)

これでハードウェアの動作は確認できた。
でも本書の内容はまだ読み込んでないので、引き続き学習する。