#include "kozos.h"
#include "consdrv.h"
#include "timerdrv.h"
+#include "leddrv.h"
#include "lib.h"
/* ¥¿¥¤¥Þ¤Î¥«¥¦¥ó¥È³«»Ï¤ò¥¿¥¤¥Þ¡¦¥É¥é¥¤¥Ð¤Ë°ÍÍꤹ¤ë */
kz_send(MSGBOX_ID_CONSOUTPUT, len + 2, p);
}
-int clock_main(int argc, char *argv[])
+static void send_led_toggle(int target)
{
- send_start(3000);
+ char *p;
+ p = kz_kmalloc(2);
+ p[0] = LEDDRV_CMD_LED_TOGGLE;
+ p[1] = '0' + target;
+ kz_send(MSGBOX_ID_LEDDRIVE, 2, p);
+}
+int clock_main(int argc, char *argv[])
+{
while (1) {
+ send_start(100);
+ kz_recv(MSGBOX_ID_TIMEXPIRE, NULL, NULL);
+ send_led_toggle(0);
+
+ send_start(100);
kz_recv(MSGBOX_ID_TIMEXPIRE, NULL, NULL);
- send_write("ready.\n");
- send_start(3000);
+ send_led_toggle(1);
}
return 0;
======================================================================
01
======================================================================
- 「(H8移植編その2第3回)DRAM上で動かそう」から拝借したコード。
- http://kozos.jp/kozos/h8_2_03.html
- DRAM上でOSを動作させる事ができる。
- KOZOS EXPBRD #00のアプリケーションは、このコードをベースに
- 拡張していく事にする。
+ 「(H8移植編その2第3回)DRAM上で動かそう」から拝借したコード。
+ http://kozos.jp/kozos/h8_2_03.html
+ DRAM上でOSを動作させる事ができる。
+ KOZOS EXPBRD #00のアプリケーションは、このコードをベースに
+ 拡張していく事にする。
======================================================================
02
======================================================================
- 01にLED点灯制御を追加したバージョン。
- ブートローダ上ではLEDコマンドを使うことができる。
- OSを走らせるとLEDが交互に点灯と消灯を繰り返す。
+ 01にLED点灯制御を追加したバージョン。
+
+ (bootload)
+ LEDコマンドを使ってLEDの点灯と消灯ができる。
+ led1, led2, ledg, ledrが追加されたコマンド。
+
+ (os)
+ オリジナルのclock.cはreadyという文字列を出力する実装だった。
+ ここにLED1とLED2を交互に点灯させるコードを追加し、readyの文字列
+ 出力を削除した。
+ bootloadと同様にled1, led2, ledg, ledrコマンドも使用可能である。
======================================================================
tools/kz_h8write