『12ステップで作る組込みOS自作入門』読書”
2019-08-18 ss5

夏休み、友人達と友人宅で 12ステップで作る組み込みOS本 を読んで実装する合宿をやった。
repo
実はブートローダしか作っていない. todo
環境構築
- 方針を変えて ubuntu Docker container on Vagrant VM on Windows 10 Pro でビルド&書き込み環境を構築したい
- macOS用のドライバ見つかったのでMBPで進めます
- USBtoSerial driver for macOS 見つかった!
- これ の
Mac OS X 10.9 and aboveで64bitなやつ
- これ の
- デバイスが認識されているか
$ ls /dev/cu*
/dev/cu.Bluetooth-Incoming-Port /dev/cu.usbserial-FTRVI7J0- コンパイル & イメージ作成 & フラッシュROM書き込み
$ make
$ make image
$ sudo make write
../../tools/h8write/h8write -3069 -f20 kzload.mot /dev/cu.usbserial-FTRVI7J0
H8/3069F is ready! 2002/5/20 Yukio Mituiwa.
writing
WARNING:This Line dosen't start with"S".
Address Size seems wrong
WARNING:This Line dosen't start with"S".
Address Size seems wrong
.....
EEPROM Writing is successed.- シリアル接続
sudo cu -l /dev/tty.usbserial-FTRVI7J0
Connected.
Hello World!
Hello World!
Hello World!
Hello World!
Hello World!🎉🎉🎉
section3
- 割り込みベクタの長さが本では
0x000100だが リンカがエラー出すので0x000120にした.
ld.scr(抜粋)
MEMORY
{
romall(rx) : o = 0x000000, l = 0x080000 /* 512KB */
vectors(r) : o = 0x000000, l = 0x000120 /* top of ROM */
rom(rx) : o = 0x000120, l = 0x07ff00
ramall(rwx) : o = 0xffbf20, l = 0x004000 /* 16KB */
data(rwx) : o = 0xfffc20, l = 0x000300
stack(rw) : o = 0xffff00, l = 0x000000 /* end of RAM */
}section4
- 本では
cuでファイル転送する場合loadのあとに~Cと書いてあるがmacOSの場合は~+
kzload> load
Meta Z + Ssection5
酔い覚めたら文章読む todo