求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
要资料
 
追随技术信仰

随时听讲座
每天看新闻
 
 
AUTOSAR实战教程
1.AUTOSAR相关知识
1. 老板说项目要上AUTOSAR,我慌得一批
2. 我淡定地撸了一遍AUTOSAR的基本概念
3. AUTOSAR初学者最想搞懂的东西
2.AUTOSAR理论基础
AUTOSAR架构
1. AUTOSAR架构的故事(干货)
2. AUTOSAR架构之通信服务(干货)
3. 这次我通过Interface来贯穿整个AUTOSAR架构
AUTOSAR启动与初始化
1. 解析AUTOSAR Startup
2.AUTOSAR架构中的配置文件
3.SWC详解与配置实现
1.AUTOSAR Port原理概念详解
4.BSW原理和实战演练
1. AUTOSAR折磨,从新建工程开始
2. AUTOSAR的BswM模块详解
3. 图解AUTOSAR NVM模块
4. AUTOSAR架构的 Pdu Router
5. AUTOSAR中的vLinkGen可以干嘛
6. MCAL Wdg模块解析
7. MCAL PWM Module详解
8. AUTOSAR的Memory是如何设计的?
9. AUTOSAR NvM Block的Native、Redundant和Dataset有什么区别?
10. AutoSAR,在多核汽车MCU中如何运行
11. AUTOSAR架构中的Configurator
12. AUTOSAR中的Fee
5.MCAL应用配置
1.ADC模块的配置
2.MCU模块的配置
3.PWM模块的配置
 
 
AUTOSAR中的Fee
 来源: 嵌入式软件实战派
790 次浏览
6次  

有好几个小伙伴问我,能不能写个关于Fee的。

那是当然的,不仅要写一个,要写好几个,讲详细点。

为什么大家喜欢用Fee的Fls,而不是Ea的EEPROM?我猜是成本问题,因为EEPROM要外挂额外的芯片,而Fls(DataFlash)是内置在MCU中的。

相对于EEPROM,DataFlash的缺点也是相当明显的:

  1. 擦写寿命较短;

  2. 擦写单位比较大。

你看之前文章( AUTOSAR的Memory是如何设计的? )提到的这个案例:

以下以在0x0008地址写入0x11, 0x22, 0x33, 0x44这四个字节内容为例,看看EEPROM和DataFlash的实际操作情况:

当然,这两个缺点也是有办法弥补的,不过要牺牲点时间效率为代价。

这样,项目到底用EEPROM还是用DataFlash做存储,那得根据实际使用需求做评估了。

Vector提供的Fee方案有两种:一种是常规的Standard Fee,另外一种是Small Sector Fee。

Vector的官网有详细介绍为什么有两种不同的Fee:

《 Standard Fee and SmallSectorFee 》( https://support.vector.com/kb/?id=kb_article_view&sysparm_article=KB0012027&sys_kb_id=8c2582281b2614148e9a535c2e4bcbe8&spa=1 )

常规的Fee, 一般是将 Fls空间分为两个逻辑分区

在使用的时候,首先使用分区1

用完分区1后,再使用分区2

如果还要继续使用,就再擦除分区1使用,如此反复轮换使用。

我打算将这个过程原理做成视频,本文先放一段gif动图看看吧。

以上是Standard Fee的做法,这是因为Flash一把擦除单位比较大,所以才这么干的。

为了更好理解这个原理,引入两个概念:Sector和Page

姑且这么理解,Sector是Flash一次擦除的最小单位,Page是Flash一次写入的最小单位。

例如NXP S32K MCU的DataFlash的Sector大小是8K,Page大小是4Byte。

这就有个问题,一般情况下,一个数据段内容不会很大,都是很小的几个字节,第一次写倒是无所谓,如果第二次要改内容怎么办。要擦除8K的Sector才能重新写入这个更改的内容!嗯,很不合算!

于是,Fee就用了上文讲到的方法,两个Sector轮流来。

但是呢,并不是所有Flash的Sector都是很大的,也有很小的,例如瑞萨的RH850的DataFlash,Sector大小是64Byte,Page大小是4Byte。

好家伙,那就让一段应用内容数据占用一整个(即使多几个)Sector也不亏。

于是SamllSector Fee就来了。

还有个问题,一般情况下MCU内部的DataFlash的擦写周期P/E Cycle是10万次的,如果客户要求有段数据的存储擦写寿命要达到20万次怎么办。

那就要加入个叫“磨损均衡算法”的策略了,简单地理解,用双倍的空间存储这个内容。

这些策略,我在之前的文章有提及过。《 AUTOSAR的Memory是如何设计的?

这里不展开讲这些细节了,后续有机会出更多的图文或视频来讲解其原理和过程。

那接下来就是配置了,如果你学会Ea/EEP的配置,这个Fee/Fls的配置就很简单了,大部分概念和操作都是一样的。建议参考《 AUTOSAR NvM模块配置详解


 



您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码: 验证码,看不清楚?请点击刷新验证码 必填



790 次浏览
6次