FEE在DFlash0进行模拟EEPROM功能,擦除、读、写在FLS中进行,DFlash1预留给HSM。
驱动配置
FEE驱动可以配置为以下三种模式:
FEE_DOUBLE_SECTOR_AND_QUASI_STATIC_DATA、FEE_DOUBLE_SECTOR_DATA_ONLY or FEE_QUASI_STATIC_DATA_ONLY.
在FeeBlockTypeConfigured选项设置。
注意:
对于普通数据(双扇区),FeeBlockTypeConfigured应该设置FEE_DOUBLE_SECTOR_DATA_ONLY。
仅对于QS配置,FeeBlockTypeConfigured应该设置为FEE_QUASI_STATIC_DATA_ONLY。
根据用户选择的配置,应该在FeeBlockConfiguration中配置相应的数据块。例如,如果将FeeBlockTypeConfigured设置为FEE_DOUBLE_SECTOR_AND_QUASI_STATIC_DATA,那么在FeeBlockConfiguration部分中需要配置普通双扇区和QS块。
注意,FeeQsBlockAddress仅适用于QS块。在上面的示例中,它是Oxc0000,因为这个地址是在FLS中配置的。此地址不应与正常的双扇区大小地址重叠。此外,在配置QS块地址(FeeQsBlockAddress)和QS块大小(FeeBlockSize)时,用户必须注意正确填写每个QS数据块的值,以确保它们不会违反在FLS中配置的QS扇区大小。QS地址也不应该重叠,应该是连续的。
如果FeeBlockTypeConfigured配置为FEE_DOUBLE_SECTOR_DATA_ONLY,则只应配置正常的双扇区数据块。如果选择FEE_QUASI_STATIC_DATA_ONLY,则只应该配置QS数据块。
与在FEE中完成的配置相对应的配置也必须在FLS中完成。可以这样做:
1. 进入FLS配置,配置扇区为普通双扇区和QS扇区。
2. 提及每个扇区的大小。
3.适当地给出两个扇区的起始地址。
请注意,QS扇区地址应该在正常双扇区地址的扇区之后。例如,在FEE中,普通双扇区的每个扇区的大小为Ox60000或393216字节(384 KB),两个扇区(双扇区)的总大小为768 KB或786432字节,因此QS地址的值为OxC0000(786432),位于双扇区使用的地址之后。因此,Qs扇区的总大小为Ox40000,这是在分配正常双扇区的两个扇区的扇区大小后的剩余大小。
QS扇区起始地址的计算方法如下:
QS扇区起始地址=双扇区算法中一个扇区的扇区大小x2
根据上面的例子:
—双扇区算法的一个扇区大小= 0x60000
-QS扇区起始地址= 2 × 0x60000 = 0xC0000
在使用普通双扇区的情况下,QS扇区大小的计算可以总结如下:
QS扇区大小=总闪存大小-(双扇区算法的一个扇区大小x2)
如图所示:
Flash总大小= Oxfa000
双扇区算法的单个扇区大小= 0x60000
QS扇区= Oxfa000-(2 × 0x60000) = 0x3a000
注意:
QS的FlsSectorStartaddress不应该与NVM块重叠。
如果feblocktypeconfigure配置为FEE_DOUBLE_SECTOR_DATA_ONLY,那么应该只配置一个FlsSector, FlsNumberOfSectors的值为2。
如果配置为FEE_QUASI_STATIC_DATA_ONLY,则FlsNumberOfSectors只有一个值为1的FlsSector。因此,在上面的例子中,应该配置值为1的FlsSector_0。
如果feblocktypeconfig被配置为FEE_DOUBLE_SECTOR_AND_QUASI_STATIC_DATA,那么FLS配置中的扇区顺序应该是:FlsSector_0应该配置为2个扇区,然后FlsSector_1应该配置为扇区数量的值为1。