tftp文件大小:
tftpboot 0x80700000 uImage_ipnc_dm368
TFTP from server 10.100.4.9; our IP address is 10.100.4.249
Filename 'uImage_ipnc_dm368'.
Load address: 0x80700000
Loading: #################################################################
#################################################################
###################################################
done
Bytes transferred = 2649900 (286f2c hex)
nand erase:
nand erase 0x500000 0x400000
擦除的大小远大于文件的大小
nand write:
nand write 0x80700000 0x500000 0x400000
写入的日志显示ok
nand dump:0x786f2c = 0x500000 + 286f2c
nand dump 0x786f2c 100
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
88 e8 28 c0 00 00 00 00 6c 8a 21 c0 00 8f 21 c0
80 8a 21 c0 2c 91 21 c0 02 00 08 00 00 04 00 00
f0 88 21 c0 00 00 00 00 d8 8f 21 c0 4c 89 21 c0
00 00 00 00 00 00 00 00 28 89 21 c0 0c 01 00 00
00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00
从dump的信息看出,写入的内容大于文件的大小
断电后,启动内核日志如下:
Loading from NAND 128MiB 3,3V 8-bit, offset 0x500000
Image Name: Linux-2.6.18_pro500-davinci_IPNC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2649836 Bytes = 2.5 MB
Load Address: 80008000
Entry Point: 80008000
## Booting kernel from Legacy Image at 80700000 …
Image Name: Linux-2.6.18_pro500-davinci_IPNC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2649836 Bytes = 2.5 MB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum … Bad Data CRC
data size = 2649836 < 2649900 这可能是导致CRC校验失败的原因
麻烦大家帮忙看看,分析什么原因,谢谢
Eason Wang:
你在uboot命令行下面,设置 setenv verify no ,再boot试试
user4046722:
回复 Eason Wang:
工程师您好,我也遇到这样的问题,不知该如何解决。
uImage 烧录:
tftpboot 0x80700000 uImage_ipnc_DM368;nand erase 0x500000 0x420000;nand write 0x80700000 0x500000 0x420000
烧录信息:
TFTP from server 192.168.1.101; our IP address is 192.168.1.30Filename 'uImage_ipnc_DM368'.Load address: 0x80700000Loading: ################################################################# ################################################################# ################################################################# ################################################################# #####################doneBytes transferred = 4114752 (3ec940 hex)
NAND erase: device 0 offset 0x500000, size 0x420000Erasing at 0x900000 — 100% complete.OK
NAND write: device 0 offset 0x500000, size 0x420000 4325376 bytes written: OK
启动信息:
DM36x initialization passed!TI UBL Base Version: 1.50Boot Loader BootMode = NANDStarting NAND Copy…Valid magicnum, 0xA1ACED66, found in block 0x00000008.Boot Mode Task Completed
IPNC UBL Version: 2.2.0Platform: DM368-432
UBL Executed Sucessfully
Jumping to entry point at 0x81080000
U-Boot 1.3.4 (Jun 19 2014 – 18:50:43) DM368-IPNC-5.1.0
I2C: readyDRAM: 128 MBNAND: NAND device: Manufacturer ID: 0xec, Chip ID: 0xf1 (Samsung NAND 128MiB 3,3V 8-bit)Bad block table not found for chip 0Bad block table not found for chip 0
loop oob 81021ad8 Bad block table written to 0x07fe0000, version 0x01
loop oob 81021ad8 Bad block table written to 0x07fc0000, version 0x01128 MiBIn: serialOut: serialErr: serialARM Clock :- 432MHzDDR Clock :- 340MHzEthernet PHY: GENERIC @ 0x01Hit any key to stop autoboot: 0
Loading from NAND 128MiB 3,3V 8-bit, offset 0x500000 Image Name: Linux-2.6.37_IPNC_DM368_5.1.0 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 4114688 Bytes = 3.9 MB Load Address: 80008000 Entry Point: 80008000## Booting kernel from Legacy Image at 80700000 … Image Name: Linux-2.6.37_IPNC_DM368_5.1.0 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 4114688 Bytes = 3.9 MB Load Address: 80008000 Entry Point: 80008000 Verifying Checksum … Bad Data CRCERROR: can't get kernel image!
使用setenv verify no后boot 启动OK
但如何不使用setenv verify no命令可以通过CRC校验呢?
Eason Wang:
回复 user4046722:
http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/100/p/236870/1192869.aspx#1192869
TI中文支持网