fc2ブログ

[KOZOS]Step7(p228): 割り込み処理を実装する

今回は説明が長い。

(2014.2.9追記)
■メモ
・.sと.Sの違い(本書p257)
 gccでは、両方の拡張子(小文字のsと大文字のS)をアセンブラ・ファイルとして認識するが、
 gccの動作に違いがある。
  .s = コンパイル前のプリプロセスが行われない。
  .S = コンパイル前のプリプロセスが行われる。

■作業手順
・ブートローダ側の修正(src/07/implement_interrupt/bootload)
 本書p249~266に従い修正。

・OS側の修正(src/07/implement_interrupt/os)
 本書p267~274に従い修正。

・bootload、osの両方でmakeを実行。bootloadの方はmake imageも実行して.motも作成。

・bootload側のDIRで以下でFLASHへの書き込み。(もちろん書き込み設定=ON,ON.OFF,ON)

[leon@localhost bootload]$ make write
/usr/local/bin/h8write -3069 -f20 kzload.mot /dev/ttyUSB0
FATAL:Can not open the line to the H8/OS system.
/dev/ttyUSB0make: *** [write] Error 3



・??何か手順間違ったと思ったけど、特におかしくない。でもいつもと違うのはrootでないこと。
 確かにrootでやってみたら成功した。

[root@localhost bootload]# make write
/usr/local/bin/h8write -3069 -f20 kzload.mot /dev/ttyUSB0
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.



・H8ボードを実行モード「ON,OFF,ON,OFF」へ。

・os側のDIRへ移動して、minicom -s -o を実行。すぐにExitで抜ける。

Welcome to minicom 2.3

OPTIONS: I18n
Compiled on Aug 19 2010, 05:48:57.
Port /dev/ttyUSB0

Press CTRL-A Z for help on special keys

ここでH8ボードのリセットを押すと以下が表示。

kzload (kozos boot loader) started.
kzload>

loadコマンドを実行して待たせておく。

kzload> load

Ctrl-A -> S > xmodem > Prevを選択 > Okayを選択 > kozos.elfと入力しEnter



・H8へのloadコマンドからここまで素早く実行すると無事elfが転送される。

kzload> run
starting from entry point: ffffc020
kozos boot succeed!
> echo test
test
>


 これで見た目にはステップ6と変わらないが、割り込みを使ったechoコマンドになっているとの事。
 ここまででブートローダーはほぼ完成との事。
スポンサーサイト



カレンダー
01 | 2014/02 | 03
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 -
累積訪問者
現在の訪問者
現在の閲覧者数:
最新記事
最新トラックバック
最新コメント
月別アーカイブ
カテゴリ
プロフィール

bobgosso

Author:bobgosso
FPGAのブログへようこそ!

検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード