硬汉嵌入式论坛

 找回密码
 立即注册
查看: 304|回复: 2
收起左侧

[开发工具] 关于keil下 默认工程 内存地址分配的问题

[复制链接]

1

主题

1

回帖

4

积分

新手上路

积分
4
发表于 2024-1-29 11:20:51 | 显示全部楼层 |阅读模式
请教下
1、环境为keil,未修改on-chip ram分配 没有加载自己的.sct 芯片是stm32h750vbt6
下载.png

下载 (1).png
2、目前发现.map文件里 关于 变量的分配情况 与想象中不一样 我以为是会在0x20000000开始 但是却是在0x24000000开始 如图

下载 (2).png

3、当修改IRAM2为0x10000时 map里 上述内存分配又变成了0x20000000开始了 百度后 从一些帖子里说 keil 默认是优先在大的里面分配
4、所以 我想知道 这个变量的内存分配地址 究竟是啥在主导 不使用__attribute__强制分配区域的情况下 如何默认分配在iram1
谢谢


回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
发表于 2024-1-29 13:52:45 | 显示全部楼层
这个是编译器自动处理的,要指定,最好手动配置自己的分散加载问题。

另外不是优先从大的里面分配,是你的程序里面有较大的RAM空间需求,而你的小空间分配不了时,会选择大的。如果我没有记错的话,是这样的。
回复

使用道具 举报

1

主题

1

回帖

4

积分

新手上路

积分
4
 楼主| 发表于 2024-1-29 21:31:43 | 显示全部楼层
eric2013 发表于 2024-1-29 13:52
这个是编译器自动处理的,要指定,最好手动配置自己的分散加载问题。

另外不是优先从大的里面分配,是你 ...

谢谢 我合计的内存需求大概6k不到 我现在抄了你的模版的方式 做了指定
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-29 21:37 , Processed in 0.236635 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表