도와주세요!!
글 수 15,339
2012.12.20 16:53:09 (*.136.146.211)
17762
안녕하세요
디바이스 드라이버 공부하고 있는 1인입니다.
초보라서 엉뚱한질문일지도 모르겠습니다.ㅠ
아무쪼록 이해해 주시기 바랍니다.
s100 보드는 사용하고 있는데요
확장보드를 만들어서 RS-232포트를 늘려 보려고 합니다.
16C554 칩을 사용해야하나 해서 칩을 준비했습니다.
그런데 부팅 메시지를 보니깐
ttySAC0 ~ ttySAC3까지 주소가 나오더라구요..?
그러면 현재 디버그 포트 ttySAC2 를 포함해서 0,1,3 을 확장할수 있는 것같다는 생각이 들었습니다.
16c554를 따로 확장해서 달지 않아도요
제말이 맞나요?;
맞다면 드라이버 소스를 수정하면 포트만 빼서 기능을 확장할수 있는지 궁금합니다.
기존 문헌들을 보다가
driver/serial/s5pv210.c
와 헤더를 찾던중 .. /include/asm-generic/serial.h
이거인것 같은데..
이부분에서 수정해주는것이 맞나요? ㅠ
조언좀 부탁드립니다. ㅠ
ttySAC0 ~ ttySAC3 까지는 CPU 에 있는 uart 포트를 사용할수 있도록 등록되어 있습니다.
해당 주소는 이미 사용하고 있다는 것이죠.
0,1,3 을 확장할수 있다는 생각은 하드웨어의 추가와 드라이버의 관계를 이해하지 못하고 계시기 때문입니다.
추가로 하드웨어를 달아서 드라이버를 올려보고 싶다면 먼저 확장 보드를 만드셔야 하는데
회로를 그리고 PCB 를 만들고 칩을 붙이고 CPU의 로컬 버스에 하나를 할당해서 붙여야 합니다.
제가 위에 한말을 이해하지 못하신다면 CPU 의 버스구조, 어드레스 할당등을 위한 이해를 먼저 하셔야 합니다.
그 후에 드라이버는 실제로는 커널에 이미 uart 호환칩이기 때문에 드라이버는 짜여져 있습니다.
하드웨어에 맞게 장치를 등록하는 방법만 찾으시면 되는데 이 역시 초보자에게는 간단한 일은 아닐겁니다.
위에서 제가 언급한 내용이 어느정도 이해될 정도까지는 공부를 좀더 하시고 계획을 잡으시는 것이 좋을것 같습니다.