Autosar MCAL-RH850P1HC Fls配置

news2024/11/20 12:27:13

文章目录

    • 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.coloradmin.cn/o/1629065.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大型语言模型高效推理综述

论文地址:2404.14294.pdf (arxiv.org) 大型语言模型(LLMs)由于在各种任务中的卓越表现而受到广泛关注。然而,LLM推理的大量计算和内存需求给资源受限的部署场景带来了挑战。该领域的努力已经朝着开发旨在提高LLM推理效率的技术方…

libVLC 制作一款精美的播放器

1.简介 本文将简单介绍使用libVLC制作一款精美的播放器。 开发环境:Visual Studio + Qt插件。 Qt版本:Qt5.9。 libVLC版本:3.0.20。 以下是运行界面效果图:截取其中几张。 右键菜单,功能还是比较齐全。 2.ui界面构成 接下来简单介绍一下ui界面构成。 主界面由播放树…

【Linux内核驱动基础】从零开始手搓一个从上层应用到底层驱动的IO口代码

【Linux内核驱动基础】从零开始手搓一个从上层应用到底层驱动的IO口控制代码 文章目录 【Linux内核驱动基础】从零开始手搓一个从上层应用到底层驱动的IO口控制代码一、驱动基础认知1.为什么要学会写驱动2.文件名与设备号3.open函数从上层打通到底层硬件的详细过程 二、基于内核…

22年全国职业技能大赛——Web Proxy配置(web 代理)

前言:原文在我的博客网站中,持续更新数通、系统方面的知识,欢迎来访! 系统服务(22年国赛)—— web Proxy服务(web代理)https://myweb.myskillstree.cn/114.html 目录 RouterSrv …

解决问题:pos_label=1 is not a valid label. It should be one of [‘0‘, ‘1‘]

文章目录 一、现象二、解决方案 一、现象 ...... model.fit(X_train, y_train) y_pred model.predict(X_test) recall recall_score(y_test, y_pred) precision precision_score(y_test, y_pred) ......执行语句到**“recall recall_score(y_test, y_pred)”**这里发现报错…

【SpringBoot整合系列】SpringBoot整合Redis[附redis工具类源码]

目录 SpringBoot整合Redis1.下载和安装Redis2.新建工程,导入依赖3.添加配置4.先来几个基本的示例测试代码输出结果用redis客户端查看一下存储内容 5.封装redis工具类RedisKeyUtilRedisStringUtilRedisHashUtilRedisListUtilRedisSetUtilRedisZsetUtil备注 6.测试通用…

Pytorch 之torch.nn初探 卷积--Convolution Layers

任务描述 本关任务: 本关提供了一个Variable 类型的变量input,按照要求创建一 Conv1d变量conv,对input应用卷积操作并赋值给变量 output,并输出output 的大小。 相关知识 卷积的本质就是用卷积核的参数来提取原始数据的特征&a…

成都金沙国际学校招生介绍

成都金沙国际学校于2017年9月正式开学,涵盖了初中、高中学段,致力于为川南地区培育更多更优秀的国际化人才,是一所真正意义上的外国语教育窗口学校。校园环境优美,教学设施全市一流,师资团队精良,游学、留学…

绘制签章 乱码问题 (踩坑日记)

签章汉字乱码问题 原因:我们在docker上因为没有汉字字体需要我们手动把文件打进去 注意点:如果开启了打包过滤加上字体不过滤 绘制签章转载

系统服务(22年国赛)—— 磁盘管理(压缩去重)

前言:原文在我的博客网站中,持续更新数通、系统方面的知识,欢迎来访! 系统服务(22年国赛)—— 磁盘管理(压缩&&去重)https://myweb.myskillstree.cn/90.html 目录 StorageSrv 安装并创建vdo 将…

3122.使矩阵满足条件的最少操作次数

周赛第三题,知道要用动态规划,但是不知道怎么回到子问题 显然根据题意我们需要让每一列都相同,但是相邻列不能选择同一种数字,观察到数据nums[i]介于0-9,我们就以此为突破口. 首先我们用count[n][10], count[i][j]记录第i1列值为j的元素个数,转移方程如下: dfs(i,pre) max(dfs…

Vue基于高德地图API封装一个地图组件

一、参考资料 高德开放平台 | 高德地图API (amap.com) 二、安装及配置 pnpm i vuemap/vue-amap --save man.ts 密钥及安全密钥需要自己到高德地图开放平台控制台获取. import { createApp } from vue import App from ./App.vue import router from ./router i…

Orange3数据可视化(组件概览)

概要 大家见过Orange3提供的丰富数据可视化组件吗? Orange3为您提供了一系列生动的图表工具,包括树图、箱线图、小提琴图、分布图、散点图、折线图、条形图、筛图、马赛克图、自由投影、线性投影、雷达图、热力图、韦恩图、轮廓图、毕达哥拉斯树、毕达哥…

Python | Leetcode Python题解之第48题旋转图像

题目: 题解: class Solution:def rotate(self, matrix: List[List[int]]) -> None:n len(matrix)# 水平翻转for i in range(n // 2):for j in range(n):matrix[i][j], matrix[n - i - 1][j] matrix[n - i - 1][j], matrix[i][j]# 主对角线翻转for …

鸿蒙内核源码分析(任务调度篇) | 任务是内核调度的单元

任务即线程 在鸿蒙内核中,广义上可理解为一个任务就是一个线程 官方是怎么描述线程的 基本概念 从系统的角度看,线程是竞争系统资源的最小运行单元。线程可以使用或等待CPU、使用内存空间等系统资源,并独立于其它线程运行。 鸿蒙内核每个…

OS对软件的管理,进程,PCB、子进程

进程 可执行程序加载到内存中,操作系统为内个程序都形成一个PCB对象(结构体对象),PCB里存放着这个程序的所有的属性。进程可执行程序PCB ,CPU执行程序也是先通过该程序的PCB找到相应的程序代码,然后一条一…

鸿蒙内核源码分析(时钟任务篇)

时钟概念 时间是非常重要的概念,我们整个学生阶段有个东西很重要,就是校园铃声. 它控制着上课,下课,吃饭,睡觉的节奏.没有它学校的管理就乱套了,老师拖课想拖多久就多久,那可不行,下课铃声一响就是在告诉老师时间到了,该停止了让学生HAPPY去了. 操作系统也一样&…

Flutter基础语法

Flutter概要 Flutter目录结构 文件夹 作用 android android 平台相关代码 ios ios平台相关代码 lib flutter相关代码,我们主要编写的代码就在这个文件夹中 test 用于存放测试的代码 pubspec.yaml 配置文件,一般存放一些第三方库的依赖 Flutt…

【研发管理】产品经理知识体系-产品设计与开发工具

导读:产品设计与开发工具的重要性体现在多个方面,它们对于产品的成功开发、质量提升以及市场竞争力都具有至关重要的影响。产品设计工具可以帮助设计师更高效地创建和优化产品原型。开发工具在产品开发过程中发挥着至关重要的作用。产品设计与开发工具还…