『12ステップで作る 組込みOS自作入門』
(坂井 弘亮著、カットシステム、2010年)
4thステップ以降では XMODEMファイル転送機能を使って、OSプログラムをRAM上に展開して起動させます。この手順を Mac(OS X 10.9 Mavericks)で行う2つの方法についてまとめました。
・lrzsz を使う方法
・kz_xmodem を使う方法(←おすすめ)
○ lrzsz を使う方法
書籍に載っている lrzsz を使う方法ですが、Macでは書籍に記載されたコマンドとは違うので注意が必要です。
1)lrzsz のインストール
Macには lrzsz は入っていないので、Homebrew を使ってインストールします。
(Homebrew のインストール方法は省略します。)
$ brew install lrzsz
(※ ここでは、赤文字はキーの入力を示します。)
・マイコンボードのディップスイッチは「書き込みモード」(左(1) からON、ON、OFF、ON )に
・リセットボタンを押す
$ cd ~/12step/src/06/bootload (← 6thステップのプログラムの場合)
$ make write
3)OSプログラム(kozos)の RAMへの転送、実行
・マイコンボードのディップスイッチは「フラッシュROMからの実行モード」(左(1) からON、OFF、ON、OFF)に
$ cd ~/12step/06/os
$ sudo cu -l /dev/tty.usbserial-FTFMNRDG (←usbserial-XXXX は各自のドライバ名を入力)
Password: (← ここでパスワードを入力)
Connected.
(ここでリセットボタンを押す)
kzload (kozos boot loader) started.
kzload> load
~+ lsx kozos (←書籍の ~C lsx kozos ではないことに注意!)
(注意 ~+ は素早く入力しないと失敗する)Transfer complete
XMODEM receive succeeded.
kzload> run
starting from entry point: ffc020
kozos boot succeed!
command> echo test OK! (← echo の後に表示させたい文字を入力)
test OK! (←同じ文字が表示されたので、正常に動作しています!)
command> ~. (← 終了コマンド)
Disconnected.
参考)
→・ブートローダの作成完了 - 12ステップ本を試す その2 - satfyの日記
→・【学習メモ#4th】12ステップで作る組込みOS自作入門 - スライド18枚目〜 - sandai - SlideShare
○ kz_xmodem を使う方法
前回の記事でインストールした kz_xmodem を使う方法です。
こちらの方が手間が少なく、動作も安定しているようなのでお勧めです。
1)kz_xmodem のインストール
→前回の記事を参照
(kz_xmodemのある、~/12step/tools/bin に PATHが通っている必要があります。)
こちらの方が手間が少なく、動作も安定しているようなのでお勧めです。
1)kz_xmodem のインストール
→前回の記事を参照
(kz_xmodemのある、~/12step/tools/bin に PATHが通っている必要があります。)
2)ブートローダプログラムのフラッシュROMへの書き込み
(上の lrzsz の場合と同じです。)
・マイコンボードのディップスイッチは「書き込みモード」(左(1) からON、ON、OFF、ON )に
・リセットボタンを押す
$ cd ~/12step/src/06/bootload (← 6thステップのプログラムの場合)
$ make write
3)OSプログラム(kozos)の RAMへの転送
・マイコンボードのディップスイッチは「フラッシュROMからの実行モード」(左(1) からON、OFF、ON、OFF)に
・リセットボタンを押す
$ cd ~/12step/src/06/os
$ kz_xmodem kozos /dev/tty.usbserial-FTFMNRDG (←usbserial-XXXX は各自のドライバ名を入力)
=================================================
XMODEM for KOZOS H8/3069F (Version 0.0.2)
Copyright(C) 2012 Shinichiro Nakamura
=================================================
Flushing serial port.
Wait.
Setup load condition.
Wait a NAK.
.........
Transmit the target ELF file.
File(kozos): 11 blocks + 48 bytes
............
Wait a message from the target.
Complete.
4)OSプログラムの実行
(ここではリセットボタンは押さない!)
$ sudo cu -l /dev/tty.usbserial-FTFMNRDG (←usbserial-XXXX は各自のドライバ名を入力)
Password: (←ここでパスワードを入力)
Connected.
run
starting from entry point: ffc020
kozos boot succeed!
command> echo test OK! (← echo の後に表示させたい文字を入力)
test OK! (←同じ文字が表示されたので、正常に動作しています!)
command> ~. (← 終了コマンド)
Disconnected.
参考)
→・XMODEMでの転送について - サポートページ
→・XMODEM for KOZOS (12ステップで作る 組込みOS自作入門 KOZOS用ユティリティ kz_xmodem) - CuBeatSystems