kernel timer를 사용하려고 합니다. 일반 어플리케이션에서는 사용하지 못하는 것인가요???

xoduddk123의 이미지

안녕하세요.

리눅스에서 간단한 프로그램밍을 하고있습니다.

프로그램이 켜질떄 셋팅된 시간보다 경과된 시간이 많으면 일정한 동작을 하도록 만들고 있습니다.

일단 프로그램을 짤때는

usleep(100000); //1초 딜레이
TIME=TIME+1;

이런식으로 딜레이가 있을때마다 경과된 시간 TIME이라는 변수에 해당시간만큼 숫자를 증가시켜서 while(1)문을 돌면서

if(TIME_SET > TIME) 을 체크하도록 프로그래밍을 하였습니다.

그런데 최근에 알게된 사실인데 linux kernel에 커널 타이머라는 함수가 있다는것을 알게되었습니다.

이 함수를 이용하면 경과된 시간이 지나면 사용자가 정의해둔 함수가 호출된다는 것을 알게되었습니다.

그래서 인터넷을 검색하여서 커널타이머 함수를 사용하려면 #include 를 include해줘야한다는 글을 보고

일반 프로그램 어플리케이션에서 incldue를 하고 컴파일을 해보니

app_io.c:12:19: fatal error: timer.h: 그런 파일이나 디렉터리가 없습니다

위와 같은 같은 경고문이 나왔습니다.

커널타이머를 사용하기 위해서는 디바이스 드라이버단에서만 사용이 가능한것인가요??

일반 어플리케이션에서는 커널타이머를 사용하지 못하는것인가요???

너무 궁금합니다.

절대경로로 timer.h를 include를 포함시키니 또 그와 관련된 header file들이 없다고 나와서 진행을 못하고 있습니다 ㅠ.ㅠ

goforit의 이미지

>커널타이머를 사용하기 위해서는 디바이스 드라이버단에서만 사용이 가능한것인가요??

예.

어플리케션은 일반적으로 Posix Timer, RTC API 등을 사용합니다.