关于keil里面的STARTUP.A51有什么用?
我在用KEIL建立工程的时候它会自动生成STARTUP.A51这么个文件,我用汇编编程,在编译的时候会有警告,并且下载到实验板后实验板也没反应,然后我把STARTUP.A...
我在用KEIL建立工程的时候它会自动生成STARTUP.A51这么个文件,我用汇编编程,在编译的时候会有警告,并且下载到实验板后实验板也没反应,然后我把STARTUP.A51这个文件从工程里移除后再编译,警告没有了,实验板也有正常输出了,所以我想请教一下,关于STARTUP.A51这个文件到底干嘛的?为什么在用汇编的时候有这个问题
我知道它有初始化的功能,我想知道的重点是它在以汇编语言为编程语言的前提下对编译,调试的影响!因为用汇编会出现警告,比如说地址重叠 展开
我知道它有初始化的功能,我想知道的重点是它在以汇编语言为编程语言的前提下对编译,调试的影响!因为用汇编会出现警告,比如说地址重叠 展开
威孚半导体技术
2024-08-19 广告
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层...
点击进入详情页
本回答由威孚半导体技术提供
展开全部
单片机机初始清零
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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,如果你明白它的特性。
和汇编一样,在C中定义的那些变量和数组的初始化就在startup.a51中进行,如果你在定义全局变量时带有数值,如unsigned char
data **=100;,那startup.a51中就会有相关的赋值。如果没有=100,startup.a51就会把他清0。(startup.a51==变量的初始化)。
这些初始化完毕后,还会设置SP指针。对非变量区域,如堆栈区,将不会有赋值或清零动作。
有人喜欢改startup.a51,为了满足自己一些想当然的爱好,这是不必要的,有可能错误的。比如掉电保护的时候想保存一些变量,
但改startup.a51来实现是很笨的方法,实际只要利用非变量区域的特性,定义一个指针变量指向堆栈低部:0xff处就可实现。,
为什么还要去改?
可以这么说:任何时候都可以不需要改startup.a51,如果你明白它的特性。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询