野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7886|回复: 3

在SDMA中调试代码

[复制链接]
发表于 2017-8-14 08:26:52 | 显示全部楼层 |阅读模式
问题描述:在《零死角玩转STM32—F429》中,学习在SDMA中调试代码一节中,在自己设置分散加载文件配置的时候,能够理解加载地址为0X20000000,但是还不能理解后面的大小代表的是什么,文档中也说过,在具体的应用中,虚拟 ROM 及 RW 区域的大小可根据自己的程序定制,配置完毕编译工程后可在 map 文件中查看具体的空间地址分配。请问这儿的大小怎样理解?  

回复

使用道具 举报

发表于 2017-8-14 09:06:08 | 显示全部楼层
就是相当于你把SRAM分成两半,一半假装是ROM,另一半假装是RAM,然后程序下载在ROM里

大小可以根据你自己的需要配置,总和不超过内部SRAM的最大空间就好

回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-14 16:27:00 | 显示全部楼层
flyleaf 发表于 2017-8-14 09:06
就是相当于你把SRAM分成两半,一半假装是ROM,另一半假装是RAM,然后程序下载在ROM里

大小可以根据你自 ...

请问程序中堆栈指针的地址是怎么确定的,我可以自己定义程序中的堆栈指针的地址吗?
回复 支持 反对

使用道具 举报

发表于 2017-8-14 17:12:07 | 显示全部楼层
陈凯 发表于 2017-8-14 16:27
请问程序中堆栈指针的地址是怎么确定的,我可以自己定义程序中的堆栈指针的地址吗?

默认是在启动文件分配的,编译器计算好全局变量用完剩余的空间紧接着分配。
具体指定地址我还没试过,你要查查mdk的语法,

我们的例子里有把堆分配到某片空间,例如分配到外部SRAM、SDRAM等
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-23 01:22 , Processed in 0.047340 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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