基于Bootloader的可靠嵌入式软件远程更新机制
1.前言
嵌入式软件的远程自动更新技术能够显著的降低嵌入式系统的维护成本,而更新过程的可靠性直接影响着远程更新的质量。
本文针对基于bootloader的嵌入式系统,提出了一种高可靠的嵌入式软件远程自动更新机制,并以采用ARM微处理器、嵌入式Linux操作系统和无线网络接口的嵌入式平台为例给出了更新机制的软硬件实现方案。最后在实际系统中对更新机制的性能进行了测试。测试结果表明,本更新机制具有良好的抗干扰能力,能有效地提高嵌入式软件远程更新的可靠性。
随着嵌入式系统在各个领域的广泛应用,嵌入式软件的维护变得日益重要[1]。嵌入式系统投入实际环境中运行后,一部分在软件开发过程中无法充分测试的错误便会暴露出来;在嵌入式系统的运行期内,用户也往往会对嵌入式软件提出新的功能要求和性能要求。因此,嵌入式软件的更新逐渐成为嵌入式系统实际应用的一个重要问题。当嵌入式系统安装数量较多,或安装位置不方便的情况下,采用人工更新方式会花费较大的人力和物力。
远程自动更新则在嵌入式系统中设计一个有线或无线的通信接口,在异地采用远程通信的方式实现嵌入式软件的自动更新。该方式能有效地降低嵌入式软件的更新和维护成本,因此受到了广泛的关注。当前对嵌入式软件远程自更新技术的研究主要停留在更新方法的设计上,对如何确保更新过程的可靠性还没有深入的研究。更新的可靠性主要受两个方面的影响:一是更新数据远程传输的可靠性;另一方面是系统更新后启动的可靠性。在采用嵌入式Linux、Windows CE等较为复杂的操作系统时,一般设计一个独立的bootloader程序[2][3],对系统进行初始化并引导嵌入式操作系统。这种结构的嵌入式系统的启动与bootloader紧密相关。
本文针对采用bootloader的嵌入式系统,提出了一种高可靠的嵌入式软件远程自动更新机制,并以基于ARM微处理器[4]、嵌入式Linux操作系统[5]和无线通信接口的嵌入式系统为例进行了软硬件设计。然后将更新机制应用到实际系统中进行测试,最后给出了本文的结论。
2 更新系统的总体结构
本部分以ARM和嵌入式Linux操作系统为例,介绍远程自更新系统的整体结构。支持远程自更新的嵌入式系统可以划分为前端运行模块和后台控制模块两部分。前端运行模块采用基于ARM9核心的S3C2410微处理器,最高主频可达200Mhz,配有8M的RAM和32M的FLASH存储器,运行ARM-Linux嵌入式操作系统,具有独立设计的bootloader程序。后台控制模块用于实现对前端运行模块的远程异地控制,是系统的控制核心。前端运行模块通过无线模块BCM860接入到CDMA2000-1X无线通信系统,继而连接到Internet。CDMA2000-1X是第2.5代移动通信系统,支持较高速率的数据分组业务。后台控制模块采用有线方式直接与Internet相连接,与前台运行模块之间进行标准的基于TCP/IP协议的通信。状态信息、控制信息和更新文件都在这一数据链路上进行传输。
相关文章
- 2022-12-13基于Modbus协议实现单片机与PLC之间的通讯
- 2023-02-17天然气流量计量技术的发展
- 2024-05-24基于DSP的光纤光栅解调系统的设计
- 2022-07-26基于AT89C51单片机的电动车无线遥控系统
- 2024-04-235kW沼气发电机的研究与开发
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。