英飞凌 AURIX TC3XX 系列单片机的 SOTA 功能介绍
单片机 IAP 技术方案设计,里面有不同的实现方式。
根据不同IAP技术方案的特点,针对于 TC3XX 系列的大容量单片机来说,方案三和方案五是最合适不过的。
其实除了方案一之外,其他几种方案都适合,而方案五和方案三一样,有着致命的缺点(由于程序运行地址不同,因此需要对 APP 分别进行编译链接);
而英飞凌 AURIX TC3XX 系列单片机的 SOTA 刚好能解决这个问题,PFlash 可以通过地址映射的方式,当 APP 分为两块区域后,不再需要对APP分别进行编译,因为使用的是相同的运行地址,甚至都不需要开发 bootloader。
可以看一下官方文档中对 SOTA 功能的描述:
启用 SOTA 时,一组 PFLASH bank 将映射到 CPU 可执行地址空间(定义为“活动”bank),另一组将映射到一组允许读写它们的地址(定义为“非活动”bank)。当 SOTA 更新完成,bank 被交换时,只有地址映射会改变。这意味着不需要复制任何数据,并且从中执行的地址范围始终相同。PFLASH bank 的物理地址如地址映射一章中的标准地址映射所述。当从标准地址映射执行 SOTA 地址映射切换时,用于读取/代码执行的 PFLASH bank 映射在地址映射一章中的备用地址映射中描述。在本章中,在标准地址映射中活动的 bank 组称为“A”,在备用地址映射中活动的 bank 组称为“B”。
接下来是划重点的描述:
请注意,所有 NVM 操作都是使用 PFLASH 的物理系统地址通过 DMU 执行的,也就是说,无论交换设置如何,NVM 操作始终使用标准地址映射。”“NVM操作”是一个术语,用于任何以闪存为目标的命令序列,如程序、擦除等,不包括读取(下一章再通俗描述)。