中国汽车工程师之家--聚集了汽车行业80%专业人士 

论坛口号:知无不言,言无不尽!QQ:542334618 

本站手机访问:直接在浏览器中输入本站域名即可 

搜索附件  
左侧广告
附件中心&附件聚合2.0
For Discuz! X2.5 © hgcad.com

RH850\\U2A SOTA机制分析w2.jpg

 

RH850\U2A SOTA机制分析:
目录

1. U2A Flash架构概述

2. U2A Flash模式概述

3. U2A 无感OTA概述

3.1 GCFU描述

3.2 实现描述

3.3 Double Map模式

4.小结


1. U2A Flash架构概述

最近在考虑无感OTA方案时,汇总了TC3xx、RH850-U2A、S32K3等系列MCU对于OTA的硬件支持。TC3xx在文档中写的很清楚,有兴趣的可以看看TC3xx UserMannul 1.5 SOTA章节,以前我也在某平台写过相关文章,这里不再赘述。比较让我疑惑的是U2A的方案,因为在U2A高性能版本中,出现了3个Flash控制器,我第一反应是为将来跨域融合做准备,事实上也是如此;在这款MCU中提出了Cluster的概念,针对Cluster里面布局了Memory、中断、外设等资源;我们今天主要聊Flash相关,U2A16的Memory整体架构如下图:

相同颜色组成一个Cluster,对应不同的Flash资源;上面这个图看起来觉得麻烦,根据个人理解整理如下:

在该架构图中,总共有16MB Flash(A、B、C、D 4MB\Bank)分别给不同CPU使用,每个Cluster都有一个Flash控制器来管理当前Cluster里的Flash编程、擦除等动作,例如FACI0管理PF Bank A、B共计8MB,DF Bank0等,这种方式在未来跨域融合架构下实现不同vECU的OTA是非常有优势的。但是今天我们主要了解针对目前常见OTA方案,U2A做了哪些方面的内容。2. U2A Flash模式概述

在U2A里,Flash有两种映射模式,分别为:Single Map和Double Map;

    Single Map:该模式下code flash地址连续,用户可使用的存储空间就更大,例如U2A16可使用16MB、U2A8可使用8MB;下图为U2A16的Single Map地址空间


    Double Map:这种模式就和TC3xx的A\B Swap很相近了,将Flash均分为两个区域,分别为valid area和invalid area,意味着可使用的Flash容量减半;下图为U2A16的Double Map地址空间,可以发现invlid area首地址与上面有变化,变成了02xxxxx开头。


上述map模式可以通过OPBT12进行配置:


3. U2A 无感OTA概述

针对Double Mode下使用无感OTA还可以理解,这个Single Map模式的无感,不就和以前软件实现A\B OTA是一样的吗?在U2A上面难道做了很多硬件处理吗? 在软件实现无感SOTA时,通常是在在Flash中划分出两块相同大小的区域,分为A区和B区,都用来存放APP,但同一时间下只有一个区的APP是有效的,分别设置一个标志位标识其有效性。初始状态下先将APP写入A区,更新的时候,将新的APP写入B区,再把A区的APP擦除,同时更新两个区的有效性标志位状态。BootLoader中判断哪个区的APP有效,就跳转到哪个区运行。这种方法不需要重复拷贝APP数据,但最大的一个缺陷是AB区的APP程序运行地址不同,需要分别编译,从而使得可应用性大大降低。但在U2A中,它采用了使用类似英飞凌Overlay的功能,它可以使用相同逻辑地址实现SOTA功能。具体如下:3.1 GCFU描述

在U2A 51.18章节提出了GCFG(Global Calibration Function Unit) ,主要功能是将一块code flash重映射到另一块code flash。根据之前英飞凌相关的经验,Overlay是CPU视角,那么我们就可以这样设计:当Valid Bank的逻辑地址和物理地址一致时,不使用overlay功能;当Valid Bank的逻辑地址与物理地址不一致时,使用overlay。3.2 实现描述

Single Map模式下,地址是连续的,所以为了实现RWW,我们选用Bank A 和B中前128KB作为SOTA实现的基础,如下图:
物理地址Bank大小
0x0000 0000 – 0x0001 FFFFBANK A128KB
0x0040 0000 – 0x0041 FFFFBANK B128KB
当Bank A激活时,这时候物理地址和逻辑地址一致,可以不使用overlay(remap:瑞萨说法),这样CPU就从Bank A取指运行代码,那么要更新的时候怎么办呢?直接操作FACI刷写Bank B对应区域(bin文件),如下图:

当Bank B激活时,物理地址和逻辑地址不一致了,但是不想改变程序运行地址,这时候使用remap功能,虽然CPU访问的是逻辑地址 Bank A,但通过GCFU可以重映射到Bank B中,如下:


由于CGFU仅作用于CPU,因此在FACI0视角里,刷写逻辑地址Bank A就是刷写物理Bank A。值得注意的是,由于硬件是没办法识别什么时候使用remap功能,因此需要我们在软件中定义一个Flag,这Flag可以存放到DFlash中,表示当前Valid的Bank是A还是B。这样,U2A 的Single Map模式就派上了用场,但看起来其实和Double Map区别不大呀。3.3 Double Map模式Double Map模式下,U2A16可用容量变为了8MB,相当于每个Cluster里的Flash变为了AB切,如下图:

因此相较于Single Map模式,这种方式较为死板,但是理解起来就不是那么困难。 只需要通过OPBT13来切换A\B 、C\D Bank,即可实现硬件上的无感SOTA。

4.小结

本文主要梳理瑞萨U2A针对SOTA的两种硬件特性,但没有考虑security相关内容;不知道目前有没有HSM SOTA的需求,如果有,那么对于这方面的硬件设计想必又是一个大难题。



往期回顾:

1.汽车标定精选
汽车标定技术--标定概念详解
汽车标定技术--Bypass的前世今生
万字长文:汽车标定技术--XCP概述

2.AUTOSAR精选
AUTOSAR CryptoStack--CSM Job夹带了哪些私货
AUTOSAR 诊断栈分析(一)
AUTOSAR OS概述(一)

3.汽车网络安全精选
汽车信息安全--MCU启动常用密码算法
汽车网络安全方案需求分析
汽车信息安全--常见车规MCU安全启动方案
车载信息安全场景概述

4.汽车功能安全精选

5.汽车虚拟化精选

    汽车ECU虚拟化技术初探(一)

    汽车ECU虚拟化技术(二)--U2A虚拟化功能

6.杂七杂八

    Flash模拟EEPROM原理浅析

    征途漫漫:汽车MCU的国产替代往事

    车规MCU应用场景及国产替代进展
RH850\\U2A SOTA机制分析w2.jpg
         同一主题附件:
    RH850\\U2A SOTA机制分析w1.jpg
    RH850\\U2A SOTA机制分析w2.jpg
    RH850\\U2A SOTA机制分析w3.jpg
    RH850\\U2A SOTA机制分析w4.jpg
    RH850\\U2A SOTA机制分析w5.jpg
    RH850\\U2A SOTA机制分析w6.jpg
    RH850\\U2A SOTA机制分析w7.jpg
    RH850\\U2A SOTA机制分析w8.jpg
    RH850\\U2A SOTA机制分析w9.jpg

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 9-5-2024 11:55 , Processed in 0.140924 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.