历史上的今天
返回首页

历史上的今天

今天是: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],大功告成。


推荐阅读

史海拾趣

DeLorme公司的发展小趣事

随着公司业务的不断发展,DeLorme公司开始积极寻求市场扩张的机会。他们通过与国外知名品牌的合作,将自己的产品推向了国际市场。同时,他们还积极参与国际性的户外活动和赛事,通过这些活动提高品牌知名度和影响力。在国际市场的竞争中,DeLorme公司凭借其独特的技术优势和优质的产品质量逐渐获得了认可。

ASSMANN WSW components公司的发展小趣事

ASSMANN WSW components公司一直致力于技术创新和产品研发。在某个关键时刻,公司研发团队成功开发出了一种具有革命性的新型连接器,这种连接器不仅性能稳定、寿命长,而且具有极高的可靠性和安全性。这一技术突破使得ASSMANN WSW在电子元件市场上脱颖而出,迅速成为行业内的佼佼者。

Catalyst公司的发展小趣事

为了进一步扩大市场份额,Catalyst公司积极实施国际化战略。公司通过与国外知名企业的合作与交流,引进先进的技术和管理经验,不断提升自身的竞争力。同时,Catalyst还积极参加国际电子展会和论坛,展示公司的最新产品和技术成果,吸引了众多国际客户的关注。通过国际化战略的拓展,Catalyst成功打开了海外市场的大门,为公司的长远发展奠定了坚实的基础。

Centellax Inc公司的发展小趣事

Centellax注重企业文化建设和品牌建设。公司倡导“创新、协作、诚信、共赢”的价值观,鼓励员工积极进取、追求卓越。同时,公司还通过各种渠道宣传和推广品牌形象,提升品牌知名度和美誉度。

在品牌建设方面,Centellax注重与客户的沟通和互动。通过深入了解客户需求和市场变化,及时调整产品策略和市场策略。同时,公司还积极参与社会公益活动,履行社会责任,提升企业的社会形象和公信力。

这些故事旨在展示Centellax Inc公司在电子行业中的成长和发展过程,涉及技术创新、市场拓展、质量管理、人才培养和企业文化等多个方面。虽然这些故事是虚构的,但它们反映了电子行业中许多公司共同面临的挑战和机遇,以及如何通过不断努力和创新实现成功。

Electron Products Inc公司的发展小趣事

随着产品线的不断丰富和市场竞争的加剧,EPI开始积极拓展市场,寻求更广阔的发展空间。公司制定了国际化战略,通过参加国际展会、建立海外销售渠道等方式,成功将产品打入国际市场。同时,EPI还积极与海外企业合作,共同开发新产品,拓展业务领域。

BRIGHT公司的发展小趣事

BRIGHT公司的历史可以追溯到1985年,由一群热爱音乐的年轻人和电子工程师共同创立。在1987年,他们成功推出了全球第一支无线耳机,这一创新产品迅速在市场上获得了巨大的成功。这一成就的背后,是创始人在一次偶然中被家里的电线绊倒后产生的灵感。他意识到,将有线耳机转变为无线耳机将带来巨大的便利和舒适体验。这一创新不仅改变了耳机行业的格局,也为BRIGHT公司奠定了坚实的基础。

问答坊 | AI 解惑

电容的区别

这两个电容的符号是什么区别呀,麻烦大侠给小弟讲讲。。。。 谢谢…

查看全部问答>

急,,,,IAR Embedded IDE界面成日文了........在哪改回英文

   安装好后,好像选的是英文,结果进去一看是日文,傻眼了,卸了重新装,再进去还是没有语言选择,直接就进日文界面了......    在哪设置可以改回来呀?网上也没搜到......    万分感谢......…

查看全部问答>

过年了,没啥事,散点分给大家吧!

祝大家牛年进步! 为了提倡环保,节省纸张,在春节千万别送我贺卡,请在尽可能大的人民币上写下祝福的话送我就可以了,节约是美德,祝春节快乐!…

查看全部问答>

新手急,请达人,图片显示异常,请高人指点

新手初次编写c#的wince程序,图片显示异常,请高人指点 问题描述:     简单实现一个按钮点后,pictureBox显示图片的问题,困绕了3天了,请高人指点一二,开发环境visual studio 2005 c# 智能程序 wince5 ,连接硬件上调试 代码实现:   ...…

查看全部问答>

想得到一个合理的值,大家帮帮忙吧

首先说一下提这个问题的原因: 我在做一个文件系统,做完后需要对这个系统的性能进行一下评测,比如,往硬盘写1M文件需要多少时间,但我对这个时间也没有概念,不知道多少时间算是比较优异的,因此,想看看windows的文件系统性能,再与我的进行对 ...…

查看全部问答>

关于控件的几个问题

做的一个应用程序,转换成控件: 应用程序里需要创建窗口,在控件里怎么实现啊? 另外,应用程序里的消息处理 LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam),在控件里怎么实现啊?…

查看全部问答>

大家有没有在pb5.0定制支持游戏的系统。

最近想在开发板编译个可以玩游戏(格式如:.jar)的系统, pb上可以定制自带的字牌游戏, 各位有没有人编过这样的系统。…

查看全部问答>

总体抖动的算法

总体抖动的算法…

查看全部问答>