@ Kernel Timer
① struct timer_list 구조체 선언
② 맨 처음 timer를 초기화 : init_timer() 호출
③ timer 만료시간을 설정 : expires 설정 - jiffies=현재시각, TIMER_INTERVAL=주기
④ 설정된 정보로 timer 등록 : add_timer() 호출 시 "timer start"
⑤ 수행 중인 timer 종료 : del_timer() 호출 시 "timer stop"
① struct timer_list 구조체 선언
② 맨 처음 timer를 초기화 : init_timer() 호출
③ timer 만료시간을 설정 : expires 설정 - jiffies=현재시각, TIMER_INTERVAL=주기
④ 설정된 정보로 timer 등록 : add_timer() 호출 시 "timer start"
⑤ 수행 중인 timer 종료 : del_timer() 호출 시 "timer stop"
/*
* @file timer.c
* @brief Module Program for Kernel Timer
*/
#define TIMER_INTERVAL 20
static struct timer_list tm;
void timer_handler(int data)
{
printk("Timer Expired!\n");
tm.expires = jiffies + TIMER_INTERVAL;
add_timer(&tm);
}
... timer_open( ... )
{
init_timer(&tm);
tm.expires = jiffies + TIMER_INTERVAL;
tm.function = &timer_handler;
add_timer(&tm);
...
}
... timer_close( ... )
{
del_timer(&tm);
}
MODULE_LICENSE("GPL");
No comments:
Post a Comment