Monday, July 31, 2006

rt_task_set_period

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();
}

Blog Archive