永发信息网

Keil 项目中为什么要用初始化文件??

答案:2  悬赏:40  手机版
解决时间 2021-01-29 21:30
  • 提问者网友:留有余香
  • 2021-01-29 02:34
单片机程序开发中,Keil项目中为什么要加STARTUP.A51文件????STARTUP.A51文件的作用是什么???不加STARTUP.A51文件对程序有什么影响???请各位大哥大姐帮助小弟解释下...谢谢
最佳答案
  • 五星知识达人网友:梦中风几里
  • 2021-01-29 04:05
主要是初始化堆栈,XDATA,PDATA区的等等,
叫我完整的说出来还真有难度,找本相关的资料吧,一般的入门书籍都有介绍....
其实你看看里面的代码也知道个大概,
写程序基本可以忽略掉他,反正加进去就是了,
全部回答
  • 1楼网友:低音帝王
  • 2021-01-29 04:30

和汇编一样,在c中定义的那些变量和数组的初始化就在startup.a51中进行,如果你在定义全局变量时带有数值,如unsigned char data xxx="100";,那startup.a51中就会有相关的赋值。如果没有=100,startup.a51就会把他清0。(startup.a51==变量的初始化)。这些初始化完毕后,还会设置sp指针。对非变量区域,如堆栈区,将不会有赋值或清零动作。 . y" |, ~# x' d$ v       有人喜欢改startup.a51,为了满足自己一些想当然的爱好,这是不必要的,有可能错误的。比如掉电保护的时候想保存一些变量, 但改startup.a51来实现是很笨的方法,实际只要利用非变量区域的特性,定义一个指针变量指向堆栈低部:0xff处就可实现。, 为什么还要去改? 可以这么说:任何时候都可以不需要改startup.a51,如果你明白它的特性

     不加atartup.a51是不行的。

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯