MCU远程升级方案,可解决升级错误死机问题

MCU远程升级方案,可解决升级错误死机问题

项目场景:

很多有关MCU的项目应用,都需要具备远程升级程序的功能。功能实现起来容易,但是会遇到例如程序文件传输失败,bin文件原本就有BUG,中途掉电等原因导致产品死机。这时就只能由维护人员到现场重新烧程序解决,增加一大笔的维护费用。

方案概述:

由于MCU本身的资源限制,要么跑裸核,要么就是跑FreeRTOS一类的微内核操作系统,无法像linux一样能做到内核态和用户态分离。一旦运行的程序有问题就死机,死得很彻底,无法恢复,以下介绍一种程序设计方法来解决这个问题。

硬件支持:

1.外部看门狗

作用程序死机时复位。

2.外部Flash

常见的MCU程序执行方式有两种:一种是具有片内Flash的直接执行(STM32),另一种是程序存储在片外Flash用XIP的模式执行代码(NXP的i.mxRT系列)。在正常运行时,均无法直接擦出程序空间,所以这里单独加一片Flash,用于存储需要更新的程序文件和备份文件。

软件方案:

1.外部Flash驱动及分区

(1)常用的Flash都是SPI接口,根据手册实现其驱动,用于存储APP文件。

(2)根据具体的APP文件大小划定三个分区,分别是:程序区、备份程序区、程序更新信息区。

注:备份程序是产品出厂时需要写入的一个包含主要功能的有效程序。

2.APP文件传输方式

相关推荐

优酷电视版app叫什么名字?电视上怎么下载优酷?
地铁究竟有多难挣钱?
365体育亚洲官方入口app下载

地铁究竟有多难挣钱?

📅 08-03 👁️ 3082
拍刀是什么意思
bst365官网

拍刀是什么意思

📅 08-16 👁️ 2797