打印
[51单片机]

startup.A51 编译问题?

[复制链接]
983|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yexin0813|  楼主 | 2016-7-14 10:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
linqing171| | 2016-7-15 14:06 | 只看该作者
多有多的用处吧。
startup.A51是不会多的。
多的是INIT.A51

使用特权

评论回复
板凳
xinghun0813| | 2016-7-15 14:32 | 只看该作者
你好,我看到.M51文件里面startup.A51大小是0x8C,如果多的是INIT.A51,编译出来的程序是放在startup.A51 的0x8c程序段里的吗?没有看到INIT.A51文件的大小信息。

使用特权

评论回复
地板
xinghun0813| | 2016-7-15 14:33 | 只看该作者
linqing171 发表于 2016-7-15 14:06
多有多的用处吧。
startup.A51是不会多的。
多的是INIT.A51


你好,我看到.M51文件里面startup.A51大小是0x8C,如果多的是INIT.A51,编译出来的程序是放在startup.A51 的0x8c程序段里的吗?没有看到INIT.A51文件的大小信息。

使用特权

评论回复
5
linqing171| | 2016-7-16 21:44 | 只看该作者
xinghun0813 发表于 2016-7-15 14:33
你好,我看到.M51文件里面startup.A51大小是0x8C,如果多的是INIT.A51,编译出来的程序是放在startup.A5 ...

把两个hex发上来,给你看一下。

使用特权

评论回复
6
ayb_ice| | 2016-7-17 08:50 | 只看该作者
配置某些内存不清零就小了

使用特权

评论回复
7
xinghun0813| | 2016-7-18 10:06 | 只看该作者
linqing171 发表于 2016-7-16 21:44
把两个hex发上来,给你看一下。

已经尝试,M51文件中startup.A51变大的原因应该是定义全局变量时有初值导致。正如你所说,应该是INIT.A51中的代码,去掉全局变量的初始化就又变小了。谢谢,等结贴。

使用特权

评论回复
8
linqing171| | 2016-7-20 16:39 | 只看该作者
coody 发表于 2016-7-18 12:16
那就不加载startup.A51文件

这些文件都属于CRT,也就是c运行库,如果你不加入到你工程里,keil也会自动链接默认的。如果你加入到工程里了,他就用工程里面的。
常见的有startup.A51里面修改喂狗,或者初始化时钟等。

malloc printf putchar 等c的库函数也是。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

2

帖子

0

粉丝