BES平台笔记3——map文件与RAM空间释放

linux GCC链接生成的map文件

什么是MAP文件?

、

map文件是如何生成的?

在这里插入图片描述

为什么要在调试时生成MAP文件?

在这里插入图片描述

深入了解map文件

BES平台的代码已经构建完成,编译代码过程中自动生成map文件,保存在out/…/目录下
如图:
在这里插入图片描述

Archives linked

Archive member included to satisfy reference by file (symbol)
显示调用库函数信息:来自那个.a中的哪个.o
在这里插入图片描述

Allocating common symbols

末初始化的全局变量:大小、变量、出处
在这里插入图片描述

Discarded input sections

没有被调用的函数和变量
在这里插入图片描述

Memory Configuration

根据.ld文件中MEMORY来划分的内存区域:名称、起始地址、长度、访问权限(x执行权限、r读权限、w写权限、xr可读可执行、xrw可读可写可执行)。
在这里插入图片描述

Linker script and memory map

链接脚本和内存映射
在这里插入图片描述

在MAP文件中查看剩余空间

在map文件中,全局搜索free可以查看相关区域剩余空间
在这里插入图片描述在这里插入图片描述
如果需要释放空间,首先要查map文件,RAM总共多少,编译基础多少,增加宏之后还剩多少,然后看下plat文件的具体分配。

空间不够死机

举个例子:
最近有人问了一个问题,听音乐过程中,耳机死机,日志显示如下:
[syspool_get_buff] size = 73728 , free size = 69360
System pool in shortage! To allocate size 73728 but free size 69360.
在这里插入图片描述很明显,这是音频播放的空间不够死机了,忧郁BES音频播放空间是动态分配的,所以要从其他地方释放空间。解决方向有两,一是关闭不必要的算法,减少算法空间占用,二是检查系统空间分配,将没由用到的空间释放出来。
如:RAMCPX:RAMCPX可以减小,如图就多出0x7e20,看能否正常运行,RACMPX_BASE应该也要改。
在这里插入图片描述RAMCP:RAMCP可以增大,如果编译能过,就持续增大,编译不过可能是RAM不够,就改回去。
在这里插入图片描述FRAMX:还能减小0x5000
在这里插入图片描述在这里插入图片描述修改的地方在plat_addr_map_bestXXXX.h文件中,当然,因为具体芯片不一样,代码可能有不同差别。

回答: 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.youkuaiyun.com/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.youkuaiyun.com/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
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值