AUTOSAR 存储栈分析MemIf\Fee

admin 2025年4月27日22:42:48评论2 views字数 2140阅读7分8秒阅读模式

点击上方蓝字谈思实验室

获取更多汽车网络安全资讯

AUTOSAR 存储栈分析MemIf\Fee

01

MemIf

和所有的抽象层作用差不多,MemIf把Driver层的模块抽象出来提供给上层使用,具体层级结构如下:

AUTOSAR 存储栈分析MemIf\Fee

NvM调用MemIf提供的标准接口,例如MemIf_ReadWrite等;在MemIf根据已配置的抽象驱动模块(FeeEA)分别调用不同的API,实际举例如下:

AUTOSAR 存储栈分析MemIf\Fee

根据标准,Fee或者Ea又会调用MeeAcc提供的接口去访问不同的Flash驱动。

我们以Vector的实际代码为例,在MemIf层配置提供的接口如下:

/**-- MemHwA Function Pointers --**/CONST(MemIf_MemHwAApi_Type, MEMIF_CONST) MemIf_MemHwaApis[MEMIF_NUMBER_OF_DEVICES] ={/*  Fee_30_SmallSector  */ {    Fee_30_SmallSector_Read,     MemIf_Fee_30_SmallSector_WriteWrapper,     Fee_30_SmallSector_EraseImmediateBlock,     Fee_30_SmallSector_InvalidateBlock,     Fee_30_SmallSector_Cancel,     Fee_30_SmallSector_GetStatus,     Fee_30_SmallSector_GetJobResult,     Fee_30_SmallSector_SetMode  }};

在Fee层级配置的Flash驱动接口如下:

/* FLS API pointer table */CONST(Fee_30_SmallSector_FlsApiType, FEE_30_SMALLSECTOR_PRIVATE_CONSTFee_30_SmallSector_FlsApi0 = {/*  Read Service  */ Fls_Read, /*  Write Service  */ Fls_Write, /*  Compare Service  */ Fls_Compare, /*  Erase Service  */ Fls_Erase, /*  Blank Check Service  */ Fls_BlankCheck, /*  Get Status Service  */ Fls_GetStatus, /*  Get Job Result Service  */ Fls_GetJobResult};

发现没有,这一层的API并没有MemAccM相关的接口,所以虽然规范定义了这样的层级结构,但是在实现上有多种可能,简单有效才是硬道理。 

02

Fee

之所以在车规MCU里需要提供这样的机制,主要还是为了节约成本,提供数据的高效、实时存储,满足车规对于Data Flash百万次刷写的要求。

在AUTOSAR的规范里,也提供了这样类似的示例机制来提高DFlash的使用寿命:

AUTOSAR 存储栈分析MemIf\Fee

在该示例中,共计有1500Bytes数据需要管理,这些数据被均匀分成10个Block;当Fee发现某个Block数据更改并且需要重新编程的时候,他会找到目前空闲的Flash空间把数据写进Flash并设置有效。需要注意的是,在设计Fee驱动时,需要考虑到Flash IP支持的最小可擦除单位和最小可编程单位,只要熟悉IP特性,才能做好Flash磨损均衡算法。

03

小结

NvM的状态机每家供应商的代码区别还是挺大的,不过我们在看代码的时候首先需要了解这些API的调用时序,如下图为用户调用NvM_Write服务的时序图:

AUTOSAR 存储栈分析MemIf\Fee

熟读AUTOSAR NV Data Handling Guideline,才能更好理解代码,必要时自己画一个状态迁移图。

 end 

AUTOSAR 存储栈分析MemIf\Fee

 精品活动推荐 

AUTOSAR 存储栈分析MemIf\Fee
AUTOSAR 存储栈分析MemIf\Fee

AUTOSAR 存储栈分析MemIf\Fee

 AutoSec中国行系列沙龙 

AUTOSAR 存储栈分析MemIf\Fee

AUTOSAR 存储栈分析MemIf\Fee

 专业社群 

AUTOSAR 存储栈分析MemIf\Fee

部分入群专家来自:

新势力车企:

特斯拉、合众新能源-哪吒、理想、极氪、小米、宾理汽车、极越、零跑汽车、阿维塔汽车、智己汽车、小鹏、岚图汽车、蔚来汽车、吉祥汽车、赛力斯......

外资传统主流车企代表:

大众中国、大众酷翼、奥迪汽车、宝马、福特、戴姆勒-奔驰、通用、保时捷、沃尔沃、现代汽车、日产汽车、捷豹路虎、斯堪尼亚......

内资传统主流车企:

吉利汽车、上汽乘用车、长城汽车、上汽大众、长安汽车、北京汽车、东风汽车、广汽、比亚迪、一汽集团、一汽解放、东风商用、上汽商用......

全球领先一级供应商:

博世、大陆集团、联合汽车电子、安波福、采埃孚、科世达、舍弗勒、霍尼韦尔、大疆、日立、哈曼、华为、百度、联想、联发科、普瑞均胜、德赛西威、蜂巢转向、均联智行、武汉光庭、星纪魅族、中车集团、赢彻科技、潍柴集团、地平线、紫光同芯、字节跳动、......

二级供应商(500+以上):

Upstream、ETAS、Synopsys、NXP、TUV、上海软件中心、Deloitte、中科数测固源科技、奇安信、为辰信安、云驰未来、信大捷安、信长城、泽鹿安全、纽创信安、复旦微电子、天融信、奇虎360、中汽中心、中国汽研、上海汽检、软安科技、浙江大学......

人员占比

AUTOSAR 存储栈分析MemIf\Fee

公司类型占比

AUTOSAR 存储栈分析MemIf\Fee

原文始发于微信公众号(谈思实验室):AUTOSAR 存储栈分析--MemIf\Fee

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年4月27日22:42:48
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   AUTOSAR 存储栈分析MemIf\Feehttps://cn-sec.com/archives/4008381.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息