如今,嵌入式设备广泛应用于工业制造、医疗卫生、智能家居等各个领域。面对多样化的需求以及可能存在的软件缺陷,设备制造商需要不断地更新产品固件。传统的嵌入式软件升级方案普遍采用整包升级的方式。该方式虽结构简单,易于实现,但整包传输占用网络带宽且存在安全隐患。为了解决上述问题,本文研究一种适用于嵌入式设备的远程增量式升级方案,并在STM32平台上进行试验验证。
本文首先在第二章中详细介绍了嵌入式软件远程升级的相关理论,包括在线编程技术以及增量式升级技术。在第三章中深入研究了bsdiff与rsync文件差分算法。通过对执行效率和压缩性能两方面的比较,最终选择了bsdiff文件差分算法。由于嵌入式设备的资源受限特性,又对bsdiff算法做了进一步的优化,使得基于该算法的增量式升级方案能在嵌入式设备上实现。
接着在第四章中详细设计了以上述改进算法为核心,基于意法半导体公司的STM32F103芯片的嵌入式软件远程升级系统。其中,用C代码实现了基于UDP协议的TFTP简单文件传输协议,解决了服务器与客户端之间的增量文件传输。然后为了能够稳定地升级到新版固件,设计了引导程序。最后,通过在引导程序中实现“掉电保护”机制,使设备在升级过程中不会因为掉电而出现系统故障。为了使用户能够通过人机交互界面远程对设备进行升级,在第五章详细设计了嵌入式Web服务器和Web页面。用户可以在任意带有Web浏览器的终端,通过访问Web对设备执行网络配置和系统升级操作。
最后, 在第六章中进行了嵌入式远程升级系统实验环境的搭建,并对整个升级系统进行了测试验证。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !