6410이라고 다를 바는 없다.
USB -> UART (SERIAL) 을 쓰고 싶다면 다음과 같이 한다.
make menuconfig 들어가서
device driver -> USB .. -> USB Serial ... 에서 적당한 것을 커널에 임베딩.
흔한 CP2101의 경우 걍 클릭하고 빌드하니까 된다.
제조사에서 구한 소스를 구한 경우 다음과 같이 한다.
모든 커널 모듈 빌드시에 비슷한 절차를 거친다.
보통 크로스 빌드, 임베디드 커널을 빌드할 때 항상 실수하는 것으로 호스트 커널 소스를 참조가 있다.
전통적으로 호스트 커널 소스는 다음 경로에 위치한다.
/usr/src/ ...
우분투 등에서 커널 헤더를 설치해야 커널 모듈 빌드가 된다.
설치했다면 다음과 같이 경로가 보인다.
/usr/src/linux-header-2.6.24.21
설치하려면
apt-get install kernel-package
물론 다 설치 되는 것이 아니고 헤더 및 경로만 설치한다.
추가적으로 ncurse 등이 없으면 make menuconfig 도 안 된다.
커널 빌드를 몇 번 해 본 사람들은 당연히 알겠지만..
자 이제 cp210x 드라이버 크로스 빌드를 해보자.
디렉토리를 다음 위치까지 만든다.
/home/dawnsea/exam/lib/modules/2.6.21/
이제 커널 소스 위치를 나타내는 심볼릭 링크를 만들자.
위 경로까지 들어간 후 크로스 빌드할 커널 소스가 설치된 곳에 링크를 건다.
ln -s /home/dawnsea/exam/kernel/s3c-linux-2.6.21 build
cp210x 드라이버 경로로 들어간 후.
./configure
cp Makefile26 Makefile
vim defaults.mk -> 각 경로를 크로스빌드 위치로 수정.
make -> 기존 커널 소스에서 빌드했던 이력에 따라 크로스 컴파일러로 빌드 됨.
이제 타겟머신으로 이동하여 기동해보자.
insmod cp210x.ko
잘 올라왔나 확인해보자.
cat /proc/tty/driver/usbserial
동작 확인을 하자.
cat /dev/ttyUSB0
자 이제 빌드놀이는 집어치고 개발을 해봅시다;;
팁!!! 이름도 몰라요 성도 몰라 USB로 제공하는 디바이스 이름을 모를때는 걍 PC에 한 번 꽂아보면 됨 -_-;