天嵌 ARM开发社区

 找回密码
 注册
查看: 5984|回复: 16

u-boot在nand中引导内核的问题

[复制链接]
424602394dzr 发表于 2012-1-20 22:31:11 | 显示全部楼层 |阅读模式
各路的大侠啊,帮帮忙啊,我移u-boot移了一周了.....一直弄不好,倍受打击啊......会不会都来看吧,只要你有什么见解我都愿意去试试的......我不怕麻烦,只求让我移植得u-boot....网上找了好久,没找到答案啊......请解:dizzy:
我照    移植u-boot-1.1.6到TQ2440文档 中移植u-boot的,可是出现的问题有

1、我保存环境变量时出现下面的情况:
U-Boot 1.1.6 (Jan 20 2012 - 18:52:50)
DRAM:  64 MB
Flash:  2 MB
NAND:  512 MiB
*** Warning - bad CRC or NAND, using default environment
In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  0
[TQ2440] # save
Saving Environment to NAND...
Erasing Nand...nand_erase: attempt to erase a bad block at page 0x00000200
[TQ2440] #




2、我用tftp 把内核下载到SDRAM中 ,然后bootm 0x30000000 内核可以正常运行。但我在nand中运行时却不行。
U-Boot 1.1.6 (Jan 20 2012 - 18:52:50)
DRAM:  64 MB
Flash:  2 MB
NAND:  512 MiB
*** Warning - bad CRC or NAND, using default environment
In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  0
NAND read: device 0 offset 0x200000, size 0x300000
3145728 bytes read: ERROR
## Booting image at 32000000 ...
Bad Magic Number



我原来的环境变量是

[TQ2440] # printenv
bootargs=noinitrd root=/dev/mtdblock2 init=/linuxrc console=ttySAC0
bootcmd=nand read 0x32000000 0x200000 0x300000;bootm 0x32000000
bootdelay=3
baudrate=115200
ethaddr=10:23:45:67:89:AB
ipaddr=192.168.1.6
serverip=192.168.1.8
netmask=255.255.255.0
stdin=serial
stdout=serial
stderr=serial
Environment size: 289/131068 bytes
[TQ2440] #

其它的跟那文档上一样的,我对过两遍了........

超级忍者龟 发表于 2012-1-21 10:03:31 | 显示全部楼层
你把uboot读nandflash的环境变量的flash范围改下:
你原来的是nand read 0x30000000 0x200000 0x300000;bootm 0x30000000
因为0x200000到0x300000空间不够吧,除非你的内核裁剪的很小了(一般都1点多M的),你试试呗!
 楼主| 424602394dzr 发表于 2012-1-21 15:26:12 | 显示全部楼层
超级忍者龟 发表于 2012-1-21 10:03
你把uboot读nandflash的环境变量的flash范围改下:
你原来的是nand read 0x30000000 0x200000 0x300000;bo ...

谢谢楼上大哥,那个0x200000 0x300000 意思应该是偏移地址为0x200000   大小为0x300000这样吧,这有3M的空间了.....我试了下把0x300000改成0x500000 还是一样的情况呢....我内核2.2M而已
超级忍者龟 发表于 2012-1-21 15:54:16 | 显示全部楼层
哦,记错了,那你内核烧到nandflash的0x20000开始的位置吧?nandflash坏块可能是假坏块,看上去你的uboot好像老提示坏块,你试试uboot下面对nandflash的读写行不行,怀疑可能uboot里面nandflash的驱动问题吧,TQ2440的nandflash应该是256M的!兄弟你试试看先。
 楼主| 424602394dzr 发表于 2012-1-22 19:17:26 | 显示全部楼层
超级忍者龟 发表于 2012-1-21 15:54
哦,记错了,那你内核烧到nandflash的0x20000开始的位置吧?nandflash坏块可能是假坏块,看上去你的uboot好 ...

我买扩展到512M的板子了.....我用我移植的uboot擦除flash 是可以的擦除的,我下载TQ的原码下去没说有坏块,估计是我移植有问题吧,,,我再看看程序吧,兄弟新年快乐.......
超级忍者龟 发表于 2012-1-23 00:27:02 | 显示全部楼层
424602394dzr 发表于 2012-1-22 19:17
我买扩展到512M的板子了.....我用我移植的uboot擦除flash 是可以的擦除的,我下载TQ的原码下去没说有坏块 ...

嘿嘿,好的,新年快乐,问题解决了的话交流一下,QQ:28513349
 楼主| 424602394dzr 发表于 2012-1-23 19:26:36 | 显示全部楼层
Lady冠溪 发表于 2012-1-23 09:23
很好啊.谢谢楼主啊

:L大哥,好啥呢?谢我啥呢?我这问题还没答案呢........
 楼主| 424602394dzr 发表于 2012-1-23 19:28:16 | 显示全部楼层
超级忍者龟 发表于 2012-1-23 00:27
嘿嘿,好的,新年快乐,问题解决了的话交流一下,QQ:28513349

好,等我解决了一定说出来,后面再加Q,现在这几天有事忙没空聊Q,太早加了久点不聊我会忘了你是哪位的,哈哈哈
超级忍者龟 发表于 2012-1-24 04:19:57 | 显示全部楼层
:)好的,加油兄弟!
danshi126 发表于 2012-1-26 10:51:29 | 显示全部楼层
你内核的入口加载地址是多少?我遇到这个问题,但已解决  这个是我的问题的地址:http://www.armbbs.net/forum.php?mod=viewthread&tid=10529
danshi126 发表于 2012-1-26 10:54:10 | 显示全部楼层
本帖最后由 danshi126 于 2012-2-8 10:11 编辑

aaaaaaaaaaaaaaaaaaaaaaaa
 楼主| 424602394dzr 发表于 2012-1-26 21:01:45 | 显示全部楼层
danshi126 发表于 2012-1-26 10:51
你内核的入口加载地址是多少?我遇到这个问题,但已解决  这个是我的问题的地址:http://www.armbbs.net/for ...

内核是用TQ给的镜像....我现在知道哪出问题了,对nand的读写,擦除全部都不行,是nand驱动问题,我的nand是512M的,找别人移植的都是256M以下的,我照着他们移nand都不成功,网上也找不到512M的nand移植方法.....正在郁闷,再找不到要细学一下u-boot才行了......兄弟,你试过512M的吗..要是有资料给点小弟参考啊,谢了
 楼主| 424602394dzr 发表于 2012-1-26 21:19:42 | 显示全部楼层
danshi126 发表于 2012-1-26 10:54
还有,内核写入NAND的时,,,写入时要用nand.yaffs命令,不能用nand.jffs2命令,否则内核读出来也会启动不 ...

Device 0: NAND 512MiB 3,3V 8-bit, sector size 16 KiB

这个是nand info出来的,我试过原厂的能运行的是sector size 128Kib  这个在哪设置呢?
亚瑟王 发表于 2012-2-3 18:44:27 | 显示全部楼层
楼主,你自己移植的u-boot把?你的u-boot的Nand部分有问题,判断出来的Nand Flash的参数是错误的。
512MB的Nand Flash的页是2K的,块是128K的,而你的读出来的是16K的(也就是页是512字节的)。建议你用天嵌科技提供的u-boot的Nand驱动代替你自己移植的驱动。
 楼主| 424602394dzr 发表于 2012-2-8 00:36:55 | 显示全部楼层
亚瑟王 发表于 2012-2-3 18:44
楼主,你自己移植的u-boot把?你的u-boot的Nand部分有问题,判断出来的Nand Flash的参数是错误的。
512MB的 ...

:lol不好意思啊,这几天都没上网,没能及时回复你.....确实是Nand 驱动有问题,我照着别人的移,但他们都是256M以下的Nand,现在正在慢慢看天嵌给的u-boot,天嵌提供的u-boot能正常驱动的......谢谢了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-5-19 04:54 , Processed in 1.046875 second(s), 17 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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