标题: 关于Keil工程中添加Startup.A51的问题 [打印本页]

作者: DAmbrose    时间: 2019-8-2 17:25
标题: 关于Keil工程中添加Startup.A51的问题
本帖最后由 DAmbrose 于 2019-8-2 17:28 编辑

对于添加了启动文件的工程,把Startup.A51去除掉,是否会影响程序?其本身是否会加载Keil自带库的Startup.A51?希望吧友们解答解答
作者: 张x小呀    时间: 2019-8-2 18:34
应该是不会的,因为keill对于单片机实惠自动加载相关的一些文件的,你在建立工程的时候选择的芯片型号,然后在keill里边集成的有相关文件
作者: aaaaaa。    时间: 2019-8-2 19:17
当在kiel C中新建项目时,会问:
Copy standard 8051 Starup Code to Project Forder and add file to Project?
翻译为:复制8051启动代码到项目并和添加文件到项目?

其实无论您选是还是否,您的代码中都将包含该文件。
该文件的作用是 初始化 内外部 RAM使其清零,另外还初始化SP等。
如果上述提示框您选否,对哪些RAM清零将采用默认的方式。
如果您想改变RAM清零区域(假如希望复位时某些RAM不被清零时会很有用。),您可以选是,这样该文件的一个副本将添加到您的项目,您可以根据需要改写此文件。

其他SP,SAMLL/COMPACT、LARGE模式的重入函数的堆栈和指针的初始化等和RAM的道理是一样的。
作者: y651503148    时间: 2019-8-2 19:18
还是实际去测试看,一般没必要移除的
作者: 海星夜    时间: 2019-8-2 19:47
需要自己添加的
作者: 记忆地带    时间: 2019-8-2 20:25
会影响的,没试过
作者: smarttran    时间: 2019-8-2 22:37
感觉不要startup.a51好像也是可以的哦
作者: 没有你    时间: 2019-8-2 23:02
Startup.A51里面有一些初始化操作,会在单片机启动时,对ram的数据清零操作。如果删除Startup.A51的话,那么你的单片机重启后(注意不是断电再重启),之前ram空间的数据会保留。
作者: DAmbrose    时间: 2019-8-3 08:31
没有你 发表于 2019-8-2 23:02
Startup.A51里面有一些初始化操作,会在单片机启动时,对ram的数据清零操作。如果删除Startup.A51的话,那 ...

就是掉电重启还是会清除ram的意思吗?那你指的重启是哪种?
作者: DAmbrose    时间: 2019-8-3 08:33
aaaaaa。 发表于 2019-8-2 19:17
当在kiel C中新建项目时,会问:
Copy standard 8051 Starup Code to Project Forder and add file to Proj ...

那我程序复位不需要RAM保留的话,是不是加不加startup.A51没有影响?




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1