Autosar MCAL-RH850P1HC Fls配置

news/2024/10/18 8:20:27/

文章目录

    • 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
        • FlsCpuFrequency
        • FlsDFBaseAddress
        • FlsDFBlockSize
        • FlsDFTotalBlocks
        • FlsDataFlashSize
        • FlsEccDedNotification
        • FlsEccSedNotification
        • FlsResumeApi
      • FlsConfigSet
        • FlsAcErase
        • FlsAcWrite
        • FlsCallCycle
        • FlsDefaultMode
        • FlsJobEndNotification
        • FlsJobEndNotification
        • FlsMaxEraseNormalMode
        • FlsMaxReadFastMode
        • FlsMaxReadNormalMode
        • FlsMaxWriteFastMode
        • FlsMaxWriteNormalMode
        • FlsProtection
        • FlsTimeOutCountValue
        • FlsSector0

Fls

Fls主要用来对接上层的Fee模块,使用Data Flash模拟Eeprom。

image

FlsGeneral

FlsAcLoadOnJobStart

该参数指定闪存驱动器在启动擦除或写作业时应加载闪存访问码到RAM,并在该作业完成或取消后卸载(覆盖)它。

该参数不用于实现。

true:在作业开始时加载/在作业结束时卸载Flash访问码或错误。

false: Flash访问码根本没有加载到RAM或从RAM中卸载。

FlsBaseAddress

指定flash的起始地址。该参数不用于实现。

请配置FlsDFBaseAddress代替此参数。

FlsBlankCheckApi

使能或关闭Fls_BlankCheck函数。

true:提供支持的API / function。

false:不支持API /不提供函数。

image
Fls_BlankCheck用来验证指定的flash区域是否被擦除

FlsCancelApi

该参数用于开启或关闭Fls_Cancel功能。

true:提供支持的API / function。

false:不支持API /不提供函数。

image
FlsCancelApi用来取消当前进行的flash操作

FlsCompareApi

该参数用于开启或关闭Fls_Compare功能。

true:提供支持的API / function。

false:不支持API /不提供函数。

image

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 /不提供函数。

image
Fls_GetJobResult用来获取上个任务的完成状态

FlsGetStatusApi

该参数用于开启或关闭Fls_GetStatus函数。

true:支持API /提供的函数。

false:不支持API /未提供函数。

image
image
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 /未提供函数。

image
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一起调用。

示例配置如下:

image
image

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 /不提供函数。

示例配置如下:
image

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配置如下图所示:
image
示例配置如下:
image


http://www.ppmy.cn/news/1440774.html

相关文章

用flutter实现类似startActivityForResult和onActivityResult功能

今年实在是大卷元年呀,莫名其妙的flutter就开始在各大公司火了起来,然后就是全员学习flutter,公司可以不用,但是你必须得会。隔壁IOS同事瑟瑟发抖,咋啦?意思就是我走咯? 不管怎么说,…

AI预测体彩排列3第2套算法实战化测试第5弹2024年4月27日第5次测试

今天继续进行新算法的测试,今天是第5次测试。好了,废话不多说了,直接上图上结果。 2024年4月27日体彩排3预测结果 6码定位方案如下: 百位:6、2、1、7、8、9 十位:8、9、4、3、1、0 个位:3、7、8…

Nest 快速上手 —— (一)nest介绍与启动安装

参考资料:https://docs.nestjs.com/ 0.介绍 Nest (NestJS)是一个用于构建高效、可扩展的Node.js服务器端应用程序的框架。它使用渐进式JavaScript,构建并完全支持TypeScript(但仍然允许开发人员使用纯JavaScript编写代码),并结合了OOP(面向对…

【介绍下有那些常见的ssh功能】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…

MySQL 按指定字段自定义列表排序

MySQL 按指定字段自定义列表排序 问题描述解决方案实际应用场景 问题描述 大家都知道, MySQL 中按某字段升序排列的 SQL 为 (以 id 为例, 下同): SELECT * FROM MyTable WHERE id IN (1, 7, 3, 5) ORDER BY id ASC 降序排列的 SQL 为: SELECT * FROM MyTable WHERE id IN (1…

【Pytorch】(十三)模型部署: TorchScript

文章目录 (十三)模型部署: TorchScriptPytorch动态图的优缺点TorchScriptPytorch模型转换为TorchScripttorch.jit.tracetorch.jit.scripttrace和script的区别总结trace 和script 混合使用保存和加载模型 (十三)模型部署: TorchScr…

常见的锁策略与死锁(详解)

文章目录 前言一、常见的锁策略1.乐观锁vs悲观锁2.重量级锁vs轻量级锁3.自旋锁vs挂起等待锁4.读写锁vs互斥锁5.公平锁vs非公平锁6.可重入锁vs不可重入锁可重入锁在哪释放锁 7.synchronized具体是采用了哪些锁策略呢?synchronized内部实现策略(内部原理)锁消除锁粗化 二、死锁1…

【bug】使用mmsegmentaion遇到的问题

利用mmsegmentaion跑自定义数据集时的bug处理(使用bisenetV2) 1. ValueError: val_dataloader, val_cfg, and val_evaluator should be either all None or not None, but got val_dataloader{batch_size: 1, num_workers: 4}, val_cfg{type: ValLoop}, …