FEE驱动(三)

1、FeeMainFunctionPeriod

连续调用main函数之间的间隔时间(以秒为单位)。10ms是广泛使用的功能周期,因此保留为默认值。

2、FeeSetModeSupported

 

编译器开关以启用或禁用FEE模块的SetMode功能。

TRUE:支持setMode功能

FALSE:不支持setMode功能

注意:此配置设置应与所有底层Flash设备驱动程序(配置参数FlsSetModeApi)一致。当FEE模块仅配置为双扇区或同时配置为双扇区和准静态时适用。 

3、FeeBlockTypeConfigured

 预处理器切换到3种允许分类中的块配置类型,即仅NVM数据,还是仅NVM和准静态数据或仅准静态数据。默认值设置为仅双扇区数据,因为这是最常用的配置。

4、FeeThresholdValue

描述触发GC/扇区更改的阈值(以FEE扇区结束前的字节为单位)。

当FEE模块配置为仅双扇区或同时配置为双扇区和准静态时,它适用。

5、FeeMaxBlockCount

指定所有配置中的块总数。请注意,跨配置共享的块仅计数一次。

此参数决定预编译时的缓存表大小(缓存表大小=FeeMaxBlockCount+10。高速缓存表的大小增加了10作为安全裕度)。

高速缓存表保存关于已配置、未配置和QS块的信息。此参数的配置是仔细进行的。较高的值意味着高速缓存表的RAM区域消耗较高。较低的值将导致GC期间未配置块的丢失(如果FeeUnConfigBlkOverflowHandle为FEE_CONTINUE)或FEE的非法状态(如果FEE UnConfigBlk OverflowHandle为FEE_STOP_AT_GC)。

示例1:具有互斥块的配置集:

配置A:配置的块数为10。

配置B:配置的块数为25。

然后,FeeMaxBlockCount=35。

示例2:配置A和配置B共享/使用五个块:

配置A:配置的块数为10。

配置B:配置的块数为25。

然后,FeeMaxBlockCount=30(即共享块仅计数一次)。

6、FeeStateVarStructure

这个参数是一个指向结构的指针,该结构将包含FEE驱动程序的所有全局变量。使用它,用户可以为变量分配最好的空间,以避免任何可能的链接问题。

7、FeeUnConfigBlock

指定在GC期间是应将未配置的块复制到新扇区还是忽略。当FEE模块配置为仅双扇区或同时配置为双扇区和准静态时,它适用。

8、FeeUnConfigBlkOverflowHandle

指定发生缓存表溢出时FEE驱动程序的行为,即由于FeeMaxBlockCount的值配置错误而导致缓存表中空间不足(在缓存构建过程中检测到更多的块,无法容纳在缓存表中)。

FEE_CONTINUE:无法容纳在缓存表中的未配置块在GC之后丢失。对于当前活动的配置,FEE按预期继续。

FEE_STOP_AT_GC:在GC期间,FEE进入伪非法状态,只允许读取操作,但不允许写入。

注意:如果fee_unconfigblock设置为FEE_UNCONFIG_BLOCK_IGNORE,则此参数无关。

当FEE模块仅配置为双扇区或同时配置为双扇区和准静态时适用。

9、FeeGetCycleCountApi

 

预处理器开关以启用或禁用Fee_17_GetCycleCount() API。当FEE模块仅配置为双扇区或同时配置为双扇区和准静态时适用。

默认情况下,禁用获取周期计数以最小化可执行代码大小。

10、FeeEraseAllEnable

 

允许用户配置在初始化过程中,当FEE识别到一个无效的扇区状态时,扇区是否应该被擦除。当配置为TRUE时,两个FEE扇区都被擦除。在这种情况下,FEE恢复到正常状态,但不能恢复以前的数据(如果有的话)。

当配置为FALSE时,FEE处于非法状态,不能继续操作。但是,数据在DFlash中保持完整,并且可以恢复。

注:此标准仅适用于双扇区的NVM区段,不适用于QS区段。

当FEE模块仅配置为双扇区或同时配置为双扇区和准静态时适用。默认情况下,禁用FeeEraseAllEnable以最小化可执行代码大小。

11、FeeMaxBytesPerCycle

 

指定在读、写和比较操作期间,在一次FEE主函数调用中处理的最大数据字节数。大小包括诸如页眉、连续页id等块开销。

当FEE模块仅配置为双扇区或同时配置为双扇区和准静态时适用。

12、FeeNumberOfWriteCycles

定义特定逻辑块的块写周期计数。它表示可以写入特定逻辑块的最大次数。然而,值0表示该块不受任何限制,并且可以根据用户的需要写入任意次数。

当FEE模块配置为“仅双扇区”或“双扇区准静态”时适用。

13、FeeImmediateData

逻辑块的类型(优先级)。当FEE模块配置为“仅双扇区”或“双扇区准静态”时适用。

对于普通数据,该参数设置为FALSE,对于即时数据,该参数设置为TRUE。

14、FeeNvmIllegalStateNotification

 

这个参数是一个指向通知API的指针,当FEE (NVM部分)达到非法状态时调用该API。非法状态意味着FEE无法继续,用户应该执行上电复位。

在FEE的内部活动(如GC、GC初始化)中,由于硬件错误也可能引发NVM非法通知。

适用于FEE模块仅配置为双扇区或同时配置为双扇区和准静态时。默认情况下,禁用可选通知以最小化可执行代码大小。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值