文章目录
- Fls
- FlsGeneral
- FlsAcLoadOnJobStart
- FlsBaseAddress
- FlsBlankCheckApi
- FlsCancelApi
- FlsCompareApi
- FlsCopySupported
- FlsCriticalSectionProtection
- FlsDevErrorDetect
- FlsDeviceName
- FlsDriverIndex
- FlsFaciEccCheck
- FlsGetJobResultApi
- FlsGetStatusApi
- FlsLoopCount
- FlsReadImmediateApi
- FlsSetModeApi
- FlsTimeoutMonitoring
- FlsTotalSize
- FlsUseInterrupts
- FlsUseWVErrorInterface
- FlsVersionCheckExternalModules
- FlsVirtualBoundaryAddress
- FlsWriteVerify
- FlsWriteVerifyErrorInterface
- FlsDataFlash0
- FlsConfigSet
- FlsAcErase
- FlsAcWrite
- FlsCallCycle
- FlsDefaultMode
- FlsJobEndNotification
- FlsJobEndNotification
- FlsMaxEraseNormalMode
- FlsMaxReadFastMode
- FlsMaxReadNormalMode
- FlsMaxWriteFastMode
- FlsMaxWriteNormalMode
- FlsProtection
- FlsTimeOutCountValue
- FlsSector0
Fls
Fls主要用来对接上层的Fee模块,使用Data Flash模拟Eeprom。
FlsGeneral
FlsAcLoadOnJobStart
该参数指定闪存驱动器在启动擦除或写作业时应加载闪存访问码到RAM,并在该作业完成或取消后卸载(覆盖)它。
该参数不用于实现。
true:在作业开始时加载/在作业结束时卸载Flash访问码或错误。
false: Flash访问码根本没有加载到RAM或从RAM中卸载。
FlsBaseAddress
指定flash的起始地址。该参数不用于实现。
请配置FlsDFBaseAddress代替此参数。
FlsBlankCheckApi
使能或关闭Fls_BlankCheck函数。
true:提供支持的API / function。
false:不支持API /不提供函数。
Fls_BlankCheck用来验证指定的flash区域是否被擦除
FlsCancelApi
该参数用于开启或关闭Fls_Cancel功能。
true:提供支持的API / function。
false:不支持API /不提供函数。
FlsCancelApi用来取消当前进行的flash操作
FlsCompareApi
该参数用于开启或关闭Fls_Compare功能。
true:提供支持的API / function。
false:不支持API /不提供函数。
FlsCopySupported
该参数用于启用或禁用驱动程序中的FCU固件拷贝过程。
true:在驱动程序中启用FCU固件拷贝过程。
false:关闭驱动程序中的FCU固件拷贝过程。
FlsCriticalSectionProtection
该参数指定是否可以通过在FLS驱动程序配置中添加预编译的配置参数来禁用进入/退出临界区功能来减少FLS驱动程序的CPU负载。
true:为受限区域启用临界区功能。
false:禁用限制区域的临界区功能。
FlsDevErrorDetect
此参数指定预处理器开关,以启用和禁用开发错误检测。
true:启用开发错误检测。
false:禁用开发错误检测。
FlsDeviceName
配置芯片,实际没啥用
FlsDriverIndex
此参数指定驱动程序的索引,由FEE使用。该参数不用于实现。
FlsFaciEccCheck
该参数用于在FLS模块初始化过程中使能ECC错误中断检查,以确保使能FACI寄存器设置。如果用户将该参数配置为true,则用户应在“FlsConfigSet”容器中配置“FLS_E_ECC_FAILED”参数。
true:在初始化期间启用FACI ECC中断使能寄存器检查功能。
false:在初始化期间禁用FACI ECC中断使能寄存器检查功能。
FlsGetJobResultApi
该参数用于开启或关闭Fls_GetJobResult函数。
true:提供支持的API / function。
false:不支持API /不提供函数。
Fls_GetJobResult用来获取上个任务的完成状态
FlsGetStatusApi
该参数用于开启或关闭Fls_GetStatus函数。
true:支持API /提供的函数。
false:不支持API /未提供函数。
Fls_GetStatus用来获取flashdriver的状态
FlsLoopCount
此参数用于避免FLS驱动中出现无限循环的风险。循环计数最小为32 ~最大为255
FlsReadImmediateApi
选择启用或禁用Fls_ReadImmediate函数。
true:提供支持的API / function。
false:不支持API /不提供函数。
该函数不是Autosar标准函数,MCAL代码中描述如下:
当命令为ReadImmediate Operation时,从Fls_MainFunction调用该函数。
FlsSetModeApi
该参数用于开启或关闭Fls_SetMode函数。
true:支持API /提供的函数。
false:不支持API /未提供函数。
Fls_SetMode用来设置flashdriver的运行模式
FlsTimeoutMonitoring
此参数编译开关以启用或禁用FlsTimeout监控。
true:使能FlsTimeout监控。
false:关闭FlsTimeout监控
FlsTotalSize
该参数以字节为单位指定FLS驱动程序可访问的flash大小。
对于R7F701372/R7F701372A, 参数的值应该配置为64 ~ 130368
FlsUseInterrupts
此参数指定由硬件中断触发的作业处理。该参数不用于实现,因为P1x-C不支持中断。
FlsUseWVErrorInterface
该参数指定用户是否可以为写验证功能配置错误通知接口而不是DEM错误。
true:用户可以通过FlsWriteVerifyErrorInterface参数配置错误通知接口。
false: Write-Verify功能的错误通知将通过DEM错误处理。
FlsVersionCheckExternalModules
为模块间依赖项启用/禁用AUTOSAR版本检查。
true:启用AUTOSAR模块间依赖关系的版本检查。
false: AUTOSAR模块间依赖的版本检查被禁用。
FlsVirtualBoundaryAddress
指定Flash的虚拟边界地址。该参数仅用于验证Data Flash的虚拟地址范围。
Virtual Boundary Address(Upper Boundary for DataFlash) for R7F701372/R7F701372A : 130368 bytes.
FlsWriteVerify
此参数启用FACI和ECC寄存器的INIT_ONLY或INIT_AND_RUNTIME寄存器回读功能的选择和支持。
WV_INIT_ONLY:在静态寄存器上启用回读功能。
WV_INIT_RUNTIME:在静态和动态寄存器上启用回读功能。
WV_DISABLE:禁用FACI和ECC寄存器的寄存器回读功能。
FlsWriteVerifyErrorInterface
该参数用于配置错误通知的名称,当发生Write Verify错误时,该通知将与ApiID和ErrorId一起调用。
示例配置如下:
FlsDataFlash0
FlsCpuFrequency
参考CPU子系统的频率配置,即在MCU驱动配置中进行设置。
这个来自MCU的参考通知编程硬件频率到编程固件。单片机中的时钟值必须与CPU子系统的时钟供应设置一致。
请确保在MCU配置中设置正确的时钟值,以免损坏flash硬件。
实际时钟由OPBT决定
FlsDFBaseAddress
数据flash起始地址。
FlsDFBlockSize
该参数指定数据闪存的块大小,以字节为单位。
FlsDFTotalBlocks
R7F701372/R7F701372A的数据闪存中有2037个64字节的物理块
FlsDataFlashSize
该参数表示Data Flash memory (Bank A)的物理总大小。
Bank B (32KB)专用于ICUMC模块。
FlsEccDedNotification
该参数映射到某个上层模块提供的双比特错误(DED)通知例程。
FlsEccSedNotification
该参数映射到某个上层模块提供的单比特错误(SED)通知例程。
FlsResumeApi
该参数编译开关,使能和关闭Fls_Resume函数。
true:提供支持的API / function。
false:不支持API /不提供函数。
该参数编译开关以启用和禁用Fls_Suspend函数。
true:提供支持的API / function。
false:不支持API /不提供函数。
示例配置如下:
FlsConfigSet
FlsAcErase
此参数指定RAM中的地址偏移量,擦除闪存访问码将加载到该偏移量。
用作访问擦除闪存访问码的函数指针。这个参数不用于实现,因为flash访问代码是从ROM (code flash)执行的。
FlsAcWrite
此参数指定写入闪存访问码应加载到的RAM中的地址偏移量。
用作函数指针访问写flash访问码。该参数不用于实现。
FlsCallCycle
该参数指定闪存驱动器main函数调用的周期时间(单位为秒)。该数值以160MHz频率计算。
实际main函数调用还是手动调用的。
FlsDefaultMode
该参数为初始化后的默认FLS设备模式。
FlsJobEndNotification
该参数映射到某个上层模块(通常是Fee模块)提供的作业结束通知例程。
FlsJobEndNotification
该参数映射到某个上层模块(通常是Fee模块)提供的作业结束通知例程。
FlsMaxEraseNormalMode
该参数指定在正常模式下,闪存驱动器的作业处理功能在一个周期内要擦除的最大字节数。该值应该是64字节的倍数。该参数不用于实现
FlsMaxReadFastMode
该参数指定flash驱动器在快速模式下的作业处理功能在一个周期内读取或比较的最大字节数
FlsMaxReadNormalMode
该参数指定在正常模式下,闪存驱动器的作业处理功能在一个周期内读取或比较的最大字节数。该参数适用于数据flash。
FlsMaxWriteFastMode
该参数指定flash驱动器的作业处理功能在快速模式下一个周期内写入的最大字节数。该参数不用于实现。
FlsMaxWriteNormalMode
该参数指定在正常模式下,闪存驱动器的作业处理功能在一个周期内写入的最大字节数。该参数不用于实现。
FlsProtection
该参数用于控制对Data Flash进行erase/write/blankcheck操作的保护设置。
当设置FlsProtection = 0时:在模块初始化后,FLS关闭Data Flash的erase/write/blankcheck保护。这意味着,无论FLS是否在数据闪存上操作,总是允许擦除/写/空白检查操作。
当FlsProtection设置为非零值时:数据Flash对擦除/写/空白校验的保护由FLS自动处理。这意味着,当执行擦除/写/空校验操作时,FLS将禁用保护,完成操作后,FLS将恢复之前的保护设置。
FlsTimeOutCountValue
该参数指定在中断模式下擦除、写和空白检查操作所需的超时计数。该参数配置不正确将导致FLS Driver操作错误。该参数不用于实现。
FlsSector0
FlsNumberOfSectors:该参数指定FlsSectorSize和FlsPageSize具有相同值的连续扇区的数目。该参数设置应与FlsSectorStartaddress一致。
Number of Sectors for Data Flash in R7F701372/R7F701372A :0 - 2037
FlsPageSize:此参数指定该扇区的一页大小。
FlsSectorIndex:该参数指定数据闪存扇区的唯一索引值。
FlsSectorSize:该参数指定扇区的大小,以字节为单位。FlsSectorSize应该配置为64。
FlsSectorStartaddress:该参数指定该扇区的起始地址。该参数指定虚拟起始地址。实现类型:Fls_AddressType
Virtual Address range for Data Flash of R7F701372/R7F701372A : 0 - 130367
Sector配置如下图所示:
示例配置如下: