免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1861 | 回复: 0
打印 上一主题 下一主题

[BootLoader] uboot的环境变量保存在哪? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-10-17 11:51 |只看该作者 |倒序浏览
小弟初学嵌入式,一窍不通,还请各位前辈多多指教。能够提点一二,小弟亦感激不尽
------------------------------------------------
硬件:arm9 mini2440
-------------------------------------------------
这样是可以正常启动的:
uboot.bin装在norflash的0x00位置,linux的uimage(就是包含0x40的头的那个)装在nandflash的0x60000位置。文件系统装在0x560000位置。
其中,uboot的某个环境变量是bootargs=noinitrd root=/dev/mtdblock3 rw rootfstype=yaffs2 console=ttySAC0,115200 init=/linuxrc mem=64M
------------------------------------------------
我将该环境变量更改为
setenv bootargs 'noinitrd root=/dev/mtdblock3 rw rootfstype=yaffs2 console=fb0,115200 init=/linuxrc mem=64M'(为了将串口让作它用)
不saveenv,可以正常启动linux启动。
但是如果saveenv,uboot就会提示
Saving Environment to NAND...
Erasing Nand...
Erasing at 0x6000000000002 --   0% complete.-----------------------问题1
Writing to Nand... done
这里似乎是把环境变量存在nandflash里了。
接着启动内核,uboot提示
NAND read: device 0 offset 0x60000, size 0x267000
2519040 bytes read: OK
Wrong Image Format for bootm command
ERROR: can't get kernel image!
如此,似乎是找不到内核了。
---------------------------------------------
问题1:
uboot的环境变量保存在哪了?nandflash总共256mb(0x1000000个字节),哪来的存在0x6000000000002那个位置
--------------------------------------------
问题2:
从何处得知uboot的环境变量的保存位置,我翻看了不少书本,都没有找到。还请高手提点一下,大概是在什么目录下的文件有此设置
--------------------------------------------
问题3:
不少书籍上都写着flash分为四段,分别是bootloader,参数区,内核映像,文件系统。请问这个参数区是不是uboot保存环境变量的地方?抑或是uimage那个0x40字节的头?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP