Fls 驱动(Flash Driver)位于微控制器抽象层(MCAL),直接驱动内部/外部 Flash 硬件。提供:
| 缩略语 | 描述 |
|---|---|
| Fls | Flash Driver(Flash 驱动) |
| MCAL | Microcontroller Abstraction Layer(微控制器抽象层) |
| DET | Default Error Tracer(默认错误追踪器) |
| DEM | Diagnostic Event Manager(诊断事件管理器) |
| Sector / Page | 扇区/页(Flash 擦除/写入单位) |
AUTOSAR_EXP_LayeredSoftwareArchitectureAUTOSAR_SRS_BSWGeneral / SWS_BSWGeneralAUTOSAR_SRS_FlashDriverFls 驱动为基于硬件的 MCAL 驱动。擦除/写入时间依赖硬件特性。
Fls 驱动依赖 DET、DEM(错误报告)、OS(多核分区)、EcuM(资源管理)。
Fls 驱动满足 SRS_Fls_NNNNN 中的 15+ 条需求。SWS_Fls_NNNNN 规范项 ID 约 100+ 条(编号范围 00001-91001)。
预配置:Flash 大小、扇区大小、基址、擦除时间、页大小、读/写模式、通知回调。
Fls 驱动正常操作:Fls_Init → Fls_Erase(异步)→ Fls_Write(异步)→ Fls_Read → 完成通知回调。同步模式立即返回结果。
| 错误码 | 含义 |
|---|---|
FLS_E_UNINIT | Fls 未初始化 |
FLS_E_ALREADY_INITIALIZED | 已初始化 |
FLS_E_PARAM_ADDRESS | 无效的地址 |
FLS_E_PARAM_LENGTH | 无效的长度 |
FLS_E_PARAM_DATA | 无效的数据指针 |
FLS_E_BUSY | 操作忙 |
FLS_E_PARAM_POINTER | 无效指针 |
| 错误码 | 含义 |
|---|---|
FLS_E_ERASE_FAILED | 擦除失败 |
FLS_E_WRITE_FAILED | 写入失败 |
FLS_E_READ_FAILED | 读取失败 |
FLS_E_COMPARE_FAILED | 比较失败 |
FLS_E_TIMEOUT | 操作超时 |
无。
Std_ReturnType、Std_VersionInfoType、Std_ConfigType。
| 类型 | 描述 |
|---|---|
Fls_ConfigType | Fls 抽象配置 |
Fls_AddressType | Flash 地址(uint32) |
Fls_LengthType | 长度(uint32) |
Fls_DataType | 数据(uint8/16/32) |
Fls_ModeType | 模式枚举(MEMIF_MODE_FAST / SLOW) |
MemIf_JobResultType | 作业结果枚举(OK / FAILED / PENDING / ...) |
| 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 函数。
Fls_Erase() → Fls 排队 → Fls_MainFunction() → 通知回调;Fls_Read() → 同步返回;Fls_Compare() → 返回 MEMIF_EQUAL / NOT_EQUAL / INCONSISTENT;Fls_BlankCheck() → 验证扇区为已擦除状态;Fls_SetMode(MODE_FAST)。| 容器 | 描述 |
|---|---|
| Fls | 根容器(开发错误检测、版本 API、取消 API 等开关) |
| FlsGeneral | 通用配置(扇区数、最大读/写/擦除单位) |
| FlsSector | 扇区配置(起始地址、大小、擦除时间) |
| FlsAcRanges | 访问范围 |
| FlsPublishedInformation | 发布信息 |
共 5 个 ECUC 容器,含 20+ 配置参数。
发布信息包括 Fls 模块版本、配置变体、扇区数、最大读/写/擦除单位等。
校对轮次:L1 自动校对(2026-06-13)