978-4-87783-239-1

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
(※ ここでは、赤文字はキーの入力を示します。)


2)ブートローダプログラムのフラッシュROMへの書き込み
前記事の「◆動作確認 5.マイコンボードのフラッシュROM へ書き込み 」と同じです。
 
・マイコンボードのディップスイッチは「書き込みモード」(左(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が通っている必要があります。)
 
 
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



12ステップで作る組込みOS自作入門
坂井 弘亮
カットシステム
2010-05