OS自作入門 -Advent01-
アドベントカレンダー始まった
フィリピン旅行記も書かなきゃいけないのだけど季節はアドベントカレンダーな季節です。
なのでワタリドリもアドベントカレンダーを始めてみたいと思います。
自分は好き勝手に積ん読を処理するため楽しそうな12ステップで作る組込みOS自作入門に取り組んでみたいと思います。嫁は好きに何か書いてくれるでしょう。
これ幸いに12stepなので1日で0.5step進めば計算上クリスマスイブにはOSが出来上がるはず。では早速始めよう。
OS自作入門 step1 前半
環境構築
HelloWorld的なプログラムが動くところまで頑張るステップ
クロスコンパイルかけてソースコードをH8(マイコン)に転送するやり方を採用する。
いろんな環境でのやり方が丁寧に書かれているがmacしかないからmacでやることにする。
シリアルポートがないのでシリアルポート <-> USBの変換ケーブルは購入済み。
本にはUbuntu用のPC買ってみたら?とかcygwinでやれば?みたいな話が載っている。
こないだ買ったラズパイでもできるような気もするが、進めてみて困ったらどうにかするとしよう。あとはディレクトリ走査やらテキストエディタの話がチラホラ載ってる。
コンパイラ周辺で必要なもの
- gcc (既に入ってた)
- make (既に入ってた)
- binutils
brew install binutils
でインストール - フラッシュROM書き込みツール
今回はH8/3069 writerにした
ダウンロード、解凍、srcに移動、make
で実行ファイルが出来上がる
HelloWorldプログラムを書いてみる
- main.c
main関数が入ってるCプログラム - startup.s
アセンブラで書かれたスタートアップファイル - vector.c
割り込みベクタ定義 - lib.h, lib.c
ライブラリ関数 - serial.h, serial.c
シリアル・デバイス・ドライバ - defines.h
- ld.scr
リンカスクリプト - Makefile
これらを本に従って書いていく。Makefile以外書いて力尽きた。
今日の成果はここまで。(Git Commit)
明日はMakefileを書いてbuildして、HelloWorldが動くところまでいけるといいなー。
- 前の記事
ブログ移行計画 -ラスト- ドメイン修正 2017.11.30
- 次の記事
久しぶりのブログ、新しいブログ -Advent02- 2017.12.02