개요
시리얼 포트를 연결하는 방법
EZ-X5 커널 2.4 에서 설정하는 방법
EZ-X5 커널 2.6 에서 설정하는 방법
EZ-X5에는 총 3개의 시리얼 포트가 있습니다. 이번 시간에는 EZ-X5에서 제공하는 3개의 시리얼 포트를 모두 통신에 사용하는 방법을 알아 보도록 하겠습니다.
EX-X5의 시리얼 포트 구성은 아래의 그림과 같습니다.
그러나!! EZ-X5도 커널 2.6 이상으로 업데이트하셨다면 각 시리얼 포트의 장치명은 아래와 같이 변경됩니다.
이 포트 중에 ttyS02(커널 2.6에서는 ttyPXA02)는 제품 출하 시 콘솔포트로 설정되어 있기 때문에 시리얼 통신으로 사용할 수 없습니다. 그러나 EZ-BOOT 모드의 set 메뉴를 이용하면 콘솔포트인 ttyS02(커널 2.6에서는 ttyPXA02)도 시리얼 통신으로 이용할 수 있습니다.
ttyS01과 ttyS02(커널 2.6에서는 ttyPXA00와 ttyPXA01)을 시리얼 포트로 사용하기 위해서는 아래의 그림에 해당하는 점퍼를 모두 USRT쪽으로 연결해야 합니다.
아래의 그림은 PC 또는 다른 시스템에 직접 연결되는 female 포트와 EZ-X5의 연결을 보여 줍니다. 이렇게 연결된 femail 포트는 다른 PC 또는 다른 시스템과 연결할 때 중간에 크로스 케이블이 필요 없습니다.
이해를 돕기 위해 간략 그림입니다.
변경하는 방법을 간단히 정리하면 아래와 같습니다.
- /etc/inittab 의 내용 중 TO 설정 내용을 주석 또는 삭제합니다.
- EZBOOT의 set 메뉴를 이용하여 console 설정 내용을 삭제합니다.
커널 2.4일 경우에는 /etc/ 에 있는 inittab 의 내용을 바꾸어야 하므로 아래의 강좌 내용에 따라 yaffs 모드로 변경하시십시오.
또는 아래의 설명에 따라 inittab 내용을 수정한 램디스크 이미지를 미리 EZ-X5에 쓰기를 하십시오.
/etc/inittab 의 내용입니다. 주석 처리로 표시된 곳의 T0 행을 삭제 또는 주석 처리하십시오.
: # Example how to put a getty on a serial line (for a terminal) # # T0:12345:respawn:/sbin/getty -L ttyS02 115200 vt100 <--- 주석 처리 #T1:12345:respawn:/sbin/getty -L tty1 115200 vt100 #T2:12345:respawn:/sbin/getty -L tty2 115200 vt100 # T1:23:respawn:/sbin/getty -L ttyS1 115200 vt100 #Example how to run portslave # #T0:23:respawn:+/usr/sbin/portslave 0 #T1:23:respawn:+/usr/sbin/portslave 1 #T2:23:respawn:+/usr/sbin/portslave 2
내용 수정 후에는 보드를 EZ-BOOT 모드로 부팅하신 후, set 메뉴에서 콘솔포트 지정을 삭제하면 모든 작업이 끝이 납니다.
WELCOME EZBOOT.X5 V1.7...................for PXA255 Program by You Young-chang, fooji (FALinux Co.,Ltd) Last Modify 2004.11.17 Boot Flash Check ...................... Detect AM29LV400 (BOTTOM)Flash : 22BA SIZE 4M-BIT [512Kbyte] NAND Chip Check ....................... Detect SAMSUNG [ec:76] 64MByte BAD BLOCK SCAN -> Kernel, Ramdisk Bad Block [0] CS8900 Init............................ Mac Address : [00 A2 75 F2 36 38] Detect value : [3000:3000] Chip ID : [0E63:000A] Quickly Autoboot [ENTER] / Goto BOOT-MENU press [space bar]. <--- 스페이스 키를 누릅니다. EZBOOT>set <--- set 실행 ^^; 1. MAC Address [00:a2:75:f2:36:38] 2. LOCAL IP [192.168.10.165] 3. HOST IP [192.168.10.31] 4. Host tftp directory [] 5. zImage file name [zImage.x5] 6. ram disk file name [ramdisk.x5-12M.gz] 7. boot loader file name [ezboot.x5] A. Autoboot wait time [3] B. Boot Menu Key [ ] C. Copy Ramdisk [Y/N] [Y] D. Architecture Number [303] E. Serial FF/BT/ST(0/1/2) [2] F. NAND-Partition MByte [1:5:58] (kernel:ramdisk:app) W. Watchdog (sec, off=0) [0] K. Kernel CMD 1st [noinitrd root=/dev/mtdblock2] M. Kernel CMD 2nd [console=ttyS02,115200] <--- 삭제할 내용입니다. N. Kernel CMD 3rd [] L. Load Default P. Apply & Exit S. Save 0. Exit Select >>m M. Kernel CMD 2nd [console=ttyS02,115200] Newvalue : <---- 아무것도 입력하지 말고 바로 엔터키를 누릅니다. ^^; 1. MAC Address [00:a2:75:f2:36:38] 2. LOCAL IP [192.168.10.165] 3. HOST IP [192.168.10.31] 4. Host tftp directory [] 5. zImage file name [zImage.x5] 6. ram disk file name [ramdisk.x5-12M.gz] 7. boot loader file name [ezboot.x5] A. Autoboot wait time [3] B. Boot Menu Key [ ] C. Copy Ramdisk [Y/N] [Y] D. Architecture Number [303] E. Serial FF/BT/ST(0/1/2) [2] F. NAND-Partition MByte [1:5:58] (kernel:ramdisk:app) W. Watchdog (sec, off=0) [0] K. Kernel CMD 1st [noinitrd root=/dev/mtdblock2] M. Kernel CMD 2nd [] <--- 내용이 삭제되었습니다. N. Kernel CMD 3rd [] L. Load Default P. Apply & Exit S. Save 0. Exit Select >>s <-- 변경된 내용을 저장합니다. Erase : OK Write : OK ...Saved ^^; 1. MAC Address [00:a2:75:f2:36:38] 2. LOCAL IP [192.168.10.165] 3. HOST IP [192.168.10.31] 4. Host tftp directory [] 5. zImage file name [zImage.x5] 6. ram disk file name [ramdisk.x5-12M.gz] 7. boot loader file name [ezboot.x5] A. Autoboot wait time [3] B. Boot Menu Key [ ] C. Copy Ramdisk [Y/N] [Y] D. Architecture Number [303] E. Serial FF/BT/ST(0/1/2) [2] F. NAND-Partition MByte [1:5:58] (kernel:ramdisk:app) W. Watchdog (sec, off=0) [0] K. Kernel CMD 1st [noinitrd root=/dev/mtdblock2] M. Kernel CMD 2nd [] N. Kernel CMD 3rd [] L. Load Default P. Apply & Exit S. Save 0. Exit Select >>0 <--- EZBOOT로 빠져 나갑니다. EZBOOT>rst <--- 보드를 리부팅합니다. WELCOME EZBOOT.X5 V1.7...................for PXA255 Program by You Young-chang, fooji (FALinux Co.,Ltd) Last Modify 2004.11.17 Boot Flash Check ...................... Detect AM29LV400 (BOTTOM)Flash : 22BA SIZE 4M-BIT [512Kbyte] NAND Chip Check ....................... Detect SAMSUNG [ec:76] 64MByte BAD BLOCK SCAN -> Kernel, Ramdisk Bad Block [0] CS8900 Init............................ Mac Address : [00 A2 75 F2 36 38] Detect value : [3000:3000] Chip ID : [0E63:000A] Quickly Autoboot [ENTER] / Goto BOOT-MENU press [space bar]..... Copy Kernel Image ..... Copy Ramdisk Image ..... Starting kernel [MARCH 303]... Uncompressing Linux................................................. done, booting the kernel. 더 이상 문자 출력이 없습니다. 이제 콘솔포트를 이용하여 시리얼 통신을 할 수 있습니다.
콘솔포트가 통신용 포트로 변경 되었기 때문에 이제부터는 LAN포트를 이용하여 연결해서 작업해야 합니다.
EZ-X5의 IP로 텔넷을 연결합니다. 콘솔포트였던 ttyS02로 문자열을 출력하여 수신이 되는지 확인합니다. EZ-보드에서는 별다른 설정을 하지 않는 이상 모든 시리얼 포트는 9600 baud, 8 data bits, none parity, 1 stop bits 입니다.
Welcom to J.D&T EZBOARD. ez-x5 login: root [root@ez-x5 /root]$ ls -al > /dev/ttyS02 <--- /dev/ttyS02 로 디렉토리 내용을 전송합니다. [root@ez-x5 /root]$
콘솔포트였던 ttyS02과 연결된 포트에서 디렉토리 내용이 출력되면 성공한 것입니다. 아래의 그림은 jwRsMonitor로 테스트한 모습니다.
커널 2.6에서의 작업은 더 간편합니다. EZBOOT모드의 set 메뉴에서 console 정보만 삭제하시면 됩니다.
- EZBOOT의 set 메뉴를 이용하여 console 설정 내용을 삭제합니다.
이후에 ttyPXA00부터 ttyPXA01, ttyPXA02 장치명으로 시리얼 테스트를 해 보십시오.