最近在keil5软件仿真,对内存模拟验证直接地址调用函数时出现如下错误:
*** error 65: access violation at 0x20008000 : no 'execute/read' permission
*** error 65: access violation at 0x2000FFEC : no 'write' permission
解决方法有两种方法,推荐第一种,一劳永逸嘛
一、debug.ini文件配置(推荐,只需设置一次即可,第二种方法需要每次仿真时都要操作一遍,比较麻烦)
①在工程目录下新建"debug.ini"文件,用记事本打开,输入“map 0x20000000, 0x2000FFFF exec read write ”保存退出,我报错是
*** error 65: access violation at 0x20008000 : no 'execute/read' permission
*** error 65: access violation at 0x2000FFEC : no 'write' permission
所以写的是:0x20000000, 0x2000FFFF,这里根据实际需求情况填写
②打开keil软件的“options for target”->“Debug”->"Initialization File"添加刚才新建的debug.ini文件,再点OK
③点击“Debug”进行仿真发现程序运行正常。
二、Memory Map(每次仿真都要设置)
①进入“DEBUG”模式后(必须先进入仿真模式),菜单栏“Debug”-"Memory Map"-添加期望内存地址范围,勾选权限
②开始执行仿真,正常运行,无内存操作报错
如果能帮到你,麻烦顺手点个赞呗,谢谢啦!!