搜索
bottom↓
回复: 12

[求助]CODE,DATA,CONST在单片机内部分别占用哪种存储器啊?

[复制链接]

出0入0汤圆

发表于 2010-10-27 16:45:49 | 显示全部楼层 |阅读模式
970 bytes of CODE  memory
103 bytes of DATA  memory (+ 13 absolute )   
16 bytes of CONST memory
MSP430F149:60KB闪速存储器,2KB RAM
RAM里不能存东西吧,说是只是在运行时,会用到。那这三种memory 就都在60KB闪速存储器里吗?

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2010-10-27 21:38:44 | 显示全部楼层
code 是flash
data 是ram
const 好像也是ram

出0入0汤圆

 楼主| 发表于 2010-10-28 15:08:39 | 显示全部楼层
回复【1楼】morning sun
-----------------------------------------------------------------------

不对吧,ram是存不了东西滴,掉电就没有了

出0入0汤圆

发表于 2010-10-28 15:14:43 | 显示全部楼层
code  是 flash
data  是 ram
const 是 flash

出0入0汤圆

发表于 2010-10-29 07:57:57 | 显示全部楼层
一般来说是3楼说的那样。。。

真实的原因是: 哪种类型的数据放在哪里?是由连接文件lnk430Fxxx.xcl文件定义的。。。

每一个连接器都会有类似的连接脚本文件,就是告诉连接器把某钟类型的数据放到某个地址范围内

出0入0汤圆

 楼主| 发表于 2010-11-1 21:17:37 | 显示全部楼层
回复【4楼】lahori
-----------------------------------------------------------------------

有人说ram相当于电脑的内存,它不存东西的,只是在单片机运行时,将一些东西从flash里调出来运行。平时不通电的时候,ram里是没有东西的啊?

出0入0汤圆

发表于 2010-11-2 10:05:05 | 显示全部楼层
呵呵,楼上的,知易行难。。。你把XCL文件打开看看就比较清楚了,你说的这个问题是很基本的编译器的原理

C语言中一般都有这几类基本的数据类型  代码/常量/初始化变量数据/未初始化数据/堆/栈。。。这些数据类型单片机中一般前两个定义到flash中,后边的定义到ram中

在一些特殊的项目中,也有把代码和常量也定义在ram中,这样需要就可以动态的装载/卸载某个功能程序,当然系统要实现动态装载/卸载地址重定位的功能,比如我们的Windows系统中,所有的程序的数据类型都是定义在ram中

出0入0汤圆

发表于 2010-11-2 10:11:37 | 显示全部楼层
早期的H8单片机,有核心单周期SRAM和外部多周期SRAM,地址区也不连续,在使用中为了加快访问速度,就可以把需要频繁访问的数据定义到快速单周期SRAM中,只需要在连接脚本中定义一个区域fastram,然后在定义变量的时候使用fastram属性定义,连接器就可以把这个fastram属性的变量放到单周期SRAM中,这个是GCC编译器中是非常常见的用法

出0入0汤圆

发表于 2010-11-2 10:16:39 | 显示全部楼层
430支持RAM中执行程序,CODE也可以定义在RAM区。

出0入0汤圆

发表于 2010-11-2 10:20:32 | 显示全部楼层
你那个是编译结果,说明单片机在运行时会这样分配变量,又不是说你现在编译了就有这么些变量在里面。所以不要纠结什么RAM里有没有数据了。

出0入0汤圆

发表于 2011-3-1 09:55:36 | 显示全部楼层
感觉这边高手很多啊,我本想了解下CONST定义的数组存放在哪里的,看了这个帖子了解的更多,谢谢大家!尤其lahori说的,很认同,之前做dsp5402 的时候需要bootloader 把代码装到ram中,好几年不弄了 都忘了,呵呵!

出0入0汤圆

发表于 2011-11-17 11:17:58 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-11-17 23:42:43 | 显示全部楼层
mark
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-28 10:31

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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