没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论











AURIXTC3XX 系列的 SOTA 机制详解
什么是 SOTA?
SOTA 全称是云端软件升级(Software updates Over The Air),就是指在
不连接烧写器的情况下,通过 CAN、UART 或其它通讯方式,实现应用程
序的更新。
在进行 SOTA 时,需要把旧的应用程序擦除,把新的应用程序写入。常规
的实现方式需要分别开发 BootLoader 程序和 APP 程序,MCU 上电先运行
BootLoader,BootLoader 根据情况选择是否跳转到 APP 和是否进行程序更
新。具体来说有以下几种方式:
方案一:更新程序时,由 APP 接收更新数据并暂存于 Flash,再将 APP 更
新标志位置位;MCU 重启时,BootLoader 检查更新标志位,如有效,则擦
除旧的 APP,再将暂存于 Flash 的新 APP 数据写入 APP 运行地址处。该方
案的优点是更新数据的接收由 APP 完成,BootLoader 不需要通讯协议栈,
代码量更小,且数据传输中断时,原有 APP 不损坏。缺点是需要额外的
Flash 空间暂存更新数据。
方案二:BootLoader 中内置通讯协议栈,更新时,先向 MCU 发送指令使
其跳转到 BootLoader,之后先擦除旧 APP,在接收新 APP 的同时直接将其
写入 Flash 的 APP 运行地址处。该方案的优点是不需要额外的 Flash 暂存数
据,缺点是 BootLoader 代码更复杂,且如果数据传输发生中断,旧的 APP
将不能被恢复。该方案更适合 Flash 容量较小的 MCU。
方案三:将方案一和方案二相结合,即在 BootLoader 程序中内置通讯协议
栈,更新时,先向 MCU 发送指令使其跳转到 BootLoader,之后接收更新
数据的时候,采用方案一的方法,先将数据暂存于 Flash,待数据全部接收
完成后再擦除旧的 APP,写入新的 APP。该方案结合了方案一和方案二的
优点,且能在没有 APP 或 APP 损坏的状态下实现程序更新。缺点是
BootLoader 代码量更大,Flash 空间占用更大。

方案四:在 Flash 中划分出两块相同大小的区域,分为 A 区和 B 区,都用
来存放 APP,但同一时间下只有一个区的 APP 是有效的,分别设置一个标
志位标识其有效性。初始状态下先将 APP 写入 A 区,更新的时候,将新的
APP 写入 B 区,再把 A 区的 APP 擦除,同时更新两个区的有效性标志位状
态。BootLoader 中判断哪个区的 APP 有效,就跳转到哪个区运行。这种方
法不需要重复拷贝 APP 数据,但最大的一个缺陷是 AB 区的 APP 程序运行
地址不同,需要分别编译,从而使得可应用性大大降低。
经过上面的分析,可以看出来每种方案都有其优缺点,对于 Flash 容量较小
的 MCU,通常采用方案二,因为没有过多的空间暂存 APP 更新数据。但对
于 TC3XX 这一类的 MCU 来说,Flash 容量通常都很大,足够用,所以通
常要先把 APP 暂存下来再进行更新,防止数据传输中断导致 APP 不可用。
上面的方案一、三、四都能实现,但并不完美。TC3XX 系列的 SOTA 机制
更类似于方案四,但它的 Flash 支持两种地址映射方式,从而使得 APP 编
译时不需要区分 AB 区,使用相同的地址即可,从而避免了方案四的硬伤,
为我们提供了一种最佳的 SOTA 方案。
TC3XX 的 Flash 地址映射方式
我们以 TC397 的 Flash 为例,用于存储程序代码的 PFlash 的标准地址映射
方式(Standard Address Map)如下,表中 PF0-PF5 代表物理意义上的 5 块
Flash。

第二种地址映射方式被称为 Alternate Address Map,如下表所示,标准模
式下 PF0-1 的地址范围现在被映射到了 PF2-3,PF4 的地址范围被映射到了
PF5。
TC3XX 的 SOTA 功能描述
当 SOTA 功能激活时,PFLash 被划分为两部分,一部分用来存储可执行代
码(active bank),另一部分可用来读取和写入(inactive bank)。当
APP 更新完毕后,两个部分互换,即切换上面两种地址映射方式。在标准
模式下使用 PF0-1 和 PF4 作为 active bank,后文称作组 A,在 Alternate 模
剩余11页未读,继续阅读
资源评论

- weixin_421015522023-05-01这个资源总结的也太全面了吧,内容详实,对我帮助很大。
- weixin_442481372022-06-21用户下载后在一定时间内未进行评价,系统默认好评。
- m0_610900352021-11-19用户下载后在一定时间内未进行评价,系统默认好评。

_webkit
- 粉丝: 30
- 资源: 1万+

下载权益

C知道特权

VIP文章

课程特权

开通VIP
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


安全验证
文档复制为VIP权益,开通VIP直接复制
