打印
[通用 MCU]

TC3xx NvM小细节解读

[复制链接]
364|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tpgf|  楼主 | 2024-7-8 10:15 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
se, flash, VM, xx, tc
1.FlsLoader Driver和FlsDmu Driver
在最开始做标定的时候,认为标定数据既然是数据,那么想当然就应该放置到DFlash;

但是做诊断的同事就纳闷了:那DTC、DID这些数据咋和标定数据区分呢?还得预留一段空间给标定数据,没这么搞过呀。

后来老板数你要么就用FlsLoader的接口,把数据存到PFlash,不要和诊断内容搅到一起了。

所以当时问题就出来了:FlsLoader接口是啥?为啥在一个包里既有Fls_Dmu Driver,还有FlsLoader Driver。

今天在整理笔记的时候翻到了,又细读了相关代码,觉得很有意思,分享给大家。

英飞凌针对TC3xx发布了多个MCAL包,包括Basic和CD(Complex Driver) package;

Basic Package里提供了Fee Driver和Fls_Dmu Driver;
CD Package里提供了FlsLoader Driver。
Fls_Dmu Driver

该驱动用于支持AUTOSAR中定义的标准功能,主要针对DFlash0的初始化和读写擦,因此它这个scope仅限于DFlash。

这是符合CP AUTOSAR FlashDrvie的Scope定义(仅用于Flash EEPROM):

In application mode of the ECU, the flash driver is only to be used by the Flash EEP
ROM emulation module for writing data. It is not intended to write program code to
flash memory in application mode. This shall be done in boot mode which is out of
scope of AUTOSAR.
那如果想要刷写PFlash上的内容,就得在复杂驱动里找找答案了,例如FlsLoader Driver

FlsLoader Driver

用于操作所有PFlash 和DFlash0,包括初始化、PFlash的读写擦,以及针对Flash的上锁和解锁。

有了这个理解之后,我们再来看看代码里的小细节。

2. FlsLoader小细节
FlsLoader_Erase接口很有意思,他的入参包括TargetAddress和Length;我们很容易想当然这里给的参数就应该是目标擦除地址和长度(0x10000),但实际上再往下看代码逻辑时会发现这个Length对应的是即将要擦除的Sector个数,这样就对应的是DMU 命令序列 Erase sector nn。



因此调用该接口时应该简单计算下需要擦几个Sector,也不是以前的目标地址+实际长度。

我们接着手册看看关于该命令序列出现SQER(Sequence Error),最让我困惑的是关于PFlash Size的判断,如下:



以TC37x为例,明明有2个PFlash Bank,每个Bank容量为3MB,但为什么每次只能擦除512K/16K = 32 ,难道说这里面有什么物理限制吗?

我们来看看PFlash的结构组成,它是有3个1 MB物理Sector组合为一个3MB的Bank,每个物理Sector划分为64个逻辑Sector(64*16),如下:



手册里特别强调的是每个物理Sector之间是独立的,并且最大Erase Size为512KB,因此我们在代码逻辑里首先会看到判断是否超最大擦除大小了,这点我最开始想了很久,如下:



其次,如果是跨物理Sector的擦写,在代码实现里还特别多出了一步:判断是否超出了1MB的范围,如超出了,需要使用两次erase cmd命令序列,如下图:



这里确实很神奇,不知道这个是否和本身它的这个Flash IP特性相关,不支持跨PS擦除。

3.小结
分析它的代码,主要还是要完善自己的驱动知识库,感觉每家的Flash操作大不相同,所以多看多学,才能见怪不怪,哈哈。
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/djkeyzx/article/details/140207046

使用特权

评论回复
沙发
chenjun89| | 2024-7-9 08:24 | 只看该作者
这种细节要静下来仔细梳理,经验就是这样积累的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1886

主题

15541

帖子

11

粉丝