CAFE

Q&A

s3c2440A 포팅하기(USB)

작성자진이당|작성시간04.09.18|조회수535 목록 댓글 3
드디어 제가 작업을 모두 성공했습니다.
그동안 작업한 내역을 설명하겠습니다.

우선 s3c2440a에 usb로 u-boot와 zImage , file system이미지를 올리는 방법을 설명하겠습니다.

우선 nand를 writer하기위해서 3가지 프로그램이 필요합니다.
1. dnw
2. u2440mon.bin(usb 다운로드 프로그램 AMD에 굽는 프로그램)
3. 2440atest 프로그램(삼성홈페이지에서 로그인 후 다운로드 하시면 됩니다.)
위의 3가지 소스에서 보드에 따라 serial쪽을 확인 하셔야 합니다.(uart0, uart1 인지 , 기본은 uart1)

소스 수정이 끝났으면,
map(partition)을 보면 u-boot는 0x0-0x2ffff, zImage( 0x30000-0x20,0000) , 파일시스템(0x20,0000-끝까지)
그럼 nand에 구울려면, u-boot는 0x0번지에 zImage는 0x30000 , 파일시스템은 0x200000번지에 구울 수 있습니다.

그런데, nand쪽 write하는 방법에서 소스를 보시면 아시겠지만, block계산하는 방식을 보셔야 합니다.
총 64MB짜리 nand 의 경우 0x0-0x4000 까지 되어 있습니다.
계산을 해 보니깐 0xc(12) 가 0x30000이 되더라구요...
0x80(128)이 0x200000번지가 됩니다.
0xc*512*32 = 0x30000
0x80*512*32 = 0x200000

그럼 먼저, u2440mon.bin을 AMD에 구운후 dnw를 실행을 합니다.
그러면, usb드라이버 설치하라는 내용이 나오면, 설치를 하시면 됩니다.(usb2410_r1.12_20030520)이름의 드라이버를 받으시면 됩니다. 2440과 동일함.

dnw가 정상적으로 동작을 하면, 총 4가지 메뉴중에 1번 download only를 선택
번지를 0x30100000로 설정 (SDRAM에 구울 이미지를 다운로드하는 시작번지) u-boot.bin을 다운로드합니다.
완료가 되면,
dnw에서 configration->options->usb port-> download address-> 0x30000000번지로 지정
dnw에서 0번을 선택 download & run을 실행합니다.
그럼 아래와 같이 나옵니다.


0:User Test 1:Manual Reg. Set 2:PCMCIA test 3:Stepping stone
4:Nand test 5:Program Flash 6:DMA test 7:Interrupt
8:Power/Clk 9:Lcd test 10:Camera test 11:SPI Test
12:IIC Test 13:RTC Test 14:IrDA Test 15:SD test
16:ADC test 17:ADC TS test 18:Timer test 19:IIS test
20:AC97 Test 21:Uart Test 22:CS8900 Test

Select the function to test : 4

Nand test
Select Nand flash type, Normal(1)/Advanced(2) : 1


K9S1208 Nand flash test start.


0:Read ID 1:Nand reset 2:Block erase 3:Page read
4:Page write 5:Nand R/W test 6:Check Badblock 7:Nand Block lock
8:Soft Unlock 9:K9S1208 Program

Select(-1 to exit): 9

[SMC(K9S1208V0M) NAND Flash writing program]
The program buffer: 0x30100000~0x31ffffff

Source size:0h~0h

Available target block number: 0~4095
Input target block number:


여기서 input target block number를 0x0
으로 넣고, Input target size에 0x30000을 넣습니다.



Source size:0h~0h

Available target block number: 0~4095
Input target block number:0x0
Input target size(0x4000*n):0x30000
File:196608[12-block,0-page,0-bytes].
............

0:Read ID 1:Nand reset 2:Block erase 3:Page read
4:Page write 5:Nand R/W test 6:Check Badblock 7:Nand Block lock
8:Soft Unlock 9:K9S1208 Program

Select(-1 to exit):

그럼 nand writer가 되고 부팅을 하시면 됩니다.

나머지 zImage도 같은 방법으로 하고, 파일시스템도 마찬가지로 하면 됩니다.

주의하실 부분은 zImage는 0xc, 0x200000 파일시스템은 0x80, 0x3000000(약50M)로
하시면 됩니다.
그러면, 정상적으로 빌드 되었다면, 커널이 잘 돌아 갑니다.





다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
  • 작성자고도리 | 작성시간 04.09.18 ^^ 감사합니다...
  • 작성자세리문 | 작성시간 04.10.05 그럼 먼저, u2440mon.bin을 AMD에 구운후 ==> AMD가 무었인가요? Nor flash라면 jtag으로 다운로드하라는 이야기인가요?
  • 작성자진이당 작성자 본인 여부 작성자 | 작성시간 04.10.05 sjf 프로그램으로 amd flash에 구우시면 됩니다. 처음 한번만 u2440mon.bin을 구우시면 됩니다.
댓글 전체보기
맨위로

카페 검색

카페 검색어 입력폼