liuhan 发表于 2024-1-29 11:20:51

关于keil下 默认工程 内存地址分配的问题

请教下
1、环境为keil,未修改on-chip ram分配 没有加载自己的.sct 芯片是stm32h750vbt6



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



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


eric2013 发表于 2024-1-29 13:52:45

这个是编译器自动处理的,要指定,最好手动配置自己的分散加载问题。

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

liuhan 发表于 2024-1-29 21:31:43

eric2013 发表于 2024-1-29 13:52
这个是编译器自动处理的,要指定,最好手动配置自己的分散加载问题。

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

谢谢 我合计的内存需求大概6k不到 我现在抄了你的模版的方式 做了指定 :lol
页: [1]
查看完整版本: 关于keil下 默认工程 内存地址分配的问题