diff --git a/trunk/bootrom/build/tests/thread/ARM11/main.c b/trunk/bootrom/build/tests/thread/ARM11/main.c index eedb896..01f07c4 100644 --- a/trunk/bootrom/build/tests/thread/ARM11/main.c +++ b/trunk/bootrom/build/tests/thread/ARM11/main.c @@ -26,13 +26,13 @@ void BromMain( void ) osInitThread(); while (1) { - OSTick tick = osGetTick(); u32 mon = osGetPerfMonitor(OS_MONITOR_1); + OSTick tick = osGetTick(); osSleep(1000); - mon = osGetPerfMonitor(OS_MONITOR_1) - mon; tick = osGetTick() - tick; - osTPrintf( "sleep mon = %llu msec\n", OS_TICK_TO_MSEC(mon) ); // MG20ではパフォーマンスモニタのクロックが違う + mon = osGetPerfMonitor(OS_MONITOR_1) - mon; osTPrintf( "sleep tick = %llu msec\n", OS_TICK_TO_MSEC(tick) ); + osTPrintf( "sleep mon = %llu msec\n", OS_PMON_TO_MSEC(mon) ); } } diff --git a/trunk/bootrom/include/brom/os/common/tick.h b/trunk/bootrom/include/brom/os/common/tick.h index 9ac505d..5a279ce 100644 --- a/trunk/bootrom/include/brom/os/common/tick.h +++ b/trunk/bootrom/include/brom/os/common/tick.h @@ -87,15 +87,6 @@ extern void i_osSetTick( u64 ); #endif // SDK_ARM9 //---- sec to tick -#define OS_SEC_TO_TICK( sec ) OSi_SEC_TO_TICK( sec, OS_TICK_PRESCALE ) -#define OS_SEC_TO_TICK32( sec ) OSi_SEC_TO_TICK32( sec, OS_TICK_PRESCALE ) - -#define OS_MSEC_TO_TICK( msec ) OSi_MSEC_TO_TICK( msec, OS_TICK_PRESCALE ) -#define OS_MSEC_TO_TICK32( msec ) OSi_MSEC_TO_TICK32( msec, OS_TICK_PRESCALE ) - -#define OS_USEC_TO_TICK( usec ) OSi_USEC_TO_TICK( usec, OS_TICK_PRESCALE ) -#define OS_USEC_TO_TICK32( usec ) OSi_USEC_TO_TICK32( usec, OS_TICK_PRESCALE ) - #define OSi_SEC_TO_TICK( sec, prescale ) ((OSTick)( (OS_TICK_CLOCK * (u64)(sec)) / (prescale) )) #define OSi_SEC_TO_TICK32( sec, prescale ) ((OSTick32)( (OS_TICK_CLOCK * (u32)(sec)) / (prescale) )) @@ -105,16 +96,16 @@ extern void i_osSetTick( u64 ); #define OSi_USEC_TO_TICK( usec, prescale ) ((OSTick)( ((OS_TICK_CLOCK/1000) * (u64)(usec)) / ((prescale) * 1000) )) #define OSi_USEC_TO_TICK32( usec, prescale ) ((OSTick32)( ((OS_TICK_CLOCK/1000) * (u32)(usec)) / ((prescale) * 1000) )) +#define OS_SEC_TO_TICK( sec ) OSi_SEC_TO_TICK( sec, OS_TICK_PRESCALE ) +#define OS_SEC_TO_TICK32( sec ) OSi_SEC_TO_TICK32( sec, OS_TICK_PRESCALE ) + +#define OS_MSEC_TO_TICK( msec ) OSi_MSEC_TO_TICK( msec, OS_TICK_PRESCALE ) +#define OS_MSEC_TO_TICK32( msec ) OSi_MSEC_TO_TICK32( msec, OS_TICK_PRESCALE ) + +#define OS_USEC_TO_TICK( usec ) OSi_USEC_TO_TICK( usec, OS_TICK_PRESCALE ) +#define OS_USEC_TO_TICK32( usec ) OSi_USEC_TO_TICK32( usec, OS_TICK_PRESCALE ) + //---- tick to sec -#define OS_TICK_TO_SEC( tick ) OSi_TICK_TO_SEC( tick, OS_TICK_PRESCALE ) -#define OS_TICK_TO_SEC32( tick ) OSi_TICK_TO_SEC32( tick, OS_TICK_PRESCALE ) - -#define OS_TICK_TO_MSEC( tick ) OSi_TICK_TO_MSEC( tick, OS_TICK_PRESCALE ) -#define OS_TICK_TO_MSEC32( tick ) OSi_TICK_TO_MSEC32( tick, OS_TICK_PRESCALE ) - -#define OS_TICK_TO_USEC( tick ) OSi_TICK_TO_USEC( tick, OS_TICK_PRESCALE ) -#define OS_TICK_TO_USEC32( tick ) OSi_TICK_TO_USEC32( tick, OS_TICK_PRESCALE ) - #define OSi_TICK_TO_SEC( tick, prescale ) ( ((u64)(tick) * (prescale)) / OS_TICK_CLOCK ) #define OSi_TICK_TO_SEC32( tick, prescale ) ( ((u32)(tick) * (prescale)) / OS_TICK_CLOCK ) @@ -124,6 +115,25 @@ extern void i_osSetTick( u64 ); #define OSi_TICK_TO_USEC( tick, prescale ) ( ((u64)(tick) * (prescale) * 1000) / (OS_TICK_CLOCK/1000) ) #define OSi_TICK_TO_USEC32( tick, prescale ) ( ((u32)(tick) * (prescale) * 1000) / (OS_TICK_CLOCK/1000) ) +#define OS_TICK_TO_SEC( tick ) OSi_TICK_TO_SEC( tick, OS_TICK_PRESCALE ) +#define OS_TICK_TO_SEC32( tick ) OSi_TICK_TO_SEC32( tick, OS_TICK_PRESCALE ) + +#define OS_TICK_TO_MSEC( tick ) OSi_TICK_TO_MSEC( tick, OS_TICK_PRESCALE ) +#define OS_TICK_TO_MSEC32( tick ) OSi_TICK_TO_MSEC32( tick, OS_TICK_PRESCALE ) + +#define OS_TICK_TO_USEC( tick ) OSi_TICK_TO_USEC( tick, OS_TICK_PRESCALE ) +#define OS_TICK_TO_USEC32( tick ) OSi_TICK_TO_USEC32( tick, OS_TICK_PRESCALE ) + +//---- sec to performance monitor +#define OS_SEC_TO_PMON( sec ) ( (u32)OSi_SEC_TO_TICK( sec, OS_TICK_PRESCALE*2 ) ) +#define OS_MSEC_TO_PMON( msec ) ( (u32)OSi_MSEC_TO_TICK( msec, OS_TICK_PRESCALE*2 ) ) +#define OS_USEC_TO_PMON( usec ) ( (u32)OSi_USEC_TO_TICK( usec, OS_TICK_PRESCALE*2 ) ) + +//---- performance monitor to sec +#define OS_PMON_TO_SEC( pmon ) OSi_TICK_TO_SEC( pmon, OS_TICK_PRESCALE/2 ) +#define OS_PMON_TO_MSEC( pmon ) OSi_TICK_TO_MSEC( pmon, OS_TICK_PRESCALE/2 ) +#define OS_PMON_TO_USEC( pmon ) OSi_TICK_TO_USEC( pmon, OS_TICK_PRESCALE/2 ) + #ifdef __cplusplus } /* extern "C" */