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模块仅配置为双扇区或同时配置为双扇区和准静态时。默认情况下,禁用可选通知以最小化可执行代码大小。