H8マイコン スタートアップってどこ。
自作OSを開始
まずは、クロスコンパイル用の開発マシンを準備しました。
- PC Dell(?なんかブックオフで中古で購入。2000円くらい)
- Ubuntu 14.04
第1部、第2部はごりごりソースを書きました。全然どこで何をしているのかわかりません。自作OSではC言語で書くのですが、Cは初めてです。なので全然読んでもどこでなにをしているのかわかりません。
で、ちょっとずつソースの内容(どこでなにをしているのか)を備忘録的につらつら書きます。
スタート・アップ
組み込みプログラムをしていて、まず知りたいのはたぶん「どこから処理が始まっているのか」やと思います。
プログラムの実行はstartup.sの_startからですこれを一般にスタート・アップといいます。
んでCPUはどのようにして、_startからはじめるのか。それは割り込みベクタに関して知る必要がある。CPUには割り込みという機能がある。CPUには割り込み線というピンがあって、そのピンに電圧がかかるとCPUが割り込みを検知して実行します。
割り込みベクタ・・・ベクタ割り込み方式
リセットベクタ・・・電圧ONやリセット時に発生する
H8の割り込みベクタは 0x000000 〜 0x0000ffにある。