keil uvision4 软件仿真是出现"startup.A51" 求解!!!
出现单步调试进入startup.a51的情况,可通过debug模式中的断点(Breakpoint)把的勾去掉STARTUP.A51来跳过启动文件部分
关于keil里面的STARTUP.A51有什么用?
用汇编编程的话,不需要startup.a51。从项目中移除就好。
用户需要自己注意并完成所有需要的startup内容。
在keil中,工程管理器窗口怎么没有STARTUP.A51?
1.可能是你在建工程时,问你要不要复制启动代码到工程,如“ copy standard 8051 startup code to project and ADD file to the project”,你选择了NO,当然编译时查不到“STARTUP.A51”
2.本来是有的,可能在移除掉“STARTUP.A51”,“Remove file STARTUP.A51“.
有关keil51的STARTUP.A51的问题
别用所谓的汉化版、并不是所有工程都必须使用用户自定义的startup.a51的。如果项目中没有,则Keil亦会通过库中的启动代码实现标准化的启动流程。
Keil C51是美国Keil Software公司(ARM公司之一)出品的51系列兼容单片机C语言软件开发系统。
与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。
系统介绍:
支持8051微控制器体系结构的Keil开发工具,适合每个阶段的开发人员,不管是专业的应用工程师,还是刚学习嵌入式软件开发的学生。
Keil C51目前由ARM国内授权代理商提供技术支持和销售等相关服务。
产业标准的Keil C编译器、宏汇编器、调试器、实时内核、单板计算机和仿真器,支持所有的251系列微控制器,帮助你如期完成项目进度。
以下图表显示Keil的开发工具以及它们相互之间的接口。
我在keil中创建新的工程时会生成一个STARTUP.A51文件,那是什么?位置是在Source Group 1下面?
如果选是的话,工程中就添加了一个STARTUP.A51的文件如果选no,就没有,有的工程会需要那就得手动加上,在Keil\C51\LIB里面,找到他拷贝到你的工程里,在工程窗口里右击source group1,选add。。,加上STARTUP.A51startup.a51的作用 和汇编一样,在C中定义的那些变量和数组的初始化就在startup.a51中进行,如果你在定义全局变量时带有数值,如unsigned char data **=100;,那startup.a51中就会有相关的赋值。如果没有=100,startup.a51就会把他清0。(startup.a51==变量的初始化)。 这些初始化完毕后,还会设置SP指针。对非变量区域,如堆栈区,将不会有赋值或清零动作。 有人喜欢改startup.a51,为了满足自己一些想当然的爱好,这是不必要的,有可能错误的。比如掉电保护的时候想保存一些变量, 但改startup.a51来实现是很笨的方法,实际只要利用非变量区域的特性,定义一个指针变量指向堆栈低部:0xff处就可实现。, 为什么还要去改? 可以这么说:任何时候都可以不需要改startup.a51,如果你明白它的特性