【AUTOSAR】 项目和代码详解(十三)----AUTOSAR Fls 配置

2023-11-10 07:50

本文主要是介绍【AUTOSAR】 项目和代码详解(十三)----AUTOSAR Fls 配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 Fls

概要

内部Fls

内部Fls为初始化和读取、写入、擦除内部闪存提供服务。Flash驱动程序提供了一个内置的加载器功能,允许将Flash访问代码加载到RAM中,并在需要时从那里执行写/擦除操作。

在ECU的应用模式下,flash驱动程序只能被flash EEPROM仿真模块用来写数据。它不打算写程序代码到闪存在应用模式。这应该在Boot模式下完成,不属于AUTOSAR涉及的内容。

内部Fls直接访问微控制器硬件,并位于微控制器抽象层。外部闪存通常通过微控制器的数据/地址总线(内存映射访问)连接,然后闪存驱动程序使用这些总线的处理程序/驱动程序来访问外部闪存设备。外部闪存设备的驱动程序位于ECU抽象层。

外部Fls

外部Fls为初始化和读取、写入、擦除外部闪存提供服务。它具有与内部Fls具有相同的功能范围。

模块配置

Flash驱动程序的下列常量应该是静态可配置的:

1 闪存基本地址

2 闪存大小

3 正常模式

4 立即作业处理函数中处理的读(比较)、写和擦除操作的最大块大小

5周期或中断处理函数中处理的读(比较)、写和擦除操作的最大块大小

6处理循环写和擦除的调用周期

7 Flash写保护

闪存驱动程序描述应发布以下属性:

1. 擦除的FLASH单元的值

2. 一个FLASH单元的大小(如8bit, 16bit,…)

3.闪存大小(以字节为单位)

4. 闪存基址

5. 物理内存分割(最小可写/可读/可擦/可保护单元)

ETAS中配置Fls是为了适配MemStack有关的其他模块,保证配置项的一致。ETAS ISOLAR中主要配置或修改内容如下:

FlsGeneral

 

FlsAcLoadOnJobStart

当删除或写作业启动时,flash驱动程序应将flash访问代码加载到RAM中,并在该作业完成或取消后卸载(覆盖)该作业。

TRUE Flash访问代码加载在作业开始/卸载在作业结束或错误。

FLASE Flash访问代码没有从RAM加载/卸载。

FlsBaseAddress

该参数定义了读/写/擦除和比较操作的地址下限。

FlsBlankCheckApi

编译开关以启用/禁用Fls_BlankCheck函数。

FlsCancelApi

编译开关以启用和禁用Fls_Cancel函数。

FlsCompareApi

编译开关,以启用和禁用Fls_Compare函数。

FlsDevErrorDetect

打开或关闭开发错误检测和通知。

FlsDriverIndex

FLS驱动索引值,由FEE使用。

FlsEraseVerificationEnabled

编译开关,以启用擦除验证。

FlsGetJobResultApi

编译开关,以启用和禁用Fls_GetJobResult函数。

FlsGetStatusApi

编译开关,以启用和禁用Fls_GetStatus函数。

FlsSetModeApi

编译开关,以启用和禁用Fls_SetMode函数。

FlsTimeoutSupervisionEnabled

编译开关,以启用超时监控。

FlsTotalSize

该参数与FLS_BASE_ADDRESS一起定义了读/写/擦除和比较操作的地址上限。

FlsUseInterrupts

是否使用中断触发FLS操作。

FlsVersionInfoApi

预处理程序切换,启用/禁用API来读取模块版本信息。

FlsWriteVerificationEnabled

编译开关,以启用写验证。

FlsEcucPartitionRef ???

将Flash驱动程序映射到1个或多个ECUC分区,以使驱动程序API在该分区中可用。

FlsConfigSet

 

FlsAcErase

RAM中的地址偏移量,擦除的flash访问代码将被加载到该地址偏移量。

用作函数指针访问擦除flash访问代码。

FlsAcWrite

RAM中的地址偏移量,写入的flash访问代码将被加载到该地址偏移量。

用作函数指针来访问写flash访问代码。

FlsCallCycle

flash驱动程序的主函数的调用周期(以秒为单位)。

FlsDefaultMode

该参数是初始化后的默认FLS设备模式。

实现类型:MemIf_ModeType。

FlsJobEndNotification

映射到某个上层模块(通常是Fee模块)提供的操作结束通知例程。

FlsJobErrorNotification

映射到某个上层模块(通常是Fee模块)提供的操作错误通知例程。

FlsMaxReadFastMode

在立即模式下,flash驱动程序处理功能的一个周期中要读取或比较的最大字节数。

FlsMaxReadNormalMode

在正常模式下,flash驱动程序处理功能的一个周期中要读取或比较的最大字节数。

FlsMaxWriteFastMode

在立即模式下,flash驱动程序处理功能的一个周期中要写入的最大字节数。

FlsMaxWriteNormalMode

在正常模式下,flash驱动程序处理功能的一个周期中要写入的最大字节数。

FlsProtection

擦除/写保护设置。只有在硬件支持下才相关。

FlsConfigSet/FlsExternalDriver

FlsConfigSet/FlsSectorList/FlsSector

FlsNumberOfSectors

具有相同FlsSectorSize和值的连续扇区的数量FlsPageSize。参数FlsSectorStartAddress表示第一个扇区的开始地址。

FlsPageSize

这个扇区的一页大小。实现类型:Fls_LengthType。

FlsSectorSize

这个部门的规模。实现类型:Fls_LengthType。

FlsSectorStartaddress

这个扇区的起始地址。实现类型:Fls_AddressType。

FlsPublishedInformation

FlsAcLocationErase

在RAM中的位置,删除的flash访问代码必须加载到该位置。只有在擦除flash访问代码不是位置独立的情况下才相关。如果不提供此信息,则假定擦除flash访问代码与位置无关,因此RAM位置可以自由配置。

FlsAcLocationWrite

在RAM中的位置,写入的flash访问代码必须加载到该位置。只有当写的flash访问代码不是位置独立的时候才有意义。如果不提供此信息,则假定write flash访问代码与位置无关,因此RAM位置可以自由配置。

FlsAcSizeErase

删除flash访问代码所需的RAM字节数。

FlsAcSizeWrite

写入flash访问代码所需的RAM字节数。

FlsErasedValue

被擦除的闪存单元的内容。

FlsEraseTime

最大时间擦除一个完整的闪存扇区。

FlsExpectedHwId

由这个驱动程序所期望的硬件设备的唯一标识符(该驱动程序已为其实现的设备)。仅适用于外部闪存驱动器。

FlsSpecifiedEraseCycles

为闪存设备指定的擦除周期数(通常在设备数据表中给出)。如果指定的擦除周期的数量取决于flash设备重新编程期间的操作环境(温度、电压、…),则在-40℃温度范围内至少保留15年的数据的最小数量。应保证+ 125℃。

FlsWriteTime

最长的时间来写一个完整的flash页面。

自动配置生成

参考文档

[1] AUTOSAR_SRS_Fls.pdf

[2] AUTOSAR_SWS_Fls.pdf

[3] AUTOSAR_SRS_SPALGeneral.pdf

[4] RTA-BSWReferenceGuide.pdf

这篇关于【AUTOSAR】 项目和代码详解(十三)----AUTOSAR Fls 配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/381327

相关文章

Linux换行符的使用方法详解

《Linux换行符的使用方法详解》本文介绍了Linux中常用的换行符LF及其在文件中的表示,展示了如何使用sed命令替换换行符,并列举了与换行符处理相关的Linux命令,通过代码讲解的非常详细,需要的... 目录简介检测文件中的换行符使用 cat -A 查看换行符使用 od -c 检查字符换行符格式转换将

springboot循环依赖问题案例代码及解决办法

《springboot循环依赖问题案例代码及解决办法》在SpringBoot中,如果两个或多个Bean之间存在循环依赖(即BeanA依赖BeanB,而BeanB又依赖BeanA),会导致Spring的... 目录1. 什么是循环依赖?2. 循环依赖的场景案例3. 解决循环依赖的常见方法方法 1:使用 @La

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当

详解C#如何提取PDF文档中的图片

《详解C#如何提取PDF文档中的图片》提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使用,下面我们就来看看如何使用C#通过代码从PDF文档中提取图片吧... 当 PDF 文件中包含有价值的图片,如艺术画作、设计素材、报告图表等,提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使

C#使用SQLite进行大数据量高效处理的代码示例

《C#使用SQLite进行大数据量高效处理的代码示例》在软件开发中,高效处理大数据量是一个常见且具有挑战性的任务,SQLite因其零配置、嵌入式、跨平台的特性,成为许多开发者的首选数据库,本文将深入探... 目录前言准备工作数据实体核心技术批量插入:从乌龟到猎豹的蜕变分页查询:加载百万数据异步处理:拒绝界面

Android中Dialog的使用详解

《Android中Dialog的使用详解》Dialog(对话框)是Android中常用的UI组件,用于临时显示重要信息或获取用户输入,本文给大家介绍Android中Dialog的使用,感兴趣的朋友一起... 目录android中Dialog的使用详解1. 基本Dialog类型1.1 AlertDialog(

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

C#数据结构之字符串(string)详解

《C#数据结构之字符串(string)详解》:本文主要介绍C#数据结构之字符串(string),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录转义字符序列字符串的创建字符串的声明null字符串与空字符串重复单字符字符串的构造字符串的属性和常用方法属性常用方法总结摘

SpringCloud动态配置注解@RefreshScope与@Component的深度解析

《SpringCloud动态配置注解@RefreshScope与@Component的深度解析》在现代微服务架构中,动态配置管理是一个关键需求,本文将为大家介绍SpringCloud中相关的注解@Re... 目录引言1. @RefreshScope 的作用与原理1.1 什么是 @RefreshScope1.

Java中StopWatch的使用示例详解

《Java中StopWatch的使用示例详解》stopWatch是org.springframework.util包下的一个工具类,使用它可直观的输出代码执行耗时,以及执行时间百分比,这篇文章主要介绍... 目录stopWatch 是org.springframework.util 包下的一个工具类,使用它