首页 > 其他分享 >使用EB配置Fee驱动

使用EB配置Fee驱动

时间:2022-12-29 13:45:29浏览次数:48  
标签:Qs FEE fee 配置 本例 EB Fee 用于 驱动

  1. 概述
    1. FEE驱动程序通过标准服务和定义良好的配置根据AUTOSAR提供Flash EEPROM仿真。此外,还提供了客户特定的功能,如原始Flash处理、准静态(QS)数据块支持、未配置数据块支持、擦除暂停恢复。针对第二代AURIXTM硬件,DFlash0 EEPROM内存区域被FEE驱动程序专门用于提供模拟EEPROM功能。特定于dflash的操作,如擦除、读取和写入,都是在FLS驱动程序中实现的。FEE不使用DFlash1。DFlash1为HSM预留。FEE驱动程序是作为Post-Build变体交付的,因为FEE功能不仅可用于运行时应用程序,还可用于引导代码。

    注意:准静态数据区有500个擦除/写入循环的限制。

  1. FEE驱动程序实现从FLS驱动程序调用的回调函数。这些功能将在配置FLS驱动程序时配置。FEE驱动程序通过可配置的通知功能报告Job的完成情况和错误。用户可以在配置FEE模块时配置这些功能。

 

  1. 依赖硬件

 

  1. 详细配置

container:FeeBlockConfiguration 中包含fee驱动中添加的各数据块的配置参数;

FeeBlockNumber 用于指定fee驱动中分配的各存储块的序号,软件自动生成,从1开始计,须小于FeeMaxBlockCount值,本例中创建了3个块,因此序号为1,2,3;

FeeQsBlockInstances 用于指定Qs大块中的小块个数,前提是大块应该是Qs类型的块,本例中块0 和块1 都是NvM类型的数据块,因此这两块的此项值必须为0;块2 是Qs类型的块,因此可以指定此QS大块中包含的小块个数,本例中只设置了一个小块,因此块2 中的此项值为1;更多详细信息请参阅原始文档;

FeeQsBlockAddress 用于指定各块的起始地址,这个地址也是一个DFLASH0中的相对偏移地址,不是真实物理地址,虽然项目名中带有Qs,但不论Qs还是Nvm类型的数据块,均由此项设置起始地址。由于在Fls的配置文档中我们设置NvM块的相对起始地址是0,块大小是0x60000,因此这里NvM类型数据块的相对地址取值范围是[0, 0x60000);本例创建了两个NvM的小块,起始地址分别是0x10000和0x20000;Fls配置文档中Qs类型数据块的相对起始地址是0xc0000,大小是0x40000,因此这里Qs类型数据块的相对地址取值范围是[0xc0000, 0x100000);本例中创建了一个Qs小块,起始地址是0xc0000;因此本例中3个数据块此项的值依次是0x10000,0x20000,0xc0000;

FeeQuasiStaticManager 用于指定数据块存储的数据类型,选择true表示此块是Qs块,选择false表示此块是NvM块,因此本例中的3个块此项的值依次是false,false,true;

FeeBlockSize 用于指定块大小,此值须是4096的整数倍;

FeeImmediateData 用于指定数据类型,正常数据设置为FALSE,即时数据设置为TRUE,默认使用false即可;

FeeNumberOfWriteCycles 定义特定逻辑块的写周期计数;它表示一个特定逻辑块可以被写入的最大次数;值为0表示该块不受任何限制,可以根据用户的需要任意写入次数;

FeeDeviceIndex 由于fee是在fls的基础上进行的配置,因此这里需要引用Fls的配置;

 

container:FeeGeneral 中包含fee驱动的通用配置;

FeeDevErrorDetect 是否启用开发错误侦测api,本例中禁用;

FeeSafetyEnable 是否启用安全模式api,本例中禁用;

FeeInitCheckApi 是否启用初始化检查api,默认禁用;

FeeMainFunctionPeriod 设置主函数调度周期值,使用默认值10ms;

FeeNvmJobEndNotification 用于添加NvM块Job传输结束后的回调通知函数,并由用户在代码中实现同名函数;

FeeNvmJobErrorNotification 用于添加NvM块Job传输错误后的回调通知函数,并由用户在代码中实现同名函数;

FeeQsJobEndNotification 用于添加Qs块Job传输结束后的回调通知函数,并由用户在代码中实现同名函数;

FeeQsJobErrorNotification 用于添加Qs块Job传输错误后的回调通知函数,并由用户在代码中实现同名函数;

FeePollingMode 是否启用模块的轮询模式,由于英飞凌FEE的实现仅在非轮询模式下工作。因此,默认值设置为FALSE,且不可变更;

FeeSetModeSupported 是否启用FEE模块的SetMode功能,本例中禁用;

FeeVersionInfoApi 是否启用版本信息api,默认禁用;

FeeVirtualPageSize 用于指定对逻辑块进行对齐的字节大小,此值默认是8且不可变更;

FeeBlockTypeConfigured 用于指定数据块类型配置分类,支持3种模式,分别是FEE_DOUBLE_SECTOR_AND_QUASI_STATIC_DATA ,

FEE_DOUBLE_SECTOR_DATA_ONLY 和 FEE_QUASI_STATIC_DATA_ONLY;本例中既支持NvM又支持Qs,因此选择FEE_DOUBLE_SECTOR_AND_QUASI_STATIC_DATA;

 

container:FeePublishedInformation 中包含fee驱动的信息,这里采用默认值即可;

 

container:FeeIfxSpecificConfig 中包含fee驱动适用于英飞凌的特殊配置;

FeeThresholdValue 用于指定触发垃圾收集/扇区更改的阈值,默认200;

FeeMaxBlockCount 用于指定fee中分配块总数的最大值,跨配置共享的块只计算一次,且此值须大于FeeBlockNumber中的最大值;

FeeUseEraseSuspend 是否启用擦除挂起的特性,默认禁用;

FeeStateVarStructure 此参数用于提供包含特定于fee驱动程序的整个全局变量的结构的名称,用户可以修改(建议使用默认值),并在代码中以静态全局变量的形式存在;

FeeUnConfigBlock 用于指定在GC期间是否应将未配置的块复制到新扇区或忽略;选择FEE_UNCONFIG_BLOCK_IGNORE表示忽略;选择FEE_UNCONFIG_BLOCK_KEEP表示复制;

FeeUnConfigBlkOverflowHandle 用于指定当缓存表溢出时fee驱动的行为,选择FEE_CONTINUE表示未配置的块不能容纳在缓存表在GC后丢失;选择

FEE_STOP_AT_GC表示在GC过程中FEE进入伪非法状态,只允许读操作,不允许写操作;

FeeGcRestart  用于指定GC重启点,选择FEE_GC_RESTART_INIT表示在fee初始化完成后进行GC重启;选择FEE_GC_RESTART_WRITE表示在Job被请求时进行GC重启;

FeeGetCycleCountApi 是否启用获取周期计数api,默认禁用;

FeeEraseAllEnable 是否启用全部擦除功能,默认禁用;

FeeGetPrevDataApi 是否启用获取先前数据api,默认禁用;

FeeCancelAllApi 是否启用取消全部操作api,默认禁用;

FeeMaxBytesPerCycle 用于指定在读、写和比较操作期间,在一次fee主函数调用中处理的最大数据字节数;

FeeNvmIllegalStateNotification 用于添加NvM块处于非法状态时的回调通知函数,并由用户在代码中实现同名函数;

FeeQsIllegalStateNotification 用于添加Qs块处于非法状态时的回调通知函数,并由用户在代码中实现同名函数;

FeeQsHardenErrorNotification 用于添加Qs块硬件错误时的回调通知函数,并由用户在代码中实现同名函数;

FeeVirginFlashIllegalState 是否启用检测原始Flash (DFlash0)的行为,默认禁止;

 

container:FeeDemEventParameterRefs 中包含fee驱动涉及的诊断事件集合,需要在Dem中配套设置,本例中关闭了诊断事件管理,因此使用默认值,均无须配置;

 

container:CommonPublishedInformatica 中是软件自动生成的版本号默认值,用户无需修改,保持默认即可。

 

标签:Qs,FEE,fee,配置,本例,EB,Fee,用于,驱动
From: https://www.cnblogs.com/lance9527/p/17012323.html

相关文章

  • 使用EB配置McalLib驱动
    本文档主要以McalLib为例,讲述如何理解各驱动的原始用户手册,并如何从中提取信息和确定在EB中需要配置那些container以及这些container该配置为何值。具体到本实例McalLib的......
  • Eric Evans-"领域驱动设计"-UMLChina讲座-音频
    时间2006年4月26日(周三)上午10:00-12:00演讲人EricEvans,《领域驱动设计》作者。该书是他12年大型系统建模和设计积累的结晶。主持人Sicilia声音记录网盘下载(35M)>>​​http......
  • Rebecca Wirfs-Brock-"对象设计的艺术"UMLChina讲座-音频和幻灯
    时间2006年8月8日(周二)上午10:00-12:00演讲人RebeccaWirfs-Brock(http://www.wirfs-brock.com),对象技术专家,面向对象设计技术的先驱。她在1990年出版的”DesigningObject-Ori......
  • Rebecca Wirfs-Brock--"职责驱动设计"讲座-音频和幻灯
    时间2004年8月25日(周三)上午10:00-12:00演讲人RebeccaWirfs-Brock,对象技术专家,面向对象设计技术的先驱。她在1990年出版的”DesigningObject-OrientedSoftware”是最早的......
  • 超全面的JavaWeb笔记day23<AJAX>
    AJAXAJAX概述1什么是AJAXAJAX(AsynchronousJavascriptAndXML)翻译成中文就是“异步Javascript和XML”。即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传......
  • 领域驱动设计
    DDD的代码结构_ronshi的博客-CSDN博客_ddd代码结构 DDD(领域驱动设计)概念来源于2004年著名建模专家ericevans的书籍:《domain-drivendesign–tacklingcomplexity......
  • 初学《python编程从入门到实践》web应用程序,出现错误
    一开始是遇到了TemplateDoesNotExist的错误,上百度都是说改settings.py里面的TEMPLATE的DIRS,但我改了还是出现问题,我用的《python编程从入门到实践》这本书的出版时间是20......
  • David S. Frankel-模型驱动业务流程平台-UMLChina讲座-音频和幻灯
    时间2006年3月2日(周四)上午10:00-12:00演讲人DavidS.Frankel,构造大规模企业级系统的专家,是OMGMDA的主要发起者之一。他的《应用MDA》是国内引进的第一本MDA书籍。David目......
  • Jon Kern-实用模型驱动架构-UMLChina讲座-音频和幻灯
    时间2006年5月23日(周二)晚上19:00-21:00演讲人JonKern,敏捷宣言的作者之一,他曾在TogetherSoft公司(UML工具Together的开发商,2002年被Borland收购)工作,对TogetherSoft公司早期的......
  • 彭晨阳-领域驱动建模-UMLChina讲座-音频和幻灯
    时间2011年1月5日(周三)晚19:00-21:00演讲人彭晨阳,Jdon(http://www.jdon.com)创始人,上海解道计算机技术有限公司首席架构师、高级咨询顾问,OO软件思想布道者,专注于复杂系统的软件......