gd102 发表于 2011-5-15 23:45:54

!!将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.

谢谢!!

飞凌-fatfish 发表于 2011-5-16 08:26:40

楼主用什么编译器编译kernel?

gd102 发表于 2011-5-16 11:44:19

回复 2# 飞凌-fatfish


   我用的是 4.4.1

飞凌-fatfish 发表于 2011-5-16 13:18:10

请用手册中使用的编译器。

gd102 发表于 2011-5-16 22:09:45

本帖最后由 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:54:55

本帖最后由 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 ...

卡着不动了

飞凌-alexlee 发表于 2011-5-17 08:29:24

bootcmd=nand read 0xc0008000

这个uboot参数是50008000吧~

gd102 发表于 2011-5-17 10:00:37

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 ...    卡在这里

飞凌-alexlee 发表于 2011-5-17 13:12:50

请联系一下客服~
说一下具体步骤~

zhengd.gao 发表于 2011-9-1 10:30:32

zhengd.gao 发表于 2011-9-1 10:31:17

飞凌-fatfish 发表于 2011-9-1 11:00:51

1
页: [1]
查看完整版本: !!将kernel镜像下载到内存中,系统自动重启