keil调试时老是出现这个:*** error 65: access violation at C:0x0000 : no 'execute/read' permission。

作者&投稿:赫珊 (若有异议请与网页底部的电邮联系)
KEIL调试出现*** error 65: access violation at C:0xFFA7 : no 'execute/read' permission,怎么解决~

把程序编译时的提示信息,以及你工程的选项页面(Options for Target xxx)贴出来。
你的程序或许根本没有正常编译,跳转到了与工程配置不符的地址段。


你的Debug选项没有设置好,如图,把我画箭头的地方选项去掉,不要勾选.
另外,你的这个程序,DB指令是不可以放置到Main后面的,正常的做法,是放到整个程序的最后面.

  1. 首先打开Keil软件,打开一个工程,点击keil的编译图标,编译软件。

2.确保已经连接了仿真器,而且已经给MCU上电,然后下载程序,等待下载完成。

3.软件程序下载完成,现在就完成了程序下载,可以开始仿真了。

4.单击软件的调试图标,进入软件调试模式。

5.现在就已经打开运行模式。

6.单击全速运行,运行软件仿真。

7.程序正在全速运行。

8.仿真完成以后单击调试图标,就可以退出调试模式。



你的代码 入口点 指定了吗》?在启动文件里!startUp.s 文件里,如果没有的话,程序只能从0x0开始执行啊!而在0x0都是NOP!

你的 ORG 30H 说明第一条指令在 0x30处,但是你执行是从0x0开始的,故执行不到你的程序那里去!

你把你的代码 改成
ORG 0H
试试

在void main()函数中先加一个大循环while(1){},然后把你的程序放到大循环里,就正常了,我遇到同一问题,就是这么解决的。

sp设置下,应该是指针地址被占用了,所以跳不回来

65错误不影响程序运行,你用表格查数据,数据是正常的,只是程序补完美,你在程序最后加一个SJMP $就好了


matlab编写带有传输零点的chebyshev带通滤波器
出传输零点的位置独立,可以互不影响地进行调节的结论。这也说明了这类滤波器的优越性,可以很方便地进行调节,为设计提供了依据。通过一个七阶滤波器耦合矩阵改变的示例,表明结论正确,可以作为一种有效的综合和验证调试方法。耦合矩阵的综合为以后的滤波器设计奠定了基础,直接决定了所选器件结构的尺寸、谐振腔之间的位置...

融安县13125233890: keil调试时老是出现这个:*** error 65: access violation at C:0x0000 : no 'execute/read' permission. -
廉皇艾克: 程序只能从0x0开始执行啊,如果没有的话,故执行不到你的程序那里去你的代码 入口点 指定了吗》!而在0x0都是NOP!startUp,但是你执行是从0x0开始的?在启动文件里.s 文件里! 你的 ORG 30H 说明第一条指令在 0x30处

融安县13125233890: Keil在debug时老是出现*** error 65: access violation at C:0x0003 : no 'execute/read' permission -
廉皇艾克: 因为你的程序只有一行代码.继续执行就已经超出程序有效空间了.

融安县13125233890: 打开KEIL程序时一直出现这个问题. -
廉皇艾克: 卸掉重新,可能需要重新下载程序,可以上官方网站下载.没破解也不会程序出错的出现你的问题的,没破解的KEIL只能编译不大于2K字节的目标程序,其他功能是可以使用的.

融安县13125233890: 我在用keil调试时出现这个“*** error 65: access violation at C:0xFFFF : no 'execute/read' permission -
廉皇艾克: 你的程序跳转出了问题,跑到0xFFFF去了,51支持的程序空间最大是64K,也就是0xFFFF,再大的地址是不支持的. 好好检查程序吧.

融安县13125233890: 在keil软件仿真调试中不知原因出现了这个文件,点单步跟踪就出现它,想把它去掉或删除该怎么办?谢谢 -
廉皇艾克: 在Options for Target中,更改调试设置,使得进入调试状态后停留在main处.这样就不会在开始调试时停留在引导代码中了.

融安县13125233890: 用KEIL调试,有error提示,为什么,求助 -
廉皇艾克: B和C之间是B通过串口每隔很短一段时间发命令读取C的信息. .... 我写了个非常简单的程序,编译没有错误,但一进入调试模式就出现这种错误: *** error 65: access violation at C:0x1E00 : no 'execute/read' permission 程序根本

融安县13125233890: 请问,keil调试时出现* error 65: access violation at C:0x0000 : no 'execute/read' permission -
廉皇艾克: keil编译是对的,表明程序的语法正确,但是你的代码在执行的时候跳出这个error,说明你硬件配置时错误,或者软件比较底层的配置或代码编写错误,实际问题没有经验的话挺难找的.

融安县13125233890: 请教关于keil的警告问题,程序没有什么问题,为什么总是出现这样的警告,请大神多多指教要怎样解决.谢啦 -
廉皇艾克: UNRESOLVED EXTERNAL SYMBOL 说明连接的时候没有找到外部变量 第一个警告是 startup.s里有未定义的符号 C_START 第二个警告也是这个问题引起的,你看一下startup.s是不是自己加了其它代码,而未定义相关符号,重新定义一下; 你这是c51的代码吧,意思是c代码的入口这里有点问题.相关引用:http://zhidao.baidu.com/link?url=iNqrf3jz-dHmN-fn8TIuxrlVZ4zsAH19x7J0ac30X_LcbtPSnCHku0EAqsGXKdT0n1rVOditdT92AiXz2xwvf_

融安县13125233890: keil为什么我一切换成硬件调试之后,开始调试就出现这个,调试不了. -
廉皇艾克: 截图不清. 调试是必须要经过编译、链接后才能进行的. 还有必须要选择好单片机硬件,否则也无法有调试环境. 看反汇编都是0,说明根本没有把程序经过编译和链接成为一个可运行的程序,只是代码机器是无法理解,不能调试的.

融安县13125233890: 新手请教:用keil仿真的时候为什么总有:error56:can't open file这个错误呢,看不到仿真结果? -
廉皇艾克: 这个问题我昨天刚帮一个人解决了,你肯定是点错编译的按键了,keil的编译有三个按键, 第一个translate(Ctrl+F7)这个只编译不连接, 第二个build(F7)这个才会产生链接产生obj的文件, 第三个rebuild(平常你就用这个就可以)这个是编译并连接所有的文件,产生仿真所需要的文件,我想你应该就是按的第一个键,所以才会出现error56这个错误,你点击rebuild再试一下

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网