12日目(タイマー追加の1日目)
かなり間が空いたので、振り返りつつ進める。(これは別途ページ作成予定)
11日目以降から、各ファイルに追記する箇所がわかりやすくなってきた。
が、微妙に違う箇所もあるので油断は禁物。
一応CD-ROMの内容と比較して見るほうがいい。
それとUbuntu上でやっているので、それに合わせた修正をするのに多少注意が必要。
今回からtimer.cが増える。Makefileに忘れずに追記。
本書に記載されている以外に、bootpack.hにもinthandler20関連の追記を忘れないように。 よくやるので。(今回も忘れてエラーを出した)
あと、IRQの説明で不明な点はoswikiで確認。
harib09bでbootpack.hの追記、本書に書かれている
/* timer.c */
struct TIMERCTL {
unsigned int count;
};
だけでなく、次の行に
extern struct TIMERCTL timerctl;
も必要。
これに気づかず、かなり時間を食った。
やはり元のファイルを見ながらの確認も必要。
harib09dのbootpack.hも同じく。
本書に記載されていること以外にも追加されてるので、これにも引っかかった。
それ以降は変数名の変更を間違えなければ大丈夫そう。
余談だが、「時刻調節プログラム」はよくわからないので飛ばした。
結局今回編集したのはbootpack.c bootpack.h timer.cのみだが、タイプミスにかなり苦しんだ。
それとここに来て、Visual Studio Codeの良さがわかってきた。
Windowsでやり直すことがあったら引き続き使っていこうと思う。
今回参照させて頂いたサイト:
http://oswiki.osask.jp/?cmd=read&page=%28PIT%298254&word=irq0