[TC3XX]AURIX TC3XX系列之 OTA介绍

带着问题来学习:

Swap机制(A/B Bank交换)

该功能通过将PFLASH划分为A、B两组存储体来实现。当启用SOTA时,系统可从其中一组存储体读取并执行代码,同时向另一组存储体写入新代码。因此,尽管单个物理PFLASH存储体内部不支持同时读-写操作,但通过这种架构能够安全可靠地对未使用的存储体组执行擦写操作,从而实现了SOTA功能。

A/B SWAP功能的支持

除了TC33x和TC33xED之外,所有TC3xx器件都支持空中软件升级(SOTA)功能。

A/B Swap的原理

当TC39x的SWAP功能激活时,PFLash被划分为两部分A Banks和B Banks,一部分用来存储读取可执行代码(active banks),另一部分可用来写入(inactive banks)即刷写。

当APP更新完毕后,通过配置UCB_SWAP_ORIG,实现两个部分互换,即切换上面两种地址映射方式。在标准模式下使用A-Banks作为active banks,后文称作组A,在Alternate模式下使用B-Banks作为active banks,后文称作组B。
 

TC397的PFlash通常划分为A/B两个Bank,通过地址映射实现无缝切换‌。

标准映射‌:使用PF0、PF1、PF4作为Active Bank(A区)‌
‌备用映射‌:使用PF2、PF3、PF5作为Active Bank(B区)‌
 

Aurix TC3xx的内存映射机制

如果要支持SWAP功能,首先,硬件的内存资源需要足够。因为SWAP功能需要两个等大小的物理内存空间,用以存储程序。eg:App程序的大小为3Mbyte,如果要支持SWAP功能,至少需要硬件的PFlash空间>6Mbyte。先看一下TC39x手册中的内存空间及映射机制:

针对TC397这个芯片,不启用SOTA功能时,App程序可以存在如下所示的PF0(Program Flash0)~ PF5(Program Flash5)中,空间大小共计16Mbyte。这个也是在标准模式下的地址映射。

Standard Address Map

Alternate Address Map

启用SOTA功能时,PFlash被划分为两个Bank Group,即:A-Banks和B-Banks,这也就是我们常说的A/B分区,其中一个Banks被映射到CPU的可执行空间,这个Banks被称为激活区(Active Banks),未被映射到CPU执行空间的Banks被称为非激活区(Inactive Banks)。其中,PF0、PF1、PF4映射到A-Banks,PF2、PF3、PF5映射到B-Banks,如下所示:

下图为Alternate模式下的映射,可以看到此时虚拟地址由底到高对应的物理排布是

PF2、PF3、 PF0、PF1、PF5、PF4。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

redparrot2008

打赏+收藏,私信获得部分资源。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值