Keil仿真报错:*** error 65: access violation at 0x40023800 : no ‘read’ permission

问题:

今天在STM32工程进入软件仿真时,出现*** error 65: access violation at 0x40023800 : no 'read' permission错误。

点击RUN运行时出现*** error 65: access violation at 0x40023800 : no 'write' permission的错误。
Keil仿真报错:*** error 65: access violation at 0x40023800 : no ‘read’ permission

解决方法:

1、新建一个.ini文件,内容为:

map 0x40000000,0x400FFFFF read write

Keil仿真报错:*** error 65: access violation at 0x40023800 : no ‘read’ permission

2、向Option->Debug->Use_Simulator->Initialization_File中添加该文件。

Keil仿真报错:*** error 65: access violation at 0x40023800 : no ‘read’ permission

 3、再次进入debug后没有问题。

注:若进入debug后点击RUN按钮提示no 'execute/read'的话还需要进行如下修改:

Option->Debug->Use_Simulator->CPU.DLL的Parameter,改为-REMAP。

Keil仿真报错:*** error 65: access violation at 0x40023800 : no ‘read’ permission

下面Dialog DLL的参数可以修改为下图所示(具体需对应自己使用的板子),有人说Cortex-M3只是个大框架,具体的厂商实现细节不一样,所以还是修改得具体点好。但我没有修改也没有出现问题。

Keil仿真报错:*** error 65: access violation at 0x40023800 : no ‘read’ permission

 几个参数的含义:

SARMCM3.DLL是一个动态链接库,名称SARMCM3表示是ARM Cortex-M3架构

DCM.DLL、TCM.DLL同理,表示Cortex-M系列。

DARMSTM.DLL、TARMSTM.DLL则指明了是STMicroelectronics(意法半导体)的ARM架构的产品。

参数-pCM3表示Cortex-M3系列的参数。


 

上一篇:easyui 如何添加事件


下一篇:ARM Cortex-M底层技术(1)—程序在Flash和SRAM的空间分配