기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.
aesop6410 보드에 있는 serial port 2 또는 3번을 사용하기 위해 J7과 J9에 wire를 연결하고 max chip도 붙였습니다. 커널은 aesop-android-2.6.29를 xwindow환경으로 compile 하였습니다. 그런데 Port2/3 로 데이타 통신이 되지 않았습니다. 그래서 port 1번을 확인해 보니 이것은 잘 동작하더군요. kernel를 확인해 보니 mach-smkd6410.c에 uart 2/3의 정의가 없더군요. 그래서 smdk6410 kernel를 참고하여 2/3를 추가해 주었습니다. 그런데 그래도 동작을 하지 않더군요. 음.....
그래서 2.6.21 kernel를 올려보았습니다. 그런데 port2/3 모두 잘 동작하더군요.
그래서 삼성에서 배포하는 2.6.28.6 도 test 해 보았습니다. 이것도 동작을 하지 않다군요.
정리해보면
2.6.21 과 2.6.24는 정상동작
2.6.28.6과 aesop-2.6.29는 동작안함.
위의 사항이 맞는지 경험 있으신분 조언 부탁드립니다.
아마, 2.6.21과 2.6.28 버전대의 시리얼 드라이버가 변경이 되어 나타나는 증상 같습니다.
제가 드라이버는 안들여다 봤지만, RFS 잡을 때 시리얼의 이름이 틀린 것으로 봐서 좀 변경이 된것 같네요.
보통 삼성 serial driver는 mach-smdk6410.c에서 베이스를 지정해주면, 그것에 따라 초기화를 수행 합니다.
삼성 시리얼 드라이버에 베이스 주소가 고정되었거나 하는 경우가 있을 수 있겠네요. :)
간단한 방법으로는 2.6.21에 있는 시리얼 드라이버를 2.6.28이나 2.6.29로 복사하신 후 테스트 해보시기 바랍니다.
(물론 약간의 수정이 필요할 수도 있습니다.)
그리고, 2.6.28과 2.6.29는 Kernel Low Level Debug Port라는 항목이 menuconfig에 새로 생겼습니다.
보통 시리얼 포트 2 또는 3으로 사용하기 위해서는 이 항목에서 포트 번호만 변경하시면 적용이 됩니다.
(C100 최신 커널이 그랬으니, 6410도 아마 비슷할 것이라고 생각 됩니다.)