KEIL仿真程序不能进入main函数

我在用keil进行软件仿真的时候,程序一直在STARTUP.A51里下面一段运行,在main函数设置断点也不能跳过去,请问是什么问题啊?下面就是来回运行的那段程序
XDATALOOP: MOVX @DPTR,A
INC DPTR
DJNZ R7,XDATALOOP
DJNZ R6,XDATALOOP

第1个回答  2012-09-13
看看是不是XDATA段初始化设置得太大了。本回答被提问者采纳
第2个回答  2012-09-14
不要.A51
第3个回答  2012-09-17
将工程中的STARTUP.A51去掉,如果你没有扩展ROM的话。

程序烧好了单片机(LPC1768)不运行 仿真的时候发现程序没有进main...
我在STM32中以前也遇到过,一般就是因为你的DEBUG 配置的问题,首先在KEIL中点击魔法棒,你在DEBUG 中选择RUN TO MAIN,在SETTING 中选择右下方的,verify code download , download to flash 。

keil5软件调试怎么进入main
keil5软件调试进入main步骤:1、首先选择使用调试器,点击debug进入调试窗口,首先会跳到main函数;2、可以打断点(单击左键),然后点击run,就会执行到断点处;3、->{}是执行到光标所在位置;4、RST是复位单片机,会跳转到启动文件(.s);5、{↓}表示下一步或进入函数,查看数组的地址;6、当重新开...

使用keil编程常遇到c语言问题;main被重复定义了,如何破?
删除掉extern main;就好了 main这个关键字不能随便定义的 只能存在一个 程序都是从main开始所以也不能被调用,所以根本没必要声明main函数。

多个C程序用KEIL时候,main函数位置是不是要放前面
main函数位置不用放在最上面,红圈内的文件顺序,是安装数字和字符排序的;关于你提到的警告信息,是来自你的 24L01.h 文件内的函数,篮圈内就是提示;

为什么keil编程完说未创建
因为你的工程中有text1.c这个文件,但你实际在操作的是text1这个文件,所以KEIL在编译的时候就找不到C文件中main函数的入口了。你把text1文件扩展名改为text1.c文件就可以了,记得要和这个工程的.uv2文件放在同一个目录下。

keil编程出现这个警告是什么意思?
找不到main函数 ?C_START是main函数的地址.报这个错是因为你的工程中没有一个main函数,(即包含main的文件没有加进来).因为Startup.a51中会跳转到main函数,link时找不到该函数所以报错.需要明白link报错的真正原因.

STM32调试求助,无法进入main函数
重新添加源代码(这个过程不熟悉的话请自行百度)你的程序烧写最终的起始地址不对,STM32内部flash是从0x08000000这个地址开始执行的,若你的代码起始地址不是这个,就很容易出现问题。(起始这条可能不适用你的情况,这种情况的结果是仿真可以进入主函数的,但独立运行就不行了)。

...上面开发单片机程序时发现1.程序执行完main函数后会自动跳转到main函...
1. 正式产品的C51程序应该是一个死循环。如果不是死循环,执行完main后,执行RET,将会将堆栈里的数据当做地址压入PC,程序跑错。最后会回到地址0000H,重新开始,进入main。你仿真在00H做中断,就会发现他回去了。2. 你说的不清楚,跳转还是会跳转的。程序运行结果正确就说明没有错。除非你程序错误...

如何改变编译器Keil的程序入口函数main(),用其他自定义函数代替?
STM32的程序入口函数编辑方法 STM32的编辑方法就比较简单,首先新建一个工程,不导入任何运行时环境(Run-time Environment),然后导入Startup_stm32xxxx_xx.s(ASM起动文件),调试工程选项中C\/C++选项卡里包含需要导入的库文件。随后找到151行 IMPORT __main 把main改为自己想要设置的入口函数就行了...

keil5的main.c为什么全错
可能有多种原因导致keil5的main.c文件全错,以下是几个可能的原因:1. 语法错误:main.c文件中可能存在语法错误,如缺少分号、括号未正确匹配等。这些错误会导致程序无法编译通过。2. 引用错误:main.c文件中可能存在对其他库或头文件的引用错误,如文件路径不正确或引用的库文件不存在等。这些错误会...

相似回答