!!将kernel镜像下载到内存中,系统自动重启
本帖最后由 gd102 于 2011-5-15 23:48 编辑【问题】
想把内核镜像下载到内存中,但是还没Checksum完毕,系统自动重启,
【操作】
SMDK6410 # dnw c0008000
OTG cable Connected!
Now, Waiting for DNW to transmit data
Download Done!! Download Address: 0xc0008000, Download Filesize:0x56c27b
Checksum is being calculated......data abort
pc : [<c7e1fa48>] lr : [<c7e1fa2c>]
sp : c7fffe34ip : 00000080 fp : c7e43f2a
r10: 00000056r9 : 00000057 r8 : c7e7ffdc
r7 : 00007e8cr6 : c057427b r5 : 00000000r4 : c057427b
r3 : 7e8c0000r2 : 7f005000 r1 : 0000000dr0 : 00000000
Flags: nZCvIRQs offFIQs offMode SVC_32
Resetting CPU ...
reset...
KK
【过程】
换了其它的内存地址(比如50008000),还是出现同样问题。
【相关信息】
1. SSMDK6410 # printenv
bootargs=root=/dev/mtdblock2 rootfstype=cramfs console=ttySAC0,115200
bootcmd=nand read 0xc0008000 0x100000 0x500000;bootm 0xc0008000
bootdelay=1
baudrate=115200
ethaddr=00:40:5c:26:0a:5b
ipaddr=192.168.1.20
serverip=192.168.1.10
gatewayip=192.168.1.1
netmask=255.255.255.0
stdin=serial
stdout=serial
stderr=serial
Environment size: 315/524284 bytes
2. SMDK6410 # bdinfo
arch_number = 0x0000065A
env_t = 0x00000000
boot_params = 0x50000100
DRAM bank = 0x00000000
-> start = 0x50000000
-> size = 0x08000000
ethaddr = 00:40:5C:26:0A:5B
ip_addr = 192.168.1.20
baudrate = 115200 bps
3.一键烧写正常,而且内核版本是2.6.36.2,是具有源代码编译而成的,大小5MB左右。
请高手帮忙指导解决,如何正常写入内存中,再执行 bootm.
谢谢!! 楼主用什么编译器编译kernel? 回复 2# 飞凌-fatfish
我用的是 4.4.1 请用手册中使用的编译器。 本帖最后由 gd102 于 2011-5-16 22:11 编辑
回复 4# 飞凌-fatfish
OK,换回 cross-4.2.2-eabi 交叉编译工具以后,checksum没问题了,但是使用bootm 时,却出现:Verifying Checksum ... Bad Data CRC:
具体如下:
1) 如果是dnw c0008000,就出现Verifying Checksum ... Bad Data CRC:
SMDK6410 # dnw c0008000
Insert a OTG cable into the connector!
OTG cable Connected!
Now, Waiting for DNW to transmit data
Download Done!! Download Address: 0xc0008000, Download Filesize:0x51c4cc
Checksum is being calculated......
Checksum O.K.
SMDK6410 # bootm c0008000
## Booting image at c0008000 ...
Image Name: Linux-2.6.36.2
Created: 2011-05-1613:43:19 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 5343624 Bytes =5.1 MB
Load Address: 50008000
Entry Point:50008000
Verifying Checksum ... Bad Data CRC
2) 如果是dnw 50008000,就会卡在那里不动。
SMDK6410 #
SMDK6410 # dnw 50008000
Insert a OTG cable into the connector!
OTG cable Connected!
Now, Waiting for DNW to transmit data
Download Done!! Download Address: 0x50008000, Download Filesize:0x51c48c
Checksum is being calculated......
Checksum O.K.
SMDK6410 # bootm 50008000
Boot with zImage
do not support this address : 50008000
Starting kernel ... 本帖最后由 gd102 于 2011-5-16 23:56 编辑
如果使用 4.3.2的话,无论用哪个地址都是:
Download Done!! Download Address: 0x50008000, Download Filesize:0x51c48c
Checksum is being calculated......
Checksum O.K.
SMDK6410 # bootm 50008000
Boot with zImage
do not support this address : 50008000
Starting kernel ...
Download Done!! Download Address: 0xc0008000, Download Filesize:0x51c48c
Checksum is being calculated......
Checksum O.K.
SMDK6410 # bootm c0008000
Boot with zImage
Starting kernel ...
卡着不动了 bootcmd=nand read 0xc0008000
这个uboot参数是50008000吧~ uboot的参数我没修改啊,都是你们网上提供的(2011-03-25)。
关键是,我只是把kernel下到内存的 50008000,而不是flash上。
然后bootm 50008000,它还是没正常工作呢:
Download Done!! Download Address: 0x50008000, Download Filesize:0x51c48c
Checksum is being calculated......
Checksum O.K.
SMDK6410 # bootm 50008000
Boot with zImage
do not support this address : 50008000
Starting kernel ... 卡在这里 请联系一下客服~
说一下具体步骤~ 1
页:
[1]