OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7522|回复: 9

链接文件的疑惑

[复制链接]

17

主题

59

帖子

0

精华

初级会员

Rank: 2

积分
147
金钱
147
注册时间
2012-8-29
在线时间
0 小时
发表于 2013-3-1 09:56:36 | 显示全部楼层 |阅读模式
兄弟我的项目Build后,生成的Map文件中,关于memory的Size,给出如下的信息:

RAMDATA SECTION:  00181f82 Byte(s)  //16进制表示
ROMDATA SECTION:  00009811 Byte(s)
PROGRAM SECTION:  0002e02e Byte(s)

我很困惑,我的片内RAM,只有32 Kbyte, 片外RAM,只有4M BIT, 这个RAMDATA SECTION,何来的这么大的Size呢?  181f82 = 1,580,930 bytes
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-3-1 10:06:41 | 显示全部楼层
你的什么CPU啊,我用STM32编译,这个数据比较正常: 
   Total RO  Size (Code + RO Data)               276832 ( 270.34kB)
    Total RW  Size (RW Data + ZI Data)           1108472 (1082.49kB)
    Total ROM Size (Code + RO Data + RW Data)     280088 ( 273.52kB)
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

17

主题

59

帖子

0

精华

初级会员

Rank: 2

积分
147
金钱
147
注册时间
2012-8-29
在线时间
0 小时
 楼主| 发表于 2013-3-1 10:51:06 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
Renesas的,我不太明白,你的数据看,
 Total RO  Size (Code + RO Data)               276832 ( 270.34kB) 
    Total RW  Size (RW Data + ZI Data)           1108472 (1082.49kB) 
    Total ROM Size (Code + RO Data + RW Data)     280088 ( 273.52kB)

TOTAL ROM SIZE不应该是RO Size + RW Size吗? 即270.34+1082.49 吗?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-3-1 20:44:17 | 显示全部楼层
回复【3楼】ivory:
---------------------------------
1082.49是内存.
273.52是flash.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

17

主题

59

帖子

0

精华

初级会员

Rank: 2

积分
147
金钱
147
注册时间
2012-8-29
在线时间
0 小时
 楼主| 发表于 2013-3-2 05:56:03 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
看了百度的文章,RW 是存在Flash中的,运行时才调到RAM中。这个RAM应该是指的芯片的RAM吧,不是你的PC RAM。
那么,你的芯片,或者板上,有1M的RAM吗?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-3-2 10:03:20 | 显示全部楼层
我的板子外扩了1M字节的SRAM的....
呵呵.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

17

主题

59

帖子

0

精华

初级会员

Rank: 2

积分
147
金钱
147
注册时间
2012-8-29
在线时间
0 小时
 楼主| 发表于 2013-3-2 11:41:59 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
在请教个问题,看个他人的程序,用了300多个全局变量。很多的DEFINE 常数,有些我感觉就是一个几百行代码的文件在用这些Define的常数,我感觉没有必要,不如直接把这个常数写到代码里,这样阅读起来反而容易,能给提下意见吗
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-3-2 11:44:02 | 显示全部楼层
回复【7楼】ivory:
---------------------------------
这样方便代码维护.你那样不方便维护.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

17

主题

59

帖子

0

精华

初级会员

Rank: 2

积分
147
金钱
147
注册时间
2012-8-29
在线时间
0 小时
 楼主| 发表于 2013-3-2 12:03:58 | 显示全部楼层
回复【8楼】正点原子:
---------------------------------
我不感觉方便维护,如果太多的Define常量,你不感到阅读代码时候,经常要到头文件去查吗? 而且,尤其是这个常量用到的地方很少,又在一个.C文件中,我感觉不如直接写常量到代码里,反而阅读方便。要不就注释清楚,但很多人写Define后,在代码里根本不注释啊。
我想知道,这样做,应该是不影响运行效率吧。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-3-2 15:01:54 | 显示全部楼层
回复【9楼】ivory:
---------------------------------
一样的效果.
只是看你自己怎么用方便了.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-24 11:13

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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