AUTOSAR的memmap模块

本文详细介绍了AUTOSAR中memmap模块的作用,主要用于配置生成内存映射文件《xx_Mmemmap.h》。内容包括如何通过memmap模块将代码和变量映射到指定的Flash区域,以及配置参数的解析,如MemMapAddressingModeSets、MemMapAllocations和MemMapModules。此外,还提供了映射CONST变量到FLASH的具体步骤和示例。
摘要由CSDN通过智能技术生成

Memmap模块说明

   该模块主要配置生成《xx_Mmemmap.h》文件的,不是所有map文件都可以生成,大部分Vector提供的BSW模块都包含自己的map文件,最好不要通过Memmap模块修改这些文件,这些模块Vector都已经比较完善了,但是可以手动添加映射的内存段,内存段是在VlinkGen模块配置的,你可以修改《MemMap_Common.h》这个文件,该文件可以将你生成的SWC代码和变量映射到指定flash区域,该模块需要和VlinkGen模块配合才能将一段代码和变量映射到指定内存区域;

  1. Memmap模块怎么将代码和变量映射到flash,看例子更具体,下面是BAC包中和Vector工具配置将一段CONST变量映射到FLASH指定位置,

<1>、要想映射必须在源码(.c)中声明如下:一般变量声明的头文件也要添加

#define Bm_START_SEC_CONST_MAGIC_DATA_UNSPECIFIED//宏_Start,宏可以自己定义,用memmap工具生成在map文件里面,表示变量开始的位置

#include "Bm_MemMap.h"//添加那个map文件管理该变量的映射

const uint8 Bm_MagicWord[8] = {0x3Au, 0xC5u, 0x91u, 0x6Eu, 0xB8u, 0x47u, 0x2Fu, 0xD0u };//具体的需要被分配的变量

#define Bm_STOP_SEC_CONST_MAGIC_DATA_UNSPECIFIED//宏_stop,宏开关结束的位置,

#include "Bm_MemMap.h"//添加那个map文件管理该变量的映射

<2>、在指定的map文件里添加映射的段指令,段是由VlikGen配置的,指令和芯片架构相关,举例如下:

defined (Bm_START_SEC_CONST_MAGIC_DATA_UNSPECIFIED)//宏_Start

#undef Bm_START_SEC_CONST_MAGIC_DATA_UNSPECIFIED

  /*@@@vikawml: Mapping to global section in MemMap.h*/

  #define START_SEC_CONST_UNSPECIFIED

  #ifdef CHK_Bm_SEC_STARTED

    #error "Bm section not closed"

  #endif

  #define CHK_Bm_SEC_STARTED

  #define CHK_Bm_SEC_CONST_MAGIC_DATA_STARTED

回答: Autosar MemMap是指在Autosar软件开发中使用的内存映射文件。在Autosar中,MemMap文件用于定义软件模块或组件在内存中的分配和映射方式。根据引用\[1\],在Rte中生成的.h文件中,会包含一些MemMap.h文件,这些文件是根据对应的名字生成的。而引用\[2\]中的Rte_MemMap.h文件是RTE的内存映射头文件,用于包含MemMap.h文件。根据引用\[3\],MemMapAllocations用于定义BSW模块或软件组件的内存段和MemMapAddressingModeSet的映射关系。通过配置MemMapAllocations,可以定义生成的map文件包含哪些宏段。一般情况下,使用默认的MSR_Generic即可,不建议修改。总之,Autosar MemMap文件在软件开发中起到了定义内存分配和映射的作用。 #### 引用[.reference_title] - *1* *2* [AUTOSAR中MemMap](https://blog.csdn.net/qq_25126391/article/details/109274988)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [AUTOSAR的memmap模块](https://blog.csdn.net/2301_76538452/article/details/130963776)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

2301_76538452

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值