AUTOSAR_SWS_MemoryMapping 中文翻译

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

本翻译覆盖原文档 1-109 页正文(约 750 KB)。
原文为软件规范(SWS),定义内存映射(Memory Mapping)机制——为 BSW 模块提供统一的内存映射宏(BSW_CODE/BSW_CONST/BSW_DATA_*),支持不同编译器/链接器的内存段配置。


1 引言与功能概述

内存映射(Memory Mapping)为 BSW 模块提供统一的内存段宏定义。通过使用标准宏(如 BSW_CODEBSW_CONSTBSW_DATA)标记代码、常量、数据,可实现以下目标:

2 缩略语与缩写

缩略语描述
BSWBasic Software(基础软件)
ROM / RAM只读内存 / 随机访问内存
CALComplex Driver Abstraction Layer(复杂驱动抽象层)
CDDComplex Device Driver(复杂设备驱动)
GCCGNU Compiler Collection(GNU 编译器集合)
IARIAR Systems 编译器
TaskingTasking 编译器

3 相关文档

4 内存映射宏(Memory Mapping Macros)

4.1 代码段宏(Code Section)

描述
BSW_CODE标记函数为 BSW 代码
BSW_CODE_FAST标记函数为快速 BSW 代码(应放置于快速内存)
BSW_CODE_SLOW标记函数为慢速 BSW 代码(可放置于慢速内存)

4.2 数据段宏(Data Section)

描述
BSW_DATA标记变量为 BSW 数据
BSW_DATA_FAST标记变量为快速 BSW 数据
BSW_DATA_SLOW标记变量为慢速 BSW 数据
BSW_VAR标记局部变量
BSW_VAR_FAST标记快速局部变量
BSW_VAR_SLOW标记慢速局部变量

4.3 常量段宏(Const Section)

描述
BSW_CONST标记常量
BSW_CONST_FAST标记快速常量
BSW_CONST_SLOW标记慢速常量

4.4 配置段宏(Config Section)

描述
BSW_CONFIG_DATA_PBPostBuild 配置数据
BSW_CONFIG_DATA_LTLinkTime 配置数据
BSW_CONFIG_DATA_PCPreCompile 配置数据
BSW_PB_CONSTPostBuild 常量
BSW_PB_VARPostBuild 变量
BSW_PB_VAR_FASTPostBuild 快速变量

5 使用示例

// 函数定义
BSW_CODE Std_ReturnType Can_Init(const Can_ConfigType* Config)
{
    BSW_VAR uint8 i;  // 局部变量
    ...
}

// 配置数据
BSW_CONFIG_DATA_PC const Can_ConfigType Can_Config = { ... };

// 常量
BSW_CONST uint8 Can_HwVersion[] = { 0x01, 0x02 };

6 编译器特定实现

6.1 GCC(GNU Compiler Collection)

#define BSW_CODE        /* GCC 默认无特定属性 */
#define BSW_CONST       const
#define BSW_DATA        /* 无特定属性 */
#define BSW_VAR         /* 无特定属性 */
#define BSW_CONFIG_DATA_PC   const
#define BSW_PB_CONST    const

6.2 IAR

#define BSW_CODE        /* IAR 默认无特定属性 */
#define BSW_CONST       const
#define BSW_DATA        /* 无特定属性 */
#define BBSW_VAR        /* 无特定属性 */
#define BSW_CONFIG_DATA_PC   _Pragma("location=\"FLASH_CONFIG_PC\"")
#define BSW_PB_CONST    _Pragma("location=\"FLASH_PB\"")

6.3 Tasking

#define BSW_CODE
#define BSW_CONST       const
#define BSW_DATA
#define BSW_VAR
#define BSW_PB_CONST    __far

6.4 其他编译器

本规范列出 GCC/IAR/Tasking 三大主流编译器;其他编译器(Keil/CCS/Green Hills/CodeWarrior)应在使用时查阅具体实现。


📋 校对记录

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