嵌入式软件在线升级的设计及实现

来源 :上海交通大学 | 被引量 : 0次 | 上传用户:feierdalong
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
当前,嵌入式技术更加普及,应用领域逐步扩大,甚至介入了一些属于工业微机的场合。嵌入式产品被广泛的分布在家用、商用、办公、医疗、工控和军工等领域,加以软件技术对传统产品进行改造,往往具备灵活性,实用性和适用性。嵌入式系统的硬件设计追求高集成度,软件设计追求高性能,每个系统的所需要的功能都是特殊定制化的,硬件经常不一样。甚至同类产品,软件设计也往往千差万别。随着产品不断深入和产业化程度提升,应用人员也逐步意识到软件功能的优点,也对设计者提出更高的要求。除了产品本身高可靠性外,还会规定软件具备可升级的功能。该领域的科研工作者和技术人员当然知道升级功能,可用来漏洞修复,功能完善,有其必要性。软件更新一般不太容易,有其困难性。在一些工业控制领域,系统设备工作在环境恶劣、无人值守的区域,需要由远程的方式自动完成整个软件的升级。本文以中达室外电源监控系统设计为背景,阐述该产品开发中如何由近端升级的方法,扩展到远程软件可自我升级的方法。要解决的问题主要包括FLASH自擦写技术的应用,内存存储空间的分配,产品相关的电气设计和升级协议的设计。通过阅读一些文献资料以及结合设计经验,首先打通硬件底层FLASH擦写驱动,在软件上先建立近端升级的功能。之后开始考虑如何完成升级应用程序的功能和升级bootloader的方法。远端升级通讯时,决定需要升级的两个软件程序的其中之一。在通讯协议中加入升级通讯流程,划分成4个阶段,将升级任务细化成可以分离的小任务。在完成软件可自我全面升级的功能后,协同上位机界面,对升级过程进行验证,模拟出错的情况。并且提出了升级失效时,由嵌入式软件自身完成自动回退功能出错措施。此设计方法和功能均在Freescale 16位单片机上得以实施,借以RS485通讯接口分别完成近端升级和远端升级。最终,该产品具备近端升级和远端升级的功能,得到客户验证认可,整个设计完整,满足需求。软件中断处理的研究,运用现有体系架构,巧妙处理了中断机制。解决传统升级功能带来的限制,保证软件设计的灵活性。另外,附加的软件回退功能成为软件升级功能保障,提高软件可靠性。
其他文献
通过对诺芮特载金炭解吸控制参数的实践探索,使金、银解吸率由原来的92.74%和92.66%,提高到96.40%和98.33%;解吸时间缩短Δh=6.5h,氰化钠和氢氧化钠药耗分别降低3.78Kg/t和8.
建筑垃圾的再生利用是建筑全寿命周期中的一个重要环节,是实现建筑领域资源节约和节能减排的关键环节,对建筑废弃物的再生利用的研究已然成为我国城市更新建设工作中的当务之
目的本研究以对大学生进行无偿献血调查问卷形式,了解大学生对无偿献血的态度、意愿和行为现状,探索适合当前高校献血宣传的新模式。方法采取自制无偿献血调查问卷,由被调查
尝试运用模糊理论及模糊数学方法对幼儿品德进行了初步的探讨。在隶属函数,模糊排序,模糊聚类分析,模糊综合评判等方面进行了幼儿品德的初步研究。