天嵌 ARM开发社区

 找回密码
 注册
查看: 15025|回复: 24

TQ210 SD卡启动总是不行,改成烧写NAND以后也起不来,请教原因

[复制链接]
splendid 发表于 2012-10-14 21:47:45 | 显示全部楼层 |阅读模式
    按照手册说明的操作,用SD卡启动总是失败,串口打印停在starting kernel... 没有进行下一步解压缩
    使用IROM_Fusing_Tool_res_210制作SD启动卡成功后修改配置文件如下:
#### This is TQ210 SD config files ####
operating condition=install
OS Type=android
LED indicator=install
Beep=on
#### Others ####
bootloader=images\bootloader\u-boot_TQ210_v1.0.bin
LOGO=images\logo\logo_800x480.bin
#### Others end ####
#### Linux ####
kernel=images\linux\zImage_2.6.35.7_800x480_for_linux_V1.0.bin
rootfs=images\Linux\rootfs_linux_V1.0.bin
#### Linux end ####
#### Windows CE ####
stepldr=images\wince\MLC\stepldr.bin
eboot=images\wince\EBOOT.bin
NK=images\wince\NK.bin
#### Windows CE end ####
#### Android ####
kernel=images\android\zImage_2.6.35.7_800x480_for_android_V1.0.bin
rootfs=images\android\rootfs_android2.3_v1.0.bin
#### Android end ####
#### uCOS-II ####
uCOS-II Image=images\uCOS-II\TQ6410_UCOS-II.bin
#### uCOS-II end ####
#### User Application ####
Application Image=images\UserAPPS\TQ6410_Test.bin
#### User Application end #####

    镜像文件都放入相应的目录下,之后将拨码调到SD卡启动模式(14关,23开),将SD卡插入卡槽,启动,烧写打印如下:
##### EmbedSky BIOS for SKY210/TQ210 #####
This Board: SDRAM is 1024MB; LCD display size is: 800X480
Hit any key to stop autoboot:  0
SD and FAT initialize success!
file length is 0x382.
condition=INSTALL
OSType=LINUX
beep state=ON
bootloader=images\bootloader\u-boot_TQ210_v1.0.bin
file length is 0x60000.
NAND erase: device 0 offset 0x0, size 0x100000
Erasing at 0xe0000 -- 100% complete.
OK
NAND write: device 0 offset 0x0, size 0x60000
Main area read (3 blocks):
Checksum is calculated.
Main area write (3 blocks):
393216 bytes written: OK
logodir=images\logo\logo_800x480.bin
file length is 0x177000.
NAND erase: device 0 offset 0x200000, size 0x300000
Erasing at 0x4e0000 -- 100% complete.
OK
NAND write: device 0 offset 0x200000, size 0x177000
Writing data at 0x376800 -- 100% complete.
1536000 bytes written: OK
Linux zImage=images\linux\zImage_2.6.35.7_800x480_for_linux_V1.0.bin
file length is 0x40b144.
NAND erase: device 0 offset 0x500000, size 0x500000
Erasing at 0x9e0000 -- 100% complete.
OK
NAND write: device 0 offset 0x500000, size 0x40b144
Writing data at 0x90b000 -- 100% complete.
4239684 bytes written: OK
Linux rootfs=images\linux\rootfs_linux_V1.0.bin
NAND erase: device 0 offset 0xa00000, size 0x3f600000
Skipping bad block at  0x14120000                                            
Erasing at 0x3ffe0000 -- 100% complete.
OK
NAND write: device 0 offset 0xa00000
Writing data at 0x6c1f800 -- 100% complete.
106106880 bytes written: OK
Saving Environment to NAND...
Erasing Nand...
Erasing at 0x100000 -- 100% complete.
Writing to Nand... done
Start Linux ......
NAND read: device 0 offset 0x500000, size 0x500000

5242880 bytes read: OK
Boot with zImage
Starting kernel ...



运行至此就停住不动了,此时如果将拨码拨回nand启动,开机后串口毫无打印,没反应,将ini文件中的操作类型改为run,开机后串口打印为:
##### EmbedSky BIOS for SKY210/TQ210 #####
This Board: SDRAM is 1024MB; LCD display size is: 800X480
Hit any key to stop autoboot:  0
SD and FAT initialize success!
file length is 0x37e.
condition=RUN
u-boot will run OS!
Start Linux ......
NAND read: device 0 offset 0x500000, size 0x500000

5242880 bytes read: OK
Boot with zImage
Starting kernel ...

感觉NAND中的原厂系统被擦掉了,但是从NAND启动的时候没打印,说明uboot没启动,好像就没写进去似的,从SD卡启动也会失败,跟手册对照了一下没发现什么明显的问题,请问这个流程哪里有问题?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| splendid 发表于 2012-10-14 22:21:17 | 显示全部楼层
还有,不管我的拨码拨到什么启动模式,一上来都会去读取SD卡中的配置文件,然后再去读nand,设成nand启动的时候也会去读sd卡中的内容吗?相同的,设成sd卡启动以后如果sd卡里有镜像了是不是就不应该去读nand了?
embedsky_lhh 发表于 2012-10-15 09:10:55 | 显示全部楼层
不管从哪里启动,只要你启动的是TQ的uboot,都会去读SD卡的,你烧写没成功的原因可能是你的内核镜像搞错了
亚瑟王 发表于 2012-10-15 10:11:38 | 显示全部楼层
你的给的文件前后根本不一样啊,脚本是烧写android,实际运行又是烧写的Linux。感觉上是你那边弄错了引起的。
至于读SD卡的问题,不管是从Nand还是从SD卡启动都会优先判断SD卡是否存在,存在就读SD卡的内容然后分析。
 楼主| splendid 发表于 2012-10-15 20:19:38 | 显示全部楼层
亚瑟王 发表于 2012-10-15 10:11
你的给的文件前后根本不一样啊,脚本是烧写android,实际运行又是烧写的Linux。感觉上是你那边弄错了引起的 ...

不好意思,发帖的时候在试android的烧写是不是对的,所以贴错了,之前做的时候写的是linux不会有错,整体流程来讲我应该没做错吧?还有没有我没有注意到的地方
 楼主| splendid 发表于 2012-10-15 20:20:17 | 显示全部楼层
亚瑟王 发表于 2012-10-15 10:11
你的给的文件前后根本不一样啊,脚本是烧写android,实际运行又是烧写的Linux。感觉上是你那边弄错了引起的 ...

不好意思,发帖的时候在试android的烧写是不是对的,所以贴错了,之前做的时候写的是linux不会有错,整体流程来讲我应该没做错吧?还有没有我没有注意到的地方
 楼主| splendid 发表于 2012-10-15 20:30:27 | 显示全部楼层
我把配置文件重新贴一次:
#### This is TQ210 SD config files ####
operating condition=install
OS Type=linux
LED indicator=on
Beep=on

#### Others ####
bootloader=images\bootloader\u-boot_TQ210_v1.0.bin
LOGO=images\logo\logo_800x480.bin
#### Others end ####

#### Linux ####
kernel=images\linux\zImage_2.6.35.7_800x480_for_linux_V1.0.bin
rootfs=images\linux\rootfs_linux_V1.0.bin
#### Linux end ####

#### Windows CE ####
stepldr=images\wince\MLC\stepldr.bin
eboot=images\wince\EBOOT.bin
NK=images\wince\NK.bin
#### Windows CE end ####

#### Android ####
kernel=images\android\zImage_2.6.35.7_800x480_for_android_V1.0.bin
rootfs=images\android\rootfs_android2.3_v1.0.bin
#### Android end ####

#### uCOS-II ####
uCOS-II Image=images\uCOS-II\TQ6410_UCOS-II.bin
#### uCOS-II end ####

#### User Application ####
Application Image=images\UserAPPS\TQ6410_Test.bin
#### User Application end #####
亚瑟王 发表于 2012-10-16 09:21:01 | 显示全部楼层
splendid 发表于 2012-10-15 20:30
我把配置文件重新贴一次:
#### This is TQ210 SD config files ####
operating condition=install

现在SD卡不能启动?从Nand也不能启动,两者分别的串口信息是什么?
 楼主| splendid 发表于 2012-10-19 21:06:44 | 显示全部楼层
亚瑟王 发表于 2012-10-16 09:21
现在SD卡不能启动?从Nand也不能启动,两者分别的串口信息是什么?

你好,这两天有点事耽搁了,从nand启动的时候串口无输出信息,只有电源灯亮了,感觉boot不在nand里面,从sd卡的话有输出,信息在我第一篇帖子的最后,就是停在starting kernel这里,我再贴一遍
##### EmbedSky BIOS for SKY210/TQ210 #####
This Board: SDRAM is 1024MB; LCD display size is: 800X480
Hit any key to stop autoboot:  0
SD and FAT initialize success!
file length is 0x37e.
condition=RUN
u-boot will run OS!
Start Linux ......
NAND read: device 0 offset 0x500000, size 0x500000

5242880 bytes read: OK
Boot with zImage
Starting kernel ...

应该是没有找到kernel,所以解压缩那一步没进行
亚瑟王 发表于 2012-10-26 09:34:33 | 显示全部楼层
splendid 发表于 2012-10-19 21:06
你好,这两天有点事耽搁了,从nand启动的时候串口无输出信息,只有电源灯亮了,感觉boot不在nand里面,从 ...

根据你的描述和信息显示,也就是说,从SD卡能够启动,可能你的Nand中没有了内核等镜像导致不能启动Linux或Android。你需要按照TQ210的使用手册的第二章所讲解的方法重新更新内核、u-boot、开机logo和文件系统即可。
 楼主| splendid 发表于 2012-10-26 21:23:04 | 显示全部楼层
亚瑟王 发表于 2012-10-26 09:34
根据你的描述和信息显示,也就是说,从SD卡能够启动,可能你的Nand中没有了内核等镜像导致不能启动Linux或 ...

我想我一开始对SD卡启动的功能描述可能有所误解,你的意思是SD卡启动实际上就是运行了uboot,而内核和文件系统后续的加载实际上还是从nand中读取的,是这个意思吧?我理解的sd卡启动是nand里面什么都没有,boot,内核和文件系统全都放在sd卡直接从sd卡来实现启动流程,而不再去读nand里面可用的东西,这两种哪个是对的?
还有就是如果我用sd卡进行install的烧写操作,执行完以后也是会卡在starting kernel的位置,就是同样没找到内核,串口打印跟文档核对过,地址都对了,大小不太一样,有可能烧错了地方,有可能就没烧进去,个人感觉后者可能性大一些,因为拨回nand启动以后串口连uboot信息都没有打出来,完全没反应,我用tftp的烧写方式是可以正确实现烧写功能的,也可以正常的运行起来
亚瑟王 发表于 2012-10-27 09:57:34 | 显示全部楼层
splendid 发表于 2012-10-26 21:23
我想我一开始对SD卡启动的功能描述可能有所误解,你的意思是SD卡启动实际上就是运行了uboot,而内核和文件 ...

SD卡启动,也就是u-boot在SD卡上,其它的都在Nand Flash上。
 楼主| splendid 发表于 2012-10-27 21:57:31 | 显示全部楼层
亚瑟王 发表于 2012-10-27 09:57
SD卡启动,也就是u-boot在SD卡上,其它的都在Nand Flash上。

哦,明白了,那这样说的话sd卡启动就是好的了,之前试的时候有问题是因为sd卡烧写功能把nand里面的kernel弄坏了所以才起不来的,这部分功能应该还有问题
亚瑟王 发表于 2012-10-29 09:33:53 | 显示全部楼层
splendid 发表于 2012-10-27 21:57
哦,明白了,那这样说的话sd卡启动就是好的了,之前试的时候有问题是因为sd卡烧写功能把nand里面的kernel ...

那我就不清楚你是怎么操作的了。你按照手册重新更新固件就可以了。
 楼主| splendid 发表于 2012-10-30 20:04:13 | 显示全部楼层
亚瑟王 发表于 2012-10-29 09:33
那我就不清楚你是怎么操作的了。你按照手册重新更新固件就可以了。

我再调调看吧,用tftp的方式是成功的,还不行我就把所有操作和log整理出来给你看
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-6 23:14 , Processed in 1.046875 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表