EDA365电子工程师网

标题: 求助 编译后程序大小问题 [打印本页]

作者: zx696696    时间: 2013-8-7 13:51
标题: 求助 编译后程序大小问题
我用keil C51写程序编译后hex文件大小是400多字节 导入下载工具里就有2K多 即使程序只写一个 while(1);也是一样 怎么解决啊?我的flash只有1K。

QQ图片20130807144702.jpg (9.67 KB, 下载次数: 2)

hex

hex

QQ图片20130807144742.jpg (200.06 KB, 下载次数: 1)

QQ图片20130807144742.jpg

QQ图片20130807144748.jpg (195.19 KB, 下载次数: 1)

QQ图片20130807144748.jpg

作者: ArthurGXH    时间: 2013-8-7 15:30
本帖最后由 ArthurGXH 于 2013-8-7 20:24 编辑 & i) l2 y# Q, \9 g. o4 K9 W

: f2 Q$ t3 ?9 [* q6 \用Keil编译程序后,看Keil软件最底部的信息,如:Program Size: data=66 xdata=77 code=88。! I+ g& P$ V* d
其中code=后的数字为文件的大小。( Q% H' G: ?1 Q  H8 ?" I
: w, Y$ Y6 d1 I  B
看了一下你的图片,有大量的FF,可能是你的程序定位到1K处开始了。按如下方法:% _6 \. x* A  f9 H4 j
点击菜单Project->Option for Target...,将弹出一个对话框,点击BL51 Locate标签,将里面的内容清光,点击OK按钮,编译下载OK。
作者: zx696696    时间: 2013-8-7 17:35
我设置了还是不行 。 程序开始有三个数  然后跳到0800H(2K)出开始是连续的数据。 不知道为什么。

22.jpg (55.96 KB, 下载次数: 1)

22.jpg

作者: ArthurGXH    时间: 2013-8-7 20:28
把你只写了一个while(1)的项目发上来,我给你编译。
作者: zx696696    时间: 2013-8-8 08:22
我下载了一些别人的工程文件 没改装载了程序是1K多 用我的软件编译完后 也是直接跳到2K的位置开始

89S52 步进电机.zip

30.18 KB, 下载次数: 5, 下载积分: 威望 -5

STC15F104W.zip

35.03 KB, 下载次数: 3, 下载积分: 威望 -5


作者: ArthurGXH    时间: 2013-8-8 10:06
本帖最后由 ArthurGXH 于 2013-8-8 10:29 编辑
( m# X- W$ W$ P8 N6 I/ w& F: V7 k) H4 P1 u, v/ n( K/ G) `  H
STC15F104W.ZIP里的两个项目,我用Keil C V4(9.01版)编译后,用stc-isp-15xx-v6.56.exe软件打开,都正常,没有那么多FF。
/ l! k" `5 l8 n& \: Q4 m2 S  B0 ~你的程序只用了100多个字节的程序空间。
* o1 P. X" L! E7 I$ L2 p
* n( I: L2 J& r2 oProgram Size: data=10.0 xdata=0 code=138: ?2 Q" r; {# v& M
creating hex file from "2013_0626"...% S6 @7 i: g6 C% [; d3 D
+ D* ^. Y0 N, s1 c
Program Size: data=10.0 xdata=0 code=1436 M1 ]5 o! s! r: l1 G/ o
creating hex file from "keil3stc"...

2013_0626.rar

323 Bytes, 下载次数: 4, 下载积分: 威望 -5

keil3stc.rar

324 Bytes, 下载次数: 3, 下载积分: 威望 -5


作者: ArthurGXH    时间: 2013-8-8 10:24
同样的项目,我用Keil C V4(9.01版)编译后完全正常,这说明你的编译器有问题哦。你到Keil网站下载个新版KeilC试下。
作者: zx696696    时间: 2013-8-8 11:48
本帖最后由 zx696696 于 2013-8-8 11:49 编辑
% K9 f% P- L4 T2 A
( j3 W7 i4 y& a9 V) V我用的是Keil C V4(9.00) 的 是win764位系统 不知道有没有影响
作者: ArthurGXH    时间: 2013-8-8 23:04
zx696696 发表于 2013-8-8 11:48 * H! i5 T$ W3 j/ _6 F
我用的是Keil C V4(9.00) 的 是win764位系统 不知道有没有影响

8 A2 E, u' I* a% w& v9 B" o我没在Win7下试过,你到Win XP下编译一下看是否正常。要不你到Keil网站下个最新版的KeilC。
作者: xiaoyigechaos    时间: 2013-11-1 23:40
本帖最后由 xiaoyigechaos 于 2013-11-1 23:43 编辑 ( }6 A' J7 [, n; `; ~

  e0 D( s+ S0 ~! ?5 A' ^- H不要看文件大小  看编译后 使用的 data xdata code 的大小  code 是代码长度
9 {& s6 T( y. {& Y6 V跑到片外rom去了{:soso_e126:}
作者: kaizhu1986    时间: 2013-11-8 15:05
这个在学习中




欢迎光临 EDA365电子工程师网 (http://bbs.elecnest.cn/) Powered by Discuz! X3.2