이번에 Linux device driver를 오랜만에 작성하게 되었습니다.
그냥 device를 다루는 녀석이 아니라, kernel thread등을 돌려서 여러가지 작업을 하는 driver입니다.
2.6.x 커널은 선점형 부분과 여러가지 문제때문에 손대지 않았고, 2.4 커널에서 작업을 했습니다.
리눅스로 시간에 민감한 프로그램을 작성해 보지는 않았었는데, 이번에 10us 의 resolution을 가진 RTOS 스타일의 프로그램을 작성했습니다.
결과는 아주 만족입니다. RTLinux 없이도 충분히 가능하더군요. 물론, RTLinux도 어차피 비슷하겠지만요.
제 밑에서 sw를 하는 친구한데, 이번에 Device driver를 손대게 했습니다.
이번에 일을 떼어줄까 하고, 몇가지를 시켰는데, 어떤 부분은 만족스러우나, 어떤 부분은 영 아니올시다...하는 부분이 있어서,
리눅스 Device driver 관련 책을 보게 했습니다.
일단 먼저, 그다지 참조하지는 말고, 개념정도만 익혀라...라고 했는데, 책에 부실한 부분이 은근히 많더군요(어느정도 생각은 하고 있었습니다만).
에궁....
해서 정리를 함 해볼까 생각중입니다.
이번에 바쁜일이 끝나면, aesop-2440 3차가 되었건, 1-2차가 되었건 특정보드를 타겟으로 2.6.x 커널중 하나를 선정해서 정리를 해볼까 합니다.
현재 2.6.13 커널로 주로 작업되어 있습니다만, 저번에 시간을 내서 2.6.16으로도 어느정도 까지는 작업을 했습니다.
그런데 리눅스 커널이 버전올라가는 속도가 너무 빨라졌고, 버전별 코드 변화가 너무 커서 어느 커널을 타겟으로 해야할지 고민중에 있습니다.
기본은 비슷하니, 2.6.13가지고 해도 큰 상관은 없겠지만, 여러가지 상황을 함 지켜봐야겠네요....^^
될지 안될지는 가봐야겠지만요....ㅎㅎ
회사에서 하드웨어쪽을 담당하다 보니 그 외적인것은 또 예전처럼
개인적으로 해야할듯 하네요...ㅋ
요즘 저도 device driver 책을 보고 있는데 중간까진 잘 봤는데
그 다음부터 진도가 잘 안나가네요..ㅋㅋ