도와주세요!!
글 수 15,339
2008.11.27 10:52:00 (*.100.112.25)
9683
날로 높아 지는 소비자 요구 사항에 부응 하고자, 큰마음 먹고 임베이디드 리눅스를
제품에 적용하고자 현재 가능성 검토 중인 리눅스 왕초보 개발자 입니다.
나름대로 여기 올려진 강좌도 열심히 보고 추천하는 리눅스 드라이버 관련 서적도 구입해서
공부 하고 있습니다. 시간은 없고 공부 하면 할 수록 알아야 되는건 많고 답답하네요.
그동안 검토한 바로는, 임베이디드 리눅스 아래서 하드웨어를 제어하기 위해서는 디바이스
드라이버를 이용하는거 같고, 리눅스를 공부하는 개발자들에 의해 많은 CPU 관련 디바이스
드라이버가 이미 만들어져 배포 되고 있다고 들었습니다. 그래서 개발자는, 물론 나름대로 많은
노력을 기울여야 겠지만, 이미 만들어져 있는 디바이스 드라이버의 표준화된 인터페이스 를 이용
하면 제품 기능 추가시 신속하게 대응할 수 있다고 들었습니다.
그런데 문제가 가져다 쓰면 된다고 하지만, 정작 내가 필요로 하는 드라이버가 어디에 있고 제공
하는 함수는 어떤게 있으며 어떻게 이용해야 되는지 부터 막막하네요,
일예로 자료실에 올려진 S3C2440 보드에서 I/O 테스트를 할 수 있는 샘플 소스( dev-gpio.tar )
중 드라이버 소스를 보면
gpio_direction_output(...) / gpio_set_value(...) 이런 함수가 있는데, 이건 직접 작성한게 아니라
이미 만들어진 함수를 불러다 쓴거 같은데, 맞다면 이런 함수가 있다는 사실을 모른다면 단순히
디바이스 드라이버 만드는 방법을 알아 봐야 별 도움이 못된다고 생각 되네요.
어디서 디바이스 드라이버 에 관한 정보를 얻으려면 커널 Ducuments 폴더에서 찾아 보면 있다
는 얘길 듣고 찾아 봤는데 그 많은 내용을 다 읽어 볼 수도 없고 .....
커널에 포함된 디바이스 드라이버의 용도를 쉽게 알수 있는 자료 구할수 없나요?
주변에서 리눅스 공부 하는 사람들 얘길 들어 보면 임베이드드 리눅스를 처음 시작하면 최소 6개월
은 공부해야 되고 제품 개발 하려면 1년은 걸려야 된다고 하던데, 개인적인 생각으로 이렇게 접근성
이 떨어지면 상용 제품에 적용하기가 힘들거 같네요.
지금은 촉박한 제품 개발 기간땜에 부트 로더 수정해서 OS 없이 펌웨어로 개발할까 고민중 입니
다.
나름 EZ-AU1200 보드 구입해서 보드 회로도를 보고 하드웨어 설계하고 올려진 커널 이용해서
응용 프로그램만 만들려고 햇는데......알아야 될게 너무 많은거 같네요 ^^
2008.11.28 11:21:03 (*.138.143.22)
어플을 작셩하실때 라이브러리가 제공하는 모든 함수를 알지 못하는 것처럼 디바이스 드라이버도
모든 함수를 알수는 없습니다. 구력이 되면 알수 있죠
IO 제어함수들은 질문주신분도 알수있는 함수들입니다.
inb(), outb(), readb(), writeb() 등이구요
gpio 제어 함수는 커널 2.6 에서 표준으로 제정된 함수라 많은 분들이 모르시는 부분입니다.
커널소스 include 밑에 어딘가에서 gpio.h 를 찾아 보세요
우선 드라이버 공부를 하실려면 책을 먼저 보시는게 좋겠네요
개념을 이해하시고 몇개의 소스들을 훝어 보시면서 틀을 잡아나가세요
리눅스와 디바이스 드라이버를 모르신다면 현재의 프로젝트를 6개월내에 해결하실 수는 없습니다.
외주로 처리하시고 전체 프로젝트중 일부를 맡아 임베디드 리눅스를 알아나가시는게 좋을것 같군요
모든 함수를 알수는 없습니다. 구력이 되면 알수 있죠
IO 제어함수들은 질문주신분도 알수있는 함수들입니다.
inb(), outb(), readb(), writeb() 등이구요
gpio 제어 함수는 커널 2.6 에서 표준으로 제정된 함수라 많은 분들이 모르시는 부분입니다.
커널소스 include 밑에 어딘가에서 gpio.h 를 찾아 보세요
우선 드라이버 공부를 하실려면 책을 먼저 보시는게 좋겠네요
개념을 이해하시고 몇개의 소스들을 훝어 보시면서 틀을 잡아나가세요
리눅스와 디바이스 드라이버를 모르신다면 현재의 프로젝트를 6개월내에 해결하실 수는 없습니다.
외주로 처리하시고 전체 프로젝트중 일부를 맡아 임베디드 리눅스를 알아나가시는게 좋을것 같군요