找回密码
 注册
关于网站域名变更的通知
查看: 2823|回复: 10
打印 上一主题 下一主题

求助 编译后程序大小问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2013-8-7 13:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
我用keil C51写程序编译后hex文件大小是400多字节 导入下载工具里就有2K多 即使程序只写一个 while(1);也是一样 怎么解决啊?我的flash只有1K。

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

hex

hex

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

QQ图片20130807144742.jpg

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

QQ图片20130807144748.jpg

该用户从未签到

2#
发表于 2013-8-7 15:30 | 只看该作者
本帖最后由 ArthurGXH 于 2013-8-7 20:24 编辑
: a1 n. {6 L3 Y# E7 U3 ]% v5 V& v" o
  `6 u  G" k' ]! r5 P用Keil编译程序后,看Keil软件最底部的信息,如:Program Size: data=66 xdata=77 code=88。0 o3 J3 P# l% {8 n
其中code=后的数字为文件的大小。
3 D9 v2 [. }1 {9 Z- D  K4 p( a+ `6 G# D$ i. \, u! p
看了一下你的图片,有大量的FF,可能是你的程序定位到1K处开始了。按如下方法:
! s; y. @2 D0 R' K# W: e点击菜单Project->Option for Target...,将弹出一个对话框,点击BL51 Locate标签,将里面的内容清光,点击OK按钮,编译下载OK。

该用户从未签到

3#
 楼主| 发表于 2013-8-7 17:35 | 只看该作者
我设置了还是不行 。 程序开始有三个数  然后跳到0800H(2K)出开始是连续的数据。 不知道为什么。

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

22.jpg

该用户从未签到

4#
发表于 2013-8-7 20:28 | 只看该作者
把你只写了一个while(1)的项目发上来,我给你编译。

该用户从未签到

5#
 楼主| 发表于 2013-8-8 08:22 | 只看该作者
我下载了一些别人的工程文件 没改装载了程序是1K多 用我的软件编译完后 也是直接跳到2K的位置开始

89S52 步进电机.zip

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

STC15F104W.zip

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

该用户从未签到

6#
发表于 2013-8-8 10:06 | 只看该作者
本帖最后由 ArthurGXH 于 2013-8-8 10:29 编辑
* S3 D- A9 t& `# J, w7 t4 U
. r1 p; M% t. ISTC15F104W.ZIP里的两个项目,我用Keil C V4(9.01版)编译后,用stc-isp-15xx-v6.56.exe软件打开,都正常,没有那么多FF。
/ \  _3 M  p7 O) s你的程序只用了100多个字节的程序空间。, {# F9 b" w, H+ w
# H1 A2 i, b2 Z5 c
Program Size: data=10.0 xdata=0 code=138
' h: I- l; j& H/ c7 i/ rcreating hex file from "2013_0626"...4 V: ?) ~. ^4 M9 Z. V0 q( E

6 m: m/ |' U# D/ Z: f: jProgram Size: data=10.0 xdata=0 code=143
2 z& y* Z$ N5 u' S$ Icreating hex file from "keil3stc"...

2013_0626.rar

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

keil3stc.rar

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

该用户从未签到

7#
发表于 2013-8-8 10:24 | 只看该作者
同样的项目,我用Keil C V4(9.01版)编译后完全正常,这说明你的编译器有问题哦。你到Keil网站下载个新版KeilC试下。

该用户从未签到

8#
 楼主| 发表于 2013-8-8 11:48 | 只看该作者
本帖最后由 zx696696 于 2013-8-8 11:49 编辑
7 Z7 @/ m2 q7 n) L7 m
( ?' V. c/ y+ E: M- |我用的是Keil C V4(9.00) 的 是win764位系统 不知道有没有影响

该用户从未签到

9#
发表于 2013-8-8 23:04 | 只看该作者
zx696696 发表于 2013-8-8 11:48 1 k2 `8 o; b9 C* C
我用的是Keil C V4(9.00) 的 是win764位系统 不知道有没有影响

: J6 Y( j& G# `8 g' @' g我没在Win7下试过,你到Win XP下编译一下看是否正常。要不你到Keil网站下个最新版的KeilC。

该用户从未签到

10#
发表于 2013-11-1 23:40 | 只看该作者
本帖最后由 xiaoyigechaos 于 2013-11-1 23:43 编辑 & f4 l+ Z1 M9 v1 |* c5 ]6 n1 d

+ N) `) U" u* [1 z+ F不要看文件大小  看编译后 使用的 data xdata code 的大小  code 是代码长度* P4 ~& U5 Q% U9 B9 R% C
跑到片外rom去了{:soso_e126:}

该用户从未签到

11#
发表于 2013-11-8 15:05 | 只看该作者
这个在学习中
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-20 14:07 , Processed in 0.125000 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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