当在kiel C中新建项目时,会问:
Copy ‘STARTUP.A51’ to Project Folder and Add File to project?
翻译为:复制8051启动代码到项目并和添加文件到项目?
1.STARTUP.A51(系统与启动代码文件,清理RAM、设置堆栈等)
Startup.A51里面有一些初始化操作,会在单片机启动时,对ram的数据清零操作。如果删除Startup.A51的话,那么你的单片机重启后(注意不是断电再重启),之前ram空间的数据会保留。
2.其实无论您选是还是否,您的代码中都将包含该文件。
该文件的作用是 初始化 内外部 RAM使其清零,另外还初始化SP等。
如果上述提示框您选否,对哪些RAM清零将采用默认的方式。
如果您想改变RAM清零区域(假如希望复位时某些RAM不被清零时会很有用。),您可以选是,这样该文件的一个副本将添加到您的项目,您可以根据需要改写此文件。
其他SP,SAMLL/COMPACT、LARGE模式的重入函数的堆栈和指针的初始化等和RAM的道理是一样的。
3.跳入C函数之前执行的一段汇编代码,不加就用默认的启动代码,加了你没修改这段代码,那还是相当于用默认的启动代码,这时加和没加都一样。
比如说,你想另外设置SP的值,不用默入的,就可以加入,然后修改SP。
反正这个启动代码不用改,加不加无所谓。
4.根据你项目的需求决定是否添加。
如果你采用汇编语言写程序,建议别添加,添了还得改模块名称,麻烦。
如果你采用C语言,添加了有好处,避免你忘记有些初始化工作。
@51单片机学习