打印
[技术问答]

MA35D1 RTP gcc.arm.ld memory issue

[复制链接]
1075|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
两只袜子|  楼主 | 2023-8-7 10:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在build M4的软件时遇到memory size不足的问题,提示如下:

ld.exe: JelliesV3.elf section '.text' will not fit in region 'FLASH'

ld.exe: section ,data VMA [00010000,000102af] overlaps section ,text VMA [00080000,00011aa71]



在CMSIS\GCC\gcc.arm.ld 里面做了以下改动后就可以build成功也能在device里面顺利执行,这个改动是正确的吗?正确的话能,这里可以maximum set多少呢?

默认

MEMORY



  FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 0x10000

  RAM (rwx) : ORIGIN = 0x00010000, LENGTH = 0x10000





修改为:

MEMORY



  FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 0x20000

  RAM (rwx) : ORIGIN = 0x00020000, LENGTH = 0x10000

使用特权

评论回复
沙发
alxd| | 2024-10-24 14:39 | 只看该作者
在MA35D1微控制器上使用GCC编译器时,如果遇到链接脚本(gcc.arm.ld)中的内存问题,可能的原因是内存区域定义错误

使用特权

评论回复
板凳
Betty1299| | 2024-10-24 15:45 | 只看该作者
链接脚本中定义的内存区域(如RAM、ROM)可能与实际硬件不匹配,导致程序无法正确加载或运行

使用特权

评论回复
地板
Carina卡| | 2024-10-24 16:46 | 只看该作者
ORIGIN 和 LENGTH 的值与实际硬件不匹配。内存区域的重叠或冲突

使用特权

评论回复
5
Charlotte夏| | 2024-10-24 17:52 | 只看该作者
如果程序使用的堆栈大小超过了链接脚本中定义的堆栈大小,可能会导致内存溢出或程序崩溃

使用特权

评论回复
6
Alina艾| | 2024-10-24 18:54 | 只看该作者
stack 段的大小不足,导致堆栈溢出。

使用特权

评论回复
7
Emily999| | 2024-10-24 20:02 | 只看该作者
如果数据段和代码段在内存中重叠,可能会导致数据被意外覆盖,从而引发内存问题

使用特权

评论回复
8
Allison8859| | 2024-10-24 21:09 | 只看该作者
.text 和 .data 段在内存中重叠。

使用特权

评论回复
9
Betty996| | 2024-10-25 08:30 | 只看该作者
未初始化的全局变量(.bss 段)可能没有正确分配内存,导致程序运行时出现内存问题

使用特权

评论回复
10
Carmen7| | 2024-10-25 10:06 | 只看该作者
链接脚本中的内存布局可能与编译器选项不匹配,导致程序无法正确链接

使用特权

评论回复
11
Annie556| | 2024-10-25 11:10 | 只看该作者
某些硬件可能具有内存保护机制,如果程序访问了受保护的内存区域,可能会导致内存问题

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2038

主题

7363

帖子

10

粉丝