기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

안녕하세요! 

리눅스 디바이스 드라이버 제작에 관하여 문의드릴려고 합니다. 


제가 리눅스 디바이스 드라이버 개발방법이 틀려진것을

최근에 알았습니다. 


예전에는 platform device + device driver


최근에는 device tree + device driver 


이렇게 변경된다고 이해하고 있습니다. 


이렇게 이해하는것이 맞는지도 궁금합니다.


이렇게 변할때 예전꺼나 최근거 혼용해서 사용해도 되는지 궁금합니다.


I2C는 platform device방법으로 


spi는 device tree방법으로 혼용이 가능한가요?


아시는 분 도움을 부탁드립니다. 


고도리

2015.02.15 01:02:34
*.200.239.210

대략은 맞습니다.


좀 바뀐 부분도 있지만요.....

혼용이 가능합니다. 


다만, 커널 버전에 따라 조금씩 다릅니다.

예전에 혼용했던 적이 있기는 합니다.



쾌도난마

2015.02.17 00:40:22
*.49.29.2

디바이스 드라이버를 무슨 목적으로 하느냐에 따라 다르지 않을까 싶네요.


만들고자 하는 디바이스 드라이버가 하위 호환성을 가지고 좀 오픈되어 남이 써도 상관 없다

-> Device Tree 방식과 Board 서술 방식 두개를 지원하도록 작성해야 할 것이고


우리 프로젝트에만 사용할 거다

-> 현재 프로젝트에서 사용하는 방식으로 작성해 놓으면 될 듯합니다.


결론적으로 알고 보면 드라이버 입장에서 동작은 동일 하게 작성 되어 지고

probe 할 때, 초기 HW 관련 값이 어디에 저장 되어 있는가에 대한 방식이므로

probe 할 때 약간만 신경써주면 될 듯 합니다. 

대부분의 모든 BSP 가 Device Tree 형식으로 가는 형태이므로

현재 프로젝트에서 Board 서술 방식을 사용안할 거라면 굳이 지원하게 할 필요 없겠죠

(현재 진행 프로젝트가 device tree 방식으로 변경 되어서 이런 고민하시는거 아닌가 싶네요 ㅎㅎ)


http://slowbootkernelhacks.blogspot.kr/2014/03/beaglebone-linux-kernel310x-programming.html


여기 포스트 추천 드립니다.


List of Articles
번호 제목 글쓴이 날짜 조회 수

사용자 로그인