ADD_TIMER

포스트: 2
Tags

Posts

2 posts

[라즈베리파이] 커널타이머 - 동적 타이머 실행(__mod_timer) 코드 분석

Guillermo Austin Kim|2018년 8월 10일

이제 add_timer()와 mod_timer() 함수들의 구현부를 살펴 보겠습니다. add_timer() 함수 구현부를 보면 mod_timer() 함수를 호출하니 기능적으로 add_timer() 함수와 mod_timer() 함수는 차이가 없습니다.void add_timer(struct timer_list *timer){ BUG_ON(timer_pending(timer)); mod_timer(timer, timer->expires);} int mod_timer(struct timer_list *timer, unsigned long expires){ return __mod_timer(timer, expires, false);} mod_timer() 함수는 __mod_timer() 함수를 호출하니 동

[라즈베리파이] 커널 타이머 - 동적 타이머 실행 코드

Guillermo Austin Kim|2018년 8월 8일

동적 타이머를 초기화만 하면 동적 타이머를 쓸 수 없습니다. 동적 타이머를 실행해야 합니다. 이를 위해 add_timer()/add_timer_on() 이나 mod_timer() 함수에 적절한 인자를 채워 호출해야 합니다. 보통 add_timer() 함수를 써서 동적 타이머를 실행하며 이후 동적 타이머 만료 시간을 다시 설정한 후 동적 타이머를 실행시킬 때 mod_timer() 함수를 씁니다. add_timer()와 mod_timer() 함수를 써서 로컬 타이머를 설정하는 코드를 살펴보겠습니다. 먼저 라즈비안에서 로컬 타이머를 실행하는 코드를 봅시다.1 bool bcm2835_sdhost_send_command(struct bcm2835_host *host,2 struct mmc_command