一种迪文屏软件在线升级方法

描述

——来自迪文开发者论坛

 

开发自己的项目中遇到文件升级不方便的问题,因此设计了一个在线升级方案,可以有效解决如下问题:

1. 当产品已发出需要修复Bug时,无法在线修复。

2. 无法判断新老版本,当数据文件没有变化时执行了重复升级。

3. 批量升级时,每个设备需要单独去插卡或者用电脑上位机升级。
设计思路
 

引导装载升级程序,在系统中始终存在一段用于程序装载的代码,该代码在启动时被运行。根据Nor Flash版本号差异来判断是运行现有版本的程序还是从主机下载新程序。
 

  • 当迪文屏上电复位时,首先执行片内的装载程序,在Nor Flash地址存放每个数据文件的当前版本号,作为下一次判断是否需要更新该数据文件的依据。(注意一定要升级该数据文件成功后才保存该数据文件的当前版本号)。
  • 主控板根据版本号的差异判断迪文屏是否需要下载新程序。如果本地版本号与上一次更新的版本号不同时,主控板向迪文屏发送更新程序的请求,内核文件通过继电器切换SD卡信号线的方式给到迪文屏。
  • 迪文屏接收新的应用程序内容,并在最终确认后写入外部Flash内。当更新程序执行完毕后,将DGUS系统复位,并执行片内RAM中的程序。如果再次复位,那么将重复上述装载执行过程。这里版本号有多少个不同,就会更新多少个文件,避免版本一致的重复更新。

设计框图
 

 

迪文屏

资料下载
方案完整资料包下载可前往迪文开发者论坛获取:http://inforum.dwin.com.cn:20080/forum.php?mod=viewthread&tid=6361&extra=&page=1

 

迪文屏

 

 

 

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分