历史上的今天
今天是:2024年10月17日(星期四)
2019年10月17日 | itop修改uboot使之能保存环境变量
2019-10-17 来源:51hei
修改uboot使之能保存环境变量
思路与步骤:
1.想要保存环境变量,就要使用saveenv命令
2.由uboot的命令体系可推测saveenv命令对应的函数是do_saveenv,可以在sourceinsight工程直接搜索此函数
3.找到函数int do_saveenv (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]),发现真正做事的函数是saveenv()函数
4.继续找saveenv()函数,发现有很多个,真正的在env_auto.c中
5.分析uboot,可知INF_REG3_REG的值,如果没记错INF_REG3_REG = 7的,所以走的是else这条路
6.你会发现这里什么都没有做,只有 printf("Unknown boot devicen");
7.那我们就添加保存的函数,函数哪里来,就在前面,saveenv_movinand(),这个就是我们需要的函数
8.你以为这就完了,不存在的,进去看看它做了什么
9. mmc_init(find_mmc_device(0));检查mmc设备是否存在
movi_write_env(virt_to_phys((ulong)env_ptr));把要保存的环境变量写进去,没毛病,这是我们想要的,可是这函数里面有个致命的错误
10.movi_write(raw_area_control.image[2].start_blk,
raw_area_control.image[2].used_blk, addr);我们源码中把要保存的环境变量保存到raw_area_control.image[2]中,但实际上uboot的分区是
raw_area_control.image[3]保存的才是环境变量
11.在哪看分区信息?init_raw_area_table()函数中,可以直接由raw_area_control的定义间接找到
12.把raw_area_control.image[2]改成raw_area_control.image[3],大功告成。
史海拾趣
|
急,,,,IAR Embedded IDE界面成日文了........在哪改回英文 安装好后,好像选的是英文,结果进去一看是日文,傻眼了,卸了重新装,再进去还是没有语言选择,直接就进日文界面了...... 在哪设置可以改回来呀?网上也没搜到...... 万分感谢......… 查看全部问答> |
|
新手初次编写c#的wince程序,图片显示异常,请高人指点 问题描述: 简单实现一个按钮点后,pictureBox显示图片的问题,困绕了3天了,请高人指点一二,开发环境visual studio 2005 c# 智能程序 wince5 ,连接硬件上调试 代码实现:   ...… 查看全部问答> |
|
首先说一下提这个问题的原因: 我在做一个文件系统,做完后需要对这个系统的性能进行一下评测,比如,往硬盘写1M文件需要多少时间,但我对这个时间也没有概念,不知道多少时间算是比较优异的,因此,想看看windows的文件系统性能,再与我的进行对 ...… 查看全部问答> |




