野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8061|回复: 0

教程中使用分散加载文件将变量定义到外部SRAM的问题

[复制链接]
发表于 2021-11-1 15:41:57 | 显示全部楼层 |阅读模式
本帖最后由 翟经纬 于 2021-11-1 15:48 编辑

//这个代码格式编辑了好几次都是乱的。。还是贴图算了。


在“[野火]STM32 HAL库开发实战指南-霸道”的文档中,第43.6章节,《优先使用内部SRAM并把堆区分配到外部SRAM》中
在分散加载文件中定义了“EXRAM”节区:
野火论坛202111011547453889..png

main函数代码清单 40‑29如下:
野火论坛202111011547593616..png

实验结果是:

实验结果

实验结果


看到这里有疑问:
按照实验的意图,应该将testValue和testGrup使用“__EXRAM”定义到外部RAM节区中,而将testValue2和testGrup2定义到内部SRAM中(没有使用“__EXRAM指定变量定义地址”)

但是实际运行的结果,是testValue、testGrup、testValue2、testGrup2的地址都是0x6800xxxx,这正是外部RAM的地址,这四个变量都被定义在了EXRAM地址中,这应该与代码注释中描述的试验意图不相符吧?想问一下是为什么呢?

暂时手上没有板子,没有实际做过这个试验,是偶尔看教程看到这里的,请大佬解惑,多谢!








回复

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-5-2 12:43 , Processed in 0.026446 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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