기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

아래 로고는 제 임베디드 보드 AT91SAM9M10G-45EK 보드의 로그 입니다.

현재 NAND 플래쉬를 이용해서 커널을 부팅 하려고 하는데 아래와 같이

 

NAND read에서 ERROR가 발생했으며, Bad CRC가 발생해서 커널을 로드하지 못하고 있습니다.

 

제가 현재 파티션을 bootargs에 나온 것처럼... 아래 테이블 처럼..해당 주소에 bootloader, u-boot, kernel, file system(jffs2)를

넣어 놨으며 u-booot bootargs도 이 테이블에 맞춰서...

 

bootargs=console=ttyS0,115200 root=/dev/mtdblock5 mtdparts=at91_nand:128k(bootstrap)ro,256k(uboot)ro,128k(env1)ro,128k(env2)ro,2M(linux),-(root) rw rootfstype=jffs2

 

위와 같이 넣어 놨습니다.

 

table.jpg

 

그런데 uboot에서 커널을 로드할 때 왜 이런 에러가 발생하는지 도저히 모르겠네요 ㅠㅠ; 고수님들의 친절한 답변 부탁드립니다. (혹시 힌트라도 아시면 덧글 부탁드립니다.)

  

====================================U-BOOT LOG ==============================================
U-Boot 1.3.4 (Mar 15 2012 - 14:09:40)

DRAM:  128 MB
NAND:  256 MiB
No Valid Environment Area Found
*** Warning - bad CRC or NAND, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   macb0
macb0: Starting autonegotiation...
macb0: Autonegotiation complete
macb0: link up, 100Mbps full-duplex (lpa: 0x41e1)
Hit any key to stop autoboot:  0

NAND read: device 0 offset 0xa0000, size 0x200000
 2097152 bytes read: ERROR                 

 <== 단지 NAND read에서 왜? 에러가 발생하는 건지 모르겠네요 NAND가 128KB단위기 때문에 문제가 없는데...
## Booting kernel from Legacy Image at 22000000 ...
   Image Name:   Linux-2.6.30
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    1756420 Bytes =  1.7 MB
   Load Address: 70008000
   Entry Point:  70008000
   Verifying Checksum ... Bad Data CRC
ERROR: can't get kernel image!

U-Boot> print
bootargs=console=ttyS0,115200 root=/dev/mtdblock5 mtdparts=at91_nand:128k(bootstrap)ro,256k(uboot)ro,128k(env1)ro,128k(env2)ro,2M(linux),-(root) rw rootfstype=jffs2
bootcmd=nand read 0x22000000 0xA0000 0x200000; bootm
bootdelay=3
baudrate=115200
ethaddr=02:80:ae:20:60:6f
ipaddr=192.168.1.252
serverip=192.168.1.246
netmask=255.255.255.0
ethact=macb0

Environment size: 351/131067 bytes

 

 

안되니 제가 강제로 uImage를 RAM으로 읽어 와서 아래와 같이 부팅을 하면 잘 됩니다. ㅠㅠ;

그런데 왜? NAND FLASH에 있는

OS를 부팅 하려면 안되는지...무슨 저장할 때 먼가 있는건지 ..............................

 

 

================================================================
U-Boot> t 0x22000000 uImage
macb0: link up, 100Mbps full-duplex (lpa: 0x41e1)
Using macb0 device
TFTP from server 192.168.1.246; our IP address is 192.168.1.252
Filename 'uImage'.
Load address: 0x22000000
Loading: #################################################################
         #######################################################
done
Bytes transferred = 1756484 (1acd44 hex)
U-Boot> bootm 0x22000000

 

혹시나 해서 보드의 셋업 코드의 파티션 나누는 부분도 아래와 같이 설정했습니다.

 

 

 

=================== 커널 셋업 코드 ================================

setup.jpg


혜민아빠

2012.03.16 01:15:44
*.148.23.122

메모리 덥프를 통해 보면 0x22000000 메모리 어드레서로 플래쉬의 어드레스 0xA0000번지의 값을 읽는 값이 보니

비슷한데 왜 이런 결과가 나오는 건지....참 애매하네요 ㅠㅠ

고도리

2012.03.16 02:51:39
*.200.239.234

커널 크기가 2M면 되나요?


size 체킹 부탁드립니다.

혜민아빠

2012.03.16 22:43:04
*.148.23.122

네 2M면 충분합니다. 로그에 나와 있듯이 현재 사이즈는 1.7M 정도입니다.

 

그런데 제가 테스트한 결과 이상하게 이 NAND 디바이스가 MICRON사 디바이스 인데요..

 

위의 NAND ADDRESS TABLE에서 커널을 0xA0000번지를 사용하지 않고 0x200000번지에 다가 커널을 넣어서

하니 동작을 하더라구요 ^^; 왜그런지 모르지만,,,먼가 쩝...엄청난 이유가 숨어있는듯 하네요..

List of Articles
번호 제목 글쓴이 날짜 조회 수
» u-boot에서 커널을 로드 하지 못할 때 (can't get kernel image!)는... file [3] 혜민아빠 2012-03-16 2378
5247 LVDS에 관한 문의입니다 [3] 박영호 2012-03-15 1348
5246 램을 늘리려 하는데요. [4] 현쓰 2012-03-15 1399
5245 mtd partition을 보드 셋업 코드에서 어떻게 나누는 것이 맞는 것... file [4] 혜민아빠 2012-03-14 1470
5244 ICS S4210 (type password to decrypt storage?) 문제... file [4] 아명 2012-03-14 1759
5243 커널에 드라이버를 포함했을 때는 동작하고 모듈 형태로 할 때는 동... 혜민아빠 2012-03-13 1075
5242 directfb + gtk2 + webkit 1.2.7 (without X11)관련 문의 [3] laconicblue 2012-03-13 1520
5241 USB 3.0 관련 질문 [3] 신현호 2012-03-12 1560
5240 안드로이드 플렛폼 질문... [2] 하루천재 2012-03-12 1392
5239 exynos4210(V310)의 u-boot에서 GPY0CON의 주소를 모르겠네요. [4] 훌러덩 2012-03-10 1817
5238 커널에 드라이버를 포함했을 때 인터럽트 함수를 사용했을 때 커널 ... [6] 혜민아빠 2012-03-09 2113
5237 분석과 포팅책을 보고있는데 질문하나드립니다. [3] daem0n 2012-03-09 1389
5236 Origen보드용 새 SD카드 사용하기 문의 [2] 다콩 2012-03-09 1642
5235 linux/arch/arm/mach-at91/ 폴더에 있는 board-sam9m10g45ek.c 파일은 무엇... [2] 혜민아빠 2012-03-09 1792
5234 patch software 버전에 따라 patch가 제대로 되지 않을 수 있나요... [2] 혜민아빠 2012-03-08 1304
5233 V310에서 u-boot쪽에서 SROM_CSn[1]을 선택 하려고 하는데요. memo... [1] 훌러덩 2012-03-08 1034
5232 V210 JTAG 추천 부탁 [3] 박명대 2012-03-07 1373
5231 임베디드 리눅스를 보드에 타겟팅 했을 때 부팅이 되지 않는 이유는... [2] 혜민아빠 2012-03-07 1668
5230 build.prop 생성방법이 궁금합니다. [1] yama 2012-03-04 1475
5229 출력에 대해서 궁금해서 질문 올립니다. [7] 하루천재 2012-03-03 1148

사용자 로그인