AUTOSAR实战篇:基于ETAS工具链集成Infineon FEE模块
AUTOSAR实战篇:基于ETAS工具链集成Infineon FEE模块
前言
正文
FEE全称为“Flash EEPROM Emulation ” , 即通过Flash来模拟EEPROM操作,相比Flash,EEPROM可以针对其存储空间同一位置直接改写,但Flash存储空间只能从1改成0,因此针对同一位置处的改写必须先擦除再写入才可以。
为了提高Flash的读写效率,因此Flash通过模拟EEPROM的操作来实现底层不断写入的操作,最终通过相应的换片机制来均衡Flash空间的读写寿命。
关于FEE机制具体是如何实现的,可以参照我之前的文章**《FEE机制》**。
虽然ETAS的ISOLAR-A/B自身也存在FEE模块,但是很多时候芯片厂商可能更多推荐使用其MCAL中自带的FEE模块,以便能够提高Flash芯片的使用效率,本文将以最为常见的英飞凌(Infineon) TC3XX 芯片的MCAL为例来讲解下如何将Infineon FEE模块集成到目标工程中。
ETAS工程前置条件
在进行下列集成操作之前,请确保当前已存在Memory Stack可用的ISOLAR-A/B工程,后面小T将手把手带大家集成IFX FEE模块以替代RTA-CAR FEE模块。
使用过ISOLAR-A/B的小伙伴可能知道RTA-CAR FEE模块有个特点,其FEE的配置基本上NVM配置好之后,便可以通过RTA-CAR ConfGen的方式来自动化生成。
值得需要注意的是即使你不使用ISOLAR FEE模块,RTA-CAR工程也必须包含FEE模块,这是因为整个Memory Stack存在着诸多的依赖关系(Memif,NVM),你可以将此时的FEE模块作为一个Stub 模块的存在,在生成整个BSW代码的过程中,你也会同步生成FEE模块,不过在目标工程中不要集成该RTA-CAR对应的FEE模块即可。
S1: Tresos中Ifx FEE模块配置
在EB Tresos工程中可以添加如下英飞凌IFX FEE模块,FEE中的配置需要跟RTA-CAR FEE中的配置保持一致,也就意味着就需要在Tresos工程中配置RTA-CAR FEE模块中相同的选项以及对应的FEE模块属性。
完成上述MCAL中的FEE配置后,便可以在Tresos工程中生成对应的BSW代码,该BSW代码中将包含Fee_PBcfg.h 与Fee_PBcfg.c 文件。
S2: 去除FEE模块源代码
由于目标工程中将不会使用RTA-CAR FEE模块,存在如下两种方式来确保集成的Ifx FEE模块:
- 每次集成新的代码时,将对应生成的RTA-CAR FEE模块的相关源代码进行删除,采用新的Ifx FEE模块进行替代;
- 为了避免每次都要进行删除操作,可以在编译的过程中将RTA-CAR FEE模块进行剔除即可。
S3:添加MemIf Stub函数
由于RTA-CAR中的MemIf模块总是依赖一些FEE模块中的一些自定义函数,而这些自定义函数在英飞凌 MCAL中并不存在,因此有必要添加相应的桩函数如Fee_Rb_XXX来完成相应的软件集成。
为了检查MemIf到底存在哪些依赖FEE模块的自定义函数,可以通过RTA-CAR生成的MemIf代码中找到MemIf_Cfg.h 文件,然后检查其相关的自定义函数:
以如下Fee_Rb_VarLenRead桩函数为例:
在Ifx FEE模块中添加一个Stub文件,在该文件中添加上述自定义函数的空定义,同时将该文件包含到 MemIf_MemMap.h中,防止出现包含错误或者未定义错误。
S4: 添加MCAL 静态代码
通过Tresos工程生成的代码仅仅是FEE模块的配置代码,该模块对应的FEE静态代码也需要同步集成到目标工程中,以如下目标工程为例,相关的TC3XX MCAL静态代码将放入到如下文件夹中。
当然除了添加FEE模块自身源代码之外,可能需要注意添加相关的FEE代码文件,如MemMap文件,该文件也可以在MCAL安装包中搜索到,一般文件名为 Fee_MemMap.h。
S5:集成注意事项
至此,按照上述步骤完成集成之后就已经将英飞凌Ifx FEE模块成功集成到目标工程了,如果此时还出现编译错误,那么需重点检查如下几个方面:
- 英飞凌IFX FEE静态代码是否成功集成到目标工程中,并且已加入到编译目录中;
- 检查IFX FEE的配置代码是否与RTA-CAR中的FEE相关配置是否一致;
- 检查RTA-CAR FEE相关代码是否已删除或者已剔除在编译目录中;
- MemIf模块中对应的自定义函数是否已通过桩函数来实现。
更多精彩最新内容,欢迎大家多多关注小T公众号“ADAS与ECU之吾见”。
原文地址:https://blog.csdn.net/wto9109/article/details/135721382
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!