关于数据的存储位置

2019-03-23 20:20发布

在《基于MDK的STM32处理器开发应用》一书中的DMA例程中有这样一段话,我不能理解。
   如下:
        为了让源数据在FLASH中,目的数据在RAM中,程序定义源数据时进行初始化赋值,源数据将被连接器定位于FLASH中;而定义目的数据则不进行初始化赋值,目的数据将被定位于RAM中。
   请问这应该怎样理解?再一个,如果初始化赋值之后被定位于FLASH,那么是否就意味着此时的数据是不可更改的,被默认为“const”类型?
   希望有前辈可以解惑,不胜感谢! 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
losingamong
1楼-- · 2019-03-24 01:02
/ 并是是“定位”于Flash中,而是使用const修饰的变量会被连接器放置在Flash空间内,此时该变量就是只读不写的

如果要定位变量位置,要同脚本文件或者编译器拓展命令来实现
juntianya
2楼-- · 2019-03-24 03:48
使用“const”修饰的变量将放置于FLASH空间,这点我明白。
那么,请教一下对于全局变量而言,是否对其进行初始化赋值会影响到变量的存储位置么?
losingamong
3楼-- · 2019-03-24 09:00
 精彩回答 2  元偷偷看……

一周热门 更多>