1. rt_task_set_period()
2. xnpod_set_thread_periodic()
3. xntimer_start()
4. nktimer->do_timer_start()
5. xntimer_do_start_apeiodic()
6. xntimer_next_local_shot()
---------------------------------
1. rt_task_wait_period()
2. xnpod_wait_thread_period()
-----------------------------
ksrc/nuclueus/timer.c
-----------------------------
xntimer_do_tick_aperiodic()
----------------------------
ksrc/nucleus/timer.c
----------------------------
xntimer_next_local_shot()
----------------------------
include/asm-blackfin/system.h
-----------------------------
xnarch_program_timer_shot()
----------------------------
include/asm-blackfin/hal.h:
----------------------------
rthal_timer_program_shot():
static inline void rthal_timer_program_shot (unsigned long delay)
{
if (delay < 2) delay = 10;
*pTCOUNT = delay - 1;
__builtin_bfin_csync();
*pTCNTL = 3; /* Oneshot mode, no auto-reload. */
__builtin_bfin_csync();
}