組み込みOS自作入門(1章)
- 昔読んでいたけど、途中で読むのをやめてしまったのでリベンジ。
- 今回は1章。
1章で作るもの
- H8/3069Fのリセットボタンを押すと、「Hello World」を1回だけシリアル送信するプログラム。
- ただし、「Hello World」のシリアル送信に特化しているプログラムなので、汎用性を持たせるためにあとの章でいろいろ改良していく
つくる手順
- クロス開発環境の構築
gcc, binutils, Flash ROM書き込みツールなどインストール - シリアル送信ソースコードの作成
main関数、マイコン初期化処理、シリアル通信ドライバ、割り込みベクタ、オリジナルライブラリ、リンカスクリプト、Makefileを作る。 - ソースコードから実行形式ファイルを作成
- H8/3069FのFlashを書き換え
- リセットボタンを押す、と1回だけシリアル送信。
1章の目標はとりあえず作ってみるということなので、あまり内容の解説がありません。詳しい解説は次章以降に出てくるので、わからない部分があってもひとまず読み進めることをオススメします。
main関数が実行されるのは、マイコンの初期化がひととおり終わってから
PCでアプリケーションプログラム作るときはmain関数が実行される前はどうなっているかなんて考える必要はないけど、組み込みソフトにとっては重要な所だったりします。
マイコンの電源入れると、CPUがリセットベクタのアドレスを読みに行って、マイコンの初期化処理をなんやかんやしたあとでやっとmain関数にいきます。アセンブリでなんやかんや初期化処理してやらないとC言語の関数は使えないので。。