diff --git a/trunk/bootrom/build/libraries/os/common/os_alarm.c b/trunk/bootrom/build/libraries/os/common/os_alarm.c index c9f1507..2f37fcb 100644 --- a/trunk/bootrom/build/libraries/os/common/os_alarm.c +++ b/trunk/bootrom/build/libraries/os/common/os_alarm.c @@ -64,7 +64,11 @@ static void i_osSetTimer(OSAlarm *alarm) delta = (s64)(alarm->fire - tick); //---- let timer be disable +#ifdef SDK_ARM11 + osClearTimerEventFlag(OSi_ALARM_TIMER); +#else // SDK_ARM9 osSetTimerControl(OSi_ALARM_TIMER, 0); +#endif // SDK_ARM9 //---- set interrupt callback osSetInterruptHandler( OSi_ALARM_IE_TIMER_ID, i_osArrangeTimer ); diff --git a/trunk/bootrom/include/brom/os/common/tick.h b/trunk/bootrom/include/brom/os/common/tick.h index 0149ac3..b010d94 100644 --- a/trunk/bootrom/include/brom/os/common/tick.h +++ b/trunk/bootrom/include/brom/os/common/tick.h @@ -53,7 +53,7 @@ extern void i_osSetTick( u64 ); #ifdef SDK_ARM11 #define OS_TICK_CLOCK HW_CPU_CLOCK #define OS_TICK_PRESCALE 1 -#define OS_TICK_HI_SHIFT 24 // 2の累乗単位でチック管理するのであれば32は指定できない(ロード値0では割り込みが発生しないため。最大31) +#define OS_TICK_HI_SHIFT 28 // 2の累乗単位でチック管理するのであれば32は指定できない(ロード値0では割り込みが発生しないため。最大31) #define OS_TICK_HI_LSB (1ULL<>1))