S3C2440 보드에 리눅스를 포팅하기 위한 시도들을 적었다. 테스트를 허락해주신, DongSuk 형한테 고마울 따름이다 ^^;
보드 스펙은 다음과 같다.
CPU | S3C2410(ARM 9) |
RAM | 256BYTE |
FLASH | NOR, NAND |
ETC | ETHERNET, USB, SERIAL, JTAG |
부트로더 올리기
일단 JTAG 을 이용해서 부트로더를 보드에 올려야 한다. 호스트 PC 에 JTAG 드라이버를 설치하여 인식하도록 한다. 그리고나서, 지엠랩에서 받은 부트로더(u2440mon.bin)를 JTAG 프로그램을 이용해서 올린다. 압축을 풀어서 적당한 디렉토리로 옮긴 후에 아래와 같이 실행한다.
>sjf2440 /f:u2440mon.bin +------------------------------------+ | SEC JTAG FLASH(SJF) v 0.1 | | (S3C2440X & SMDK2440 B/D) | +------------------------------------+ Usage: SJF /f:<filename> /d=<delay> > S3C2440X(ID=0x0032409d) is detected. [SJF Main Menu] 0:K9S1208 prog 1:28F128J3A prog 2:AM29LV800 Prog 3:Memory Rd/Wr 4:Exit Select the function to test:1 // 1 번을 선택 [28F128J3A Flash JTAG Programmer] 28F128J3A 16bit Source size = 8da0h Available Target Offset Address: 0x0,0x20000,0x40000, ..., 0x1ce0000 Input target address offset [0x?] : 0 // 0 을 입력 Target base address(0x00000000) = 0x0 Target offset (0x0) = 0x0 Target size (0x20000*n) = 0x8da0 Identification : 0089 Device Number : 001d Erase the sector from 0x0. Block @0h Erase O.K. Blank check is skipped. Start of the data writing... [fe][1fe][2fe][3fe][4fe][5fe][6fe][7fe][8fe][9fe][afe][bfe][cfe][dfe][efe][ffe][ 10fe][11fe][12fe][13fe][14fe][15fe][16fe][17fe][18fe][19fe][1afe][1bfe][1cfe][1d fe][1efe][1ffe][20fe][21fe][22fe][23fe][24fe][25fe][26fe][27fe][28fe][29fe][2afe ][2bfe][2cfe][2dfe][2efe][2ffe][30fe][31fe][32fe][33fe][34fe][35fe][36fe][37fe][ 38fe][39fe][3afe][3bfe][3cfe][3dfe][3efe][3ffe][40fe][41fe][42fe][43fe][44fe][45 fe][46fe][47fe][48fe][49fe][4afe][4bfe][4cfe][4dfe][4efe][4ffe][50fe][51fe][52fe ][53fe][54fe][55fe][56fe][57fe][58fe][59fe][5afe][5bfe][5cfe][5dfe][5efe][5ffe][ 60fe][61fe][62fe][63fe][64fe][65fe][66fe][67fe][68fe][69fe][6afe][6bfe][6cfe][6d fe][6efe][6ffe][70fe][71fe][72fe][73fe][74fe][75fe][76fe][77fe][78fe][79fe][7afe ][7bfe][7cfe][7dfe][7efe][7ffe][80fe][81fe][82fe][83fe][84fe][85fe][86fe][87fe][ 88fe][89fe][8afe][8bfe][8cfe] End of the data writing Verifying Start... Verifying End!!!
위와 같이 나왔다면, flash 에 제대로 write 되었다고 볼 수 있겠다.
시리얼 확인 및 커널 올리기
시리얼로 연결 후에 보드의 전원을 올려보자!!
문제점
문제는 여기부터이다. 현재 시리얼로 아무런 문자도 출력하지 않는 문제가 있다.