海思uboot保存环境变量,重启后丢失问题

最近在搞海思Hi3518ev300开发,U-boot启动后,使用setenv和saveenv保存环境变量,但每次重启后,环境变量都丢失,检查之后,是环境变量的地址和Size设置错误,整理一下,大概以下3个位置的参数需设置对应:
位置1:
在SDK根目录下,在make all之前,需要先用make menuconfig设置Memory地址:
此处0x70000是parameter flashbackup address地址;
0x90000是wifi参数地址;
这中间其实还有地址0x80000,大小0x10000(64K)的内存,这64K就是 boottargs(后面会讲,HiTool参数)的参数
在这里插入图片描述
位置2:
这是HiTool烧录时设置的参数:
可以看到 boottargs 选项的地址就是512K(0x80000),大小64K(0x10000)
在这里插入图片描述
位置3:
还需修改代码中 CONFIG_ENV_OFFSET 和 CONFIG_ENV_SIZE 的参数,这里也需对应设置
在这里插入图片描述
修改以上3个参数后,重新编译并烧录U-boot,之后保存环境变量应该就可以了。

如果你细心就会发现,其实位置1菜单的地址设置和位置2的HiTool烧录配置,都是对应的,比如 0x8c0000 就是 Rootfs在SPI Flash的起始地址,在HiTool烧录的时候,rootfs_liteos.romfs 的地址就是 8960K (就是0x8c0000)

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值