关于keil里面的STARTUP.A51有什么用?

我在用KEIL建立工程的时候它会自动生成STARTUP.A51这么个文件,我用汇编编程,在编译的时候会有警告,并且下载到实验板后实验板也没反应,然后我把STARTUP.A... 我在用KEIL建立工程的时候它会自动生成STARTUP.A51这么个文件,我用汇编编程,在编译的时候会有警告,并且下载到实验板后实验板也没反应,然后我把STARTUP.A51这个文件从工程里移除后再编译,警告没有了,实验板也有正常输出了,所以我想请教一下,关于STARTUP.A51这个文件到底干嘛的?为什么在用汇编的时候有这个问题
我知道它有初始化的功能,我想知道的重点是它在以汇编语言为编程语言的前提下对编译,调试的影响!因为用汇编会出现警告,比如说地址重叠
展开
 我来答
一剑出血
高粉答主

2014-07-29 · 醉心答题,欢迎关注
知道大有可为答主
回答量:5.7万
采纳率:78%
帮助的人:1.7亿
展开全部
用汇编编程的话,不需要startup.a51。从项目中移除就好。
用户需要自己注意并完成所有需要的startup内容。
威孚半导体技术
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层... 点击进入详情页
本回答由威孚半导体技术提供
沈肆言C3
2014-07-28 · TA获得超过158个赞
知道答主
回答量:122
采纳率:0%
帮助的人:120万
展开全部
单片机机初始清零
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
月半马各ba
推荐于2018-03-13
知道答主
回答量:2
采纳率:0%
帮助的人:2655
展开全部
startup.a51的作用
和汇编一样,在C中定义的那些变量和数组的初始化就在startup.a51中进行,如果你在定义全局变量时带有数值,如unsigned char
data **=100;,那startup.a51中就会有相关的赋值。如果没有=100,startup.a51就会把他清0。(startup.a51==变量的初始化)。
这些初始化完毕后,还会设置SP指针。对非变量区域,如堆栈区,将不会有赋值或清零动作。
有人喜欢改startup.a51,为了满足自己一些想当然的爱好,这是不必要的,有可能错误的。比如掉电保护的时候想保存一些变量,
但改startup.a51来实现是很笨的方法,实际只要利用非变量区域的特性,定义一个指针变量指向堆栈低部:0xff处就可实现。,
为什么还要去改?
可以这么说:任何时候都可以不需要改startup.a51,如果你明白它的特性。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式