Copy standard 8051 startup code to project folder and add file to project(STARTUP.A51)
1 现象:
每次创建keil工程的時候都会弹出提示: Copy stardard 8051 startup code to project folder and add file to project。
2 解决:
(1)在执行C代码之前都要先运行一个汇编程序,这个汇编程序叫做startup code(启动程序),其作用是对单片机进行初始化操作,为主函数设置堆栈,运行完成之后才开始执行C程序中的主函数。
加载的startup.A51文件,其主要作用是:上电时初始化单片机的硬件堆栈、初始化RAM、初始化模拟堆栈和跳转到主函数main。硬件堆栈是用来存放函数调用地址、变量和寄存器值的;模拟堆栈是用来存放可重入函数的,可重入函数就是同时给多个任务调用,而不担心数据的丢失,可重入函数一般在嵌入式系统中有所体现。如果不加载该文件,编译的代码可能会是单片机工作异常。
(2)如果沒有添加该启动程序,KEIL会默认预先执行该程序;如果添加该启动程序,可以修改此程序,运行时使用的就是经过修改的启动程序了。
3. 参考资料
(2)keil中StartUp.A51的重要性 - 百度文库 (baidu.com);
(3)王静霞等. 单片机应用计数(C语言版)第3版[M]. 北京,电子工业出版社,2015:4.