AUTOSAR_SWS_FlashDriver 中文翻译

文档编号:092 | 状态:Final | 发布于:AUTOSAR CP Release 4.4.0
所属标准:AUTOSAR Classic Platform | 文档责任方:AUTOSAR

本翻译覆盖原文档 1-67 页正文(约 1.40 MB)。
原文为软件规范(SWS),定义 Flash 驱动(Fls)模块的 API 与配置——含 12 个 API 函数 + 多个开发错误 + 多个 SWS_Fls_NNNNN 规范项。


1 引言与功能概述

Fls 驱动(Flash Driver)位于微控制器抽象层(MCAL),直接驱动内部/外部 Flash 硬件。提供:

2 缩略语与缩写

缩略语描述
FlsFlash Driver(Flash 驱动)
MCALMicrocontroller Abstraction Layer(微控制器抽象层)
DETDefault Error Tracer(默认错误追踪器)
DEMDiagnostic Event Manager(诊断事件管理器)
Sector / Page扇区/页(Flash 擦除/写入单位)

3 相关文档

4 约束与假设

Fls 驱动为基于硬件的 MCAL 驱动。擦除/写入时间依赖硬件特性。

5 与其他模块的依赖

Fls 驱动依赖 DET、DEM(错误报告)、OS(多核分区)、EcuM(资源管理)。

6 需求可追溯性

Fls 驱动满足 SRS_Fls_NNNNN 中的 15+ 条需求。SWS_Fls_NNNNN 规范项 ID 约 100+ 条(编号范围 00001-91001)。

7 功能规范

7.1 预配置

预配置:Flash 大小、扇区大小、基址、擦除时间、页大小、读/写模式、通知回调。

7.2 通用行为

Fls 驱动正常操作:Fls_InitFls_Erase(异步)→ Fls_Write(异步)→ Fls_Read → 完成通知回调。同步模式立即返回结果。

7.3 错误分类

7.3.1 开发错误

错误码含义
FLS_E_UNINITFls 未初始化
FLS_E_ALREADY_INITIALIZED已初始化
FLS_E_PARAM_ADDRESS无效的地址
FLS_E_PARAM_LENGTH无效的长度
FLS_E_PARAM_DATA无效的数据指针
FLS_E_BUSY操作忙
FLS_E_PARAM_POINTER无效指针

7.3.2 运行时错误

错误码含义
FLS_E_ERASE_FAILED擦除失败
FLS_E_WRITE_FAILED写入失败
FLS_E_READ_FAILED读取失败
FLS_E_COMPARE_FAILED比较失败
FLS_E_TIMEOUT操作超时

7.3.3-7.3.5 瞬态/生产/扩展生产错误

无。

8 API 规范

8.1 导入类型

Std_ReturnTypeStd_VersionInfoTypeStd_ConfigType

8.2 类型定义

类型描述
Fls_ConfigTypeFls 抽象配置
Fls_AddressTypeFlash 地址(uint32)
Fls_LengthType长度(uint32)
Fls_DataType数据(uint8/16/32)
Fls_ModeType模式枚举(MEMIF_MODE_FAST / SLOW)
MemIf_JobResultType作业结果枚举(OK / FAILED / PENDING / ...)

8.3 函数定义

API功能
Fls_Init初始化 Fls 驱动
Fls_Erase擦除扇区
Fls_Write写入数据
Fls_Cancel取消操作
Fls_GetStatus获取状态
Fls_GetJobResult获取作业结果
Fls_Read读取数据
Fls_Compare比较数据
Fls_SetMode设置模式
Fls_GetVersionInfo获取版本信息
Fls_BlankCheck空白检查
Fls_MainFunction主函数(异步处理)

共 12 个 API 函数。

9 序列图

  1. 异步擦除:应用 → Fls_Erase() → Fls 排队 → Fls_MainFunction() → 通知回调;
  2. 同步读:应用 → Fls_Read() → 同步返回;
  3. 比较:应用 → Fls_Compare() → 返回 MEMIF_EQUAL / NOT_EQUAL / INCONSISTENT;
  4. 空白检查:应用 → Fls_BlankCheck() → 验证扇区为已擦除状态;
  5. 模式切换:应用 → Fls_SetMode(MODE_FAST)

10 配置规范

10.1 容器与配置参数

容器描述
Fls根容器(开发错误检测、版本 API、取消 API 等开关)
FlsGeneral通用配置(扇区数、最大读/写/擦除单位)
FlsSector扇区配置(起始地址、大小、擦除时间)
FlsAcRanges访问范围
FlsPublishedInformation发布信息

共 5 个 ECUC 容器,含 20+ 配置参数。

10.2 发布信息

发布信息包括 Fls 模块版本、配置变体、扇区数、最大读/写/擦除单位等。


📋 校对记录

校对轮次:L1 自动校对(2026-06-13)