英飞凌 AURIX TC3XX系列单片机的SOTA机制详解_tc397 sota,2024年最新后台开发物联网嵌入式开发岗

240 阅读5分钟

img img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

3. TC3XX的SOTA功能描述

当SOTA功能激活时,PFLash被划分为两部分,一部分用来存储可执行代码(active bank),另一部分可用来读取和写入(inactive bank)。当APP更新完毕后,两个部分互换,即切换上面两种地址映射方式。在标准模式下使用PF0-1和PF4作为active bank,后文称作组A,在Alternate模式下使用PF2-3和PF5作为active bank,后文称作组B,就可以实现上述方案四,且能写入完全相同的APP程序,以相同的地址进行运行。

需要注意的是,所有NVM操作都是通过DMU使用PFLASH的物理系统地址执行的,也就是说,NVM操作总是使用标准的地址映射,而不管选择使用哪种地址映射。“NVM操作”是一个术语,用于任何针对FLASH的命令,如程序、擦除等,但不包括读取和执行代码。

有关SOTA地址映射的参数在Flash中的UCB(User Configuration Block)中进行配置,在UCB中配置后,只有当下次MCU复位的时候才会更新配置。

4. SOTA的配置参数

(1)SOTA Mode Enable

该参数决定是否开启SOTA模式,在寄存器Tuning Protection Configuration中的SWAPEN进行配置,定义如下:

在这里插入图片描述
在这里插入图片描述

(2)Bank Swap

UCB_SWAP区域中,对SOTA模式下使用哪种地址映射进行配置。

UCB_SWAP区域包含以下内容:
在这里插入图片描述
其中最重要的是前四个,我们分别来看一下:

① MARKERLx (x=0-15)

在这里插入图片描述
在这里插入图片描述
MARKERL中的SWAP就是标记使用标准地址映射还是Alternate地址映射。

② MARKERHx (x=0-15)

在这里插入图片描述
MARKERH中存着与之相对应的MARKERLx.SWAP的入口地址,是用来做校验的。

③ CONFIRMATIONLx (x=0-15)

在这里插入图片描述
CONFIRMATIONL是确认代码,要写入固定的0x57B5327F,上面的MARKERLx.SWAP才有效。

④ MARKERHx (x=0-15)

在这里插入图片描述
MARKERH中存着与之对应的 CONFIRMATIONLx.CODE的入口地址,也是用来做校验的。

5. SOTA的初始化配置

初始化状态是使用标准地址映射,此时SOTA模式未启用。按以下步骤启用SOTA:

① 用烧写器把APP烧写进PFlash的组A地址处。
② 向MARKERL0写入0x00000055。
③ 向MARKERH0写入MARKERL0的系统地址。
④ 向CONFERMATIONL0写入0x57B5327F。
⑤ 向CONFERMATIONH0写入CONFERMATIONL0的系统地址。
⑥ 将UCB_OTP0中SWAPEN标志位置为Enable。
⑦ 重启MCU。

经过上面的步骤,就事MCU进入了SOTA模式,其中步骤②-⑤是为了启用标准地址映射。手册中给了如下的流程图供参考,其中一些加解密的步骤我这里省略了,暂时没有详细研究:

在这里插入图片描述

6. SOTA的后续配置

上面说的是第一次启用SOTA时的配置,下面我们就来看一下SOTA启用后,进行APP更新的步骤:

① 将新的APP写入PFlash中未激活的部分,即上文提到的Inactive Bank,并进行准确性校验。
② 如果新的APP被写入组B,则向MARKERLx.SWAP写入0x000000AA,启用Alternate地址映射模式;如果新的APP被写入组A,则向MARKERLx.SWAP写入0x00000055,启用标准地址映射模式。(x是0-15的值,从0开始向上递增,由上文可知UCB_SWAP最多能存储16组标志值,存满后再擦除重新写入。)
③ MARKERHx.ADDR、CONFIRMATIONLx.CODE和CONFIRMATIONHx.ADDR配置同上文。
④ 向CONFIRMATIONL(x-1).CODE再次写入0xFFFFFFFF,来使上一组UCB_SWAP值失效。向PFlash再次写入全1的值不会导致PFlash操作错误。

手册中给了下面这个流程图供参考:

收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。 img img

如果你需要这些资料,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!