主题 : 移植u-boot-2009-11的nand启动无法保存环境变量到nand上? 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 9369
精华: 0
发帖: 9
金钱: 55 两
威望: 17 点
贡献值: 0 点
综合积分: 18 分
注册时间: 2009-09-27
最后登录: 2010-11-27
楼主  发表于: 2010-04-09 22:21

 移植u-boot-2009-11的nand启动无法保存环境变量到nand上?

移植u-boot-2009-11的nand启动无法保存环境变量到nand上?
 
saveenv命令时总是保存在NOR flash里面,

//注释掉环境变量保存到Flash的宏(注意:如果你要使用上一篇中的从Nor启动的saveenv命令,则要恢复这些Flash宏定义)

//#define CONFIG_ENV_IS_IN_FLASH 1

//#define CONFIG_ENV_SIZE      0x10000 /* Total Size of Environment Sector */

//添加环境变量保存到Nand的宏(注意:如果你要使用上一篇中的从Nor启动的saveenv命令,则不要这些Nand宏定义)



#define CONFIG_ENV_IS_IN_NAND  1

#define CONFIG_ENV_OFFSET      0x30000 //将环境变量保存到nand中的0x30000位置

#define CONFIG_ENV_SIZE        0x10000 /* Total Size of Environment Sector */

这一步我也做了,但是还是在NOR里面保存。

还有一点,在他提示擦除FLASH时,我将开关放在nor启动时,立马就可以擦写nor了,我想问你我哪里出现了问题,怎么解决,谢谢。
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5407
金钱: 40120 两
威望: 17929 点
贡献值: 71 点
综合积分: 11054 分
注册时间: 2008-01-16
最后登录: 2014-11-22
1楼  发表于: 2010-04-10 12:04
与其跟着别人所谓的移植文档抄,还不如老老实实追踪一下saveenv这个命令是怎么执行的。源代码都在你手上,不是吗?
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 9314
精华: 0
发帖: 9
金钱: 45 两
威望: 9 点
贡献值: 0 点
综合积分: 18 分
注册时间: 2009-09-25
最后登录: 2014-10-28
2楼  发表于: 2010-04-19 12:23
我也遇到这个问题,楼主的搞定了没?我发现好像是env_nand.c没有编译进去
学习嵌入式
级别: 侠客
UID: 12237
精华: 0
发帖: 66
金钱: 345 两
威望: 69 点
贡献值: 0 点
综合积分: 132 分
注册时间: 2010-01-02
最后登录: 2013-01-14
3楼  发表于: 2010-05-25 21:09

 回 楼主(bbw2008) 的帖子

我也遇到了这个问题,请问楼主现在解决的怎么样了?哪的错呢?
级别: 新手上路
UID: 25962
精华: 0
发帖: 5
金钱: 25 两
威望: 5 点
贡献值: 0 点
综合积分: 10 分
注册时间: 2010-08-01
最后登录: 2013-05-24
4楼  发表于: 2010-08-01 14:14
怎么弄啊 我也这个问题 新手刚学 跟踪代码不实际啊 有些变量在哪定义都不知道
级别: 新手上路
UID: 19923
精华: 0
发帖: 14
金钱: 70 两
威望: 14 点
贡献值: 0 点
综合积分: 28 分
注册时间: 2010-04-25
最后登录: 2011-06-09
5楼  发表于: 2011-03-22 23:55
"与其跟着别人所谓的移植文档抄,还不如老老实实追踪一下saveenv这个命令是怎么执行的。源代码都在你手上,不是吗?"

你说的有道理,如果知道怎么追踪,去分析 u-boot 命令结构,怎么进行宏替换,执行,还用得着来这里发问吗?

不愿意回答也就罢了,总是摆出一副指教人的口气,耐心解释下,给新手一点鼓励,很难吗?
级别: 新手上路
UID: 26431
精华: 0
发帖: 3
金钱: 15 两
威望: 3 点
贡献值: 0 点
综合积分: 6 分
注册时间: 2010-08-08
最后登录: 2012-12-07
6楼  发表于: 2011-04-26 22:49
把common/libcommon.a删了试试
级别: 新手上路
UID: 46135
精华: 0
发帖: 11
金钱: 55 两
威望: 11 点
贡献值: 0 点
综合积分: 22 分
注册时间: 2011-05-10
最后登录: 2014-07-19
7楼  发表于: 2011-05-15 19:31
真的可以了哦,谢谢了哦
级别: 新手上路
UID: 133770
精华: 0
发帖: 1
金钱: 5 两
威望: 1 点
贡献值: 0 点
综合积分: 2 分
注册时间: 2017-07-21
最后登录: 2017-09-07
8楼  发表于: 30天前

 u-boot-2010.03下载后环境变量无法保存。

U-Boot 2010.03 (11鏈?13 2011 - 03:06:31)

I2C:   ready
DRAM:  64 MB
Flash:  2 MB
NAND:  256 MiB
*** Warning - bad CRC or NAND, using default environment

Video: 320x240x16 15kHz 58Hz
In board_video_init, lcdtype=w
In:    serial
Out:   serial
Err:   serial
Net:   dm9000
#####   u-boot-2010.03 Main menu by Hanson He   #####
#####         上海嵌入式家园-开发板商城         #####
#####            www.embedclub.com              #####
#####      http://embedclub.taobao.com          #####
Hit any key to stop autoboot:  0
[u-boot@SMDK2440A]#  saveenv
Saving Environment to NAND...
Erasing Nand...
Skipping bad block at  0x4000000000000                                          

Writing to Nand... FAILED!