科百科
当前位置: 首页 范文大全

ota固件升级协议(关于智能设备在线升级)

时间:2023-06-04 作者: 小编 阅读量: 3 栏目名: 范文大全

3、升级流程文件传输的过程可以一次性,也可以分包下发。

我们在使用智能设备的时候,过一段时间就会有官方推送的软件更新,大致的意思是升级到哪个版本,版本修复了哪些bug或者新增了哪些功能。大到我们的电脑、小到我们用的智能手机、智能手环等等。

用户需求和功能之间的关联从未中断,亦从未结束,这是一条无尽的道路。那么这篇文章就为大家介绍在线升级需要考虑的东西以及如何去部署我们的升级,文笔拙略,但求能解剖出其中的关键点和命脉。

一、升级流程准备

1、flash和ram大小需要考虑

在实际的项目中应用软件一般都不小,首先需要考虑到flash存放代码够不够,一般需要一个扇区存放bootloader程序,两个较大的扇区存放app应用程序。ram区看个人,如果使用数据校验功能,有时候ram也要满足一定的大小,否则无法从flash提取出来,当然也可以直接对flash数据进行校验。

2、镜像备份

在升级过程中,难免有升级失败的可能,当然在产品成熟之后不会有太大的问题,但是俗话说得好,不怕一万就怕万一,有备无患。

3、升级流程

文件传输的过程可以一次性(如果ram足够大),也可以分包下发。壳子制定自己的私有协议,只要保证数据传输完整就可以。

二、单片机为例,准备升级文件

在此之前先给大家介绍需要用到的软件Jflash,这个软件功能很强大,可以对单片机下载程序、可以合成代码、可以生成不同格式的文件。

1、bin文件

打开工程文件,在Run后面输入指令:fromelf--bin--output.\output\obj\EDFA_Project.bin .\Output\Project.axf然后重新编译整个工程,就会在\keil_project\output\obj文件夹下生成所需要的bin文件。还有另一种生成bin文件的方法,就是使用jflash打开app.Hex文件,直接另保存为bin文件即可。

2、bootloader程序

在keil软件里面建立好工程,并配置好环境,环境配置主要如下图,因为程序是在0x8000000这个地方开始的,所以引导程序必须是这个地址开始,大小是整个flash的大小,右边是ram的存储区。

bootloader详细逻辑代码在boot程序里面体现,大体逻辑如下:

①、先从flash里面获取更新标志位,如果标志位为1,则启动升级判断

②、从flash里面取出升级到哪个区0代表app1区,1代表app2区

③、boot刚开始从默认的1区启动

3、app应用程序

建立工程文件,跟一般的app文件差不多,只需要改变偏移量,具体如下:

在程序开始的地方设置偏移量,0x20000表示相对0x8000000偏移,也就是说这个app程序将会在0x8020000这个地方开始运行。这里普及一个小知识点,flash默认或者擦写的时候,内部的值都是FF,所以看到判断为0xff,就应该知道程序一烧写的时候,默认值就是0xff,默认从app1启动程序。

4、下载文件合成

前面bootloader程序和app应用程序生成的HEX文件,用jflash合成所需要的下载代码,这里注意,如果单独烧写其中一个文件程序是起不来的。如下图EDFA_down.hex就是通过前面两个程序合成的。

生成的hex文件

制作过程如下:

①首先用到软件jflash,先打开软件JFlash.exe选择芯片

新建工程

选择芯片

选择下载模式

选择菜单栏File/Open data file 选择bootloader或者app其中一个hex文件,再点击File/Merge data file 选择另一个hex文件,然后保存为下载文件即可

②、jflash下载使用

设置一下,点击 Options,选择 Project settings,选择 Production,勾选图中选项,点击 OK 就可以了。

在菜单栏 Target 中点击 connect,连接软件和芯片,连接好后在底下出现连接成功,接下来就是把文件下载到芯片,选择 Target,选择 production programming,或者直 接按 F7 就可以下载,等待下载成功,就可以正常运行。

至此,在线升级的全过程以及文件的制作给大家分享完了,有不理解的朋友欢迎交流。

    推荐阅读
  • 哪种肥料种菜效果最好(这两个肥料配方不管种啥菜)

    使用后的蔬菜,根深叶茂,控制旺长,花多果多,防病抗逆,膨果着色。对霜霉病、灰霉病、白粉病、疫病等有很好的预防和防治作用。不但可以让作物长得根壮叶茂,保花保果,大幅增加产量和提高质量,同时各种病害也很少发生,效果非常不错。

  • 眼轴检测准确率(3分钟教你看懂眼科检查报告)

    随着人们对近视了解的深入,监测和记录眼轴的重要性逐渐深入人心。K1、K2,平K、陡KK值代表着我们角膜的曲率,也可以理解为角膜不同子午线上屈光度的大小。而这两个数字后方的角度即为各自K值所在子午线的角度。对于大部分人来说,平坦的K值位于水平方向,而陡峭的K值位于垂直方向。角膜散光的大小是K2与K1的差值。CCT为角膜厚度,单位微米。

  • 家用热水器哪个牌子好些耐用(4类常见家用热水器)

    热水器的使用与人身安全息息相关,选知名度高的品牌更有保障。这个系列有50、60和80升可以选,都是标配2200W加热管,家庭买的话建议60升起步,千元售价入手不亏,三款都可以享受到海尔提供的8年整机保修。这款售价5000元左右,大众更容易接受。10海尔太空能系列太空能系列是海尔的旗舰产品,太空能=太阳能空气能,再辅以电辅助加热功能,能在各式天气下正常提供热水。两大节能技术强强联合成就了海尔独一无二的太空能系列产品。

  • 描写夏季风光的诗句(写夏季风光的诗句有哪些)

    小荷才露尖尖角,早有青蜓立上头,今天小编就来聊一聊关于描写夏季风光的诗句?接下来我们就一起去研究一下吧!黄梅时节家家雨,青草池塘处处蛙。.绿遍山原白满川,子规声里雨如烟。接天莲叶无穷碧,映日荷花别样红。明月别枝惊鹊,清风半夜鸣蝉.水晶帘动微风起,满架蔷薇一院香。

  • 隐匿电报罪立案条件是什么 隐匿信件罪

    如果行为人没有实施上述行为,而是由于邮件自身的包装不严等原因,导致其中信件或其他物品漏出遗失的,不应视作构成本罪的行为。三是行为人主观上具有故意的心态。四是构成本罪也应达到情节严重,如多次实施上述行为,丢失邮件、电报,延误投递等。凡符合上述标准的私自开拆、隐匿或毁弃邮件、电报的行为,都应当立案追诉。

  • 表达技巧(表达技巧具体指的什么)

    以下内容大家不妨参考一二希望能帮到您!一篇文章,为了能更好地表情达意,需运用恰当的表达技巧。因此,分析语言、理解文章内容,必须认识表达技巧的作用。还有表达技巧即艺术手法,包括“表现手法”。作家、艺术家在创作中所运用的各种具体的表现方法。在文学创作中,有叙述、描写、虚构、烘托、渲染、夸张、讽刺、抒情、议论、对比等手法。

  • 平邑县女士征婚(年小姑娘征婚被大骂喷到死)

    可以说,我们很难在一个网络征婚帖子中看到那么多恶言恶语,那么问题来了,她到底发了什么导致水木社区如此天怒人怨?有一位网友的回复一针见血,似乎可以回答这种愤怒的来源:可以看到,水木的原贴基本上回帖90%以上都在群嘲,几乎找不到几个支持的,同样的情况其实在今年的上半年4月份也有过一次。不,我们深入分析下就能看到,当然,水木社区的网友不能代表所有网友,不过也颇具一定的代表性。

  • 花开半夏是什么意思(花开半夏词语的释义)

    花开半夏是什么意思?接下来我们就一起去研究一下吧!花开半夏是什么意思花开半夏指彼此感情好的两个人,在繁花盛开刚过半的夏季里分离了,这样的事情在两个人心中都成了一种隐隐的伤痛,一种遗憾的无奈。事实上并没有这个词语,这个词源自一部九夜茴所著的同名小说《花开半夏》,一般的花都会开整个夏天,而此处花只开了半个夏季,说明了生命的短暂,从而表示小说里姐姐中弟弟的怜惜。

  • 装修环保知识小常识 装修环保知识小常识有哪些

    掌握好下面的这些装修环保知识小常识,相信你家的装修也能够远离“污染”二字,下面就来具体的看一下吧!比如说墙面刷油漆,若是雨天粉刷,空气湿度大,难以干透使得有害气体挥发;又比如说因季节变换,木地板收缩的问题,这时修补的时间若是选择不好,将会导致地板上的有害物质难以散去,室内污染加重。

  • 惠花养殖方法(惠花的养殖方法介绍)

    应选用质地粗燥、美上釉的、底边多空、有盆脚的“兰花盆”养“兰”较好。兰花是半气根性花卉,必须用含有腐殖质、透气性好的酸性土壤。换盆兰花换盆和引种,以秋凉至10月小阳春为最好。因为此时,当年新株已基本发育成熟,尚未休眠,这时换盆所致的创伤较容易恢复,对翌年的发芽和开花影响较小。兰花两年需换一次盆,早换盆、勤换盆对兰株生长不利。许多初养者,生怕其缺水,结果浇了过多的水,硬是把兰花的肉质根给烂掉了。