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

아래 로고는 제 임베디드 보드 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
번호 제목 글쓴이 날짜 조회 수sort
5248 루트파일시스템올리는데 성공했습니다.^^; 근데 터치가 안돼네요..;; [3] 서덕재 2009-03-26 576
5247 application 프로그램 실행시 다음과 같은 문제가 발생하는데요... [1] 백두산 2009-07-07 576
5246 커널 부팅 후 cat zImage > /dev/mtdblock1 실행하면 시간이 오래 ... [1] 정필성 2009-07-14 576
5245 page fault에 대해 질문이 있습니다. [2] 티레네 2009-12-12 576
5244 Libertas device driver 가 정확히 뭔가요... [1] nicknam 2010-02-12 576
5243 안드로이드 개발자가 되고 싶습니다. [2] 최고운 2010-02-18 576
5242 오드로이드 u-boot do_reset()하면 리셋 안되는 현상 [1] 장트러블탄 2010-05-20 576
5241 발열이 적은 PC/104 SBC 추천해주세요. just4you 2011-04-11 576
5240 아래 android speak sound capture 관련에 추가 질문입니다. [1] nalrsis 2011-04-28 576
5239 OK 만 출력 된다는 질문에 대한 추가 질문 file [2] 만년설화 2011-06-14 576
5238 graphic device driver 함수 중 fb_copyarea, fb_imageblit, fb_f... [1] 요셉 2010-04-14 577
5237 안드로이드 UI를 손보려면.. [2] 현쓰 2010-09-05 577
5236 PowerPC MPC8315에 rt3070sta모듈 문제점. 정찬홍 2010-10-19 577
5235 usb 부팅 어떻게 하는건지요? [1] nyanya01 2010-12-23 577
5234 touch 와 ADC 관련 질문입니다. [2] 김현수 2009-12-10 578
5233 [완료]test_sdl 실행시 에러가납니다. [2] 서두원 2007-01-27 578
5232 driver/misc/binder.c 박이삭 2009-10-01 578
5231 [질문]gtktest는 어떻게 하는지요? [7] 강현규 2007-11-28 578
5230 소모임 참여 문의 드립니다. [1] 김인상 2008-03-07 578
5229 CPU STAT가 D(for uninterruptible sleep) 상태가 되면서... 당그니 2010-03-01 578

사용자 로그인