STM32F4 MDK5软件仿真 error : no 'read' permission
问题描述
CPU:STM32F407
MDK5软件模拟提示没有读写权限,只能一步一步运行。提示代码如下:
*** error 65: access violation at 0x40023800 : no 'read' permission
*** error 65: access violation at 0x40023800 : no 'write' permission
*** error 65: access violation at 0x40023808 : no 'write' permission
*** error 65: access violation at 0x40023800 : no 'read' permission
*** error 65: access violation at 0x40023800 : no 'write' permission
根本原因是:map地址空间权限映射有问题。部分地址空间没有读写的权限,造成程序不能自动运行。
解决方法
增加map地址空间权限映射。
根据网络资源介绍方法大致有三种:
1.修改工程配置选项中的debug选项卡,STM32F1系列芯片验证可以正常使用。F4系列芯片不能正常使用。
2.直接在调试页面修改map地址权限映射,正常修改后程序可正常运行。退出调试时需要重新设置,操作不方便。
3.在工程配置选项中的debug选项卡,直接添加正确的Initialization file。(推荐使用)
方法3:
工程文件中新建“debug,ini”文件,在文件中添加map地址权限映射代码
map 0x40000000, 0x40007FFF read write // APB1
map 0x40010000, 0x400157FF read write // APB2
map 0x40020000, 0x4007FFFF read write // AHB1
map 0x50000000, 0x50060BFF read write // AHB2
map 0x60000000, 0x60000FFF read write // AHB3
map 0xE0000000, 0xE00FFFFF read write // CORTEX-M4 internal peripherals

具体的map地址权限映射也可在调试界面中的memory Map选项中查看。
方法2:
调试页面下,在DEBUG选项卡下选择Memory Map 选项如下图

可根据错误提示进行map地址映射添加。
方法1:
主要根据工程芯片型号配置相关参数

STM32F4 MDK5软件仿真 error : no 'read' permission的更多相关文章
- stm32 MDK5软件仿真之查看io口输出
软件MDK5 stm32的pack 打开MDK,添加工程 一.首先找到Project的Options选项,里面的Debug选为Use Simulator,也就是选择软件仿真. 然后再Logic ...
- Uvision5不能进行软件仿真
Uvision5不能进行软件仿真不能进行软件仿真,报错: error 65: access violation at 0x40021000 : no 'read' permission(软件仿真出错) ...
- MDK软件仿真常见问题
一直不知道MDK该怎么仿真调试程序,之前试了好几次都没有成功.因为有个程序一直不知道里面的变量对应着外部怎么的模式,今天想起可以用仿真调试的方法查看当外部设置某种模式的时候, 内部变量的变化,这样想来 ...
- STM32软件仿真的一个注意点
最近才做的板子由于自己的粗心把串口线搞反了,还好只有两条,飞线解决,而且现在还只是样板,但是还是应该引以为戒,以后做硬件一定要谨慎. 今天同事出差把CAN分析仪拿走了,本来在开发板上调试好的程序不知为 ...
- 单片机Keil软件仿真与调试技巧
一.引言 单片机软件开发过程中,软件调试遇到的各种问题常令初学者感到不知所措.实际上.各种仿真开发软件的程序调试基本方法和技巧大同小异,掌握正确的程序调试基本技巧.对于排查这些程序错误问题可以起到举一 ...
- Could not install packages due to an Environment Error: [Errno 13] Permission denied 解决方案
执行pip install 报错如下: Could not install packages due to an Environment Error: [Errno 13] Permission de ...
- STM32 mdk软件仿真时过不去时钟的问题
stm32的程序用MDK软件仿真时,由于系统时钟初始化函数里有个等待系统时钟准备好的循环,所以过不去. 设置方式如下:这么设置之后仿真时就可以直接进入main函数了.
- 在apache环境中使用 python stock 请求遇到error: [Errno 13] Permission denied
一个python 项目运行在linux 环境下,使用apache做为web容器. 调用urllib2.urlopen(your url) 或者 xmlrpclib.ServerProxy()请求某个服 ...
- STM32 PWM的输出与Keil软件仿真
导读:PWM(Pulse Width Modulation)控制——脉冲宽度调制技术,通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形(含形状和幅值). PWM控制技术在逆变电路中应用最广,应用 ...
随机推荐
- 地址栏的路由输入不匹配时候,设置默认跳转页面(redirect)
如果输入正确的路由,就会显示正确的页面. 如果输入错误的路由 ,则可以配置跳转到指定的页面. { redirect:"/', path:"*" ; }
- orabbix监控oracle
Orabbix 是一个用来监控 Oracle 数据库实例的 Zabbix 插件.下载地址: http://www.smartmarmot.com/product/orabbix/download/ O ...
- java时间与js时间
这是一个由java获取的系统时间与js获取的系统时间不一致导致的测试缺陷 定义方式: java Date date = new Date(); js var Date date2 = new Date ...
- windows下安装QT并与visual studio 2017搭建开发环境
1.环境搭建 这里并不是说qt必须要和visual studio结合使用,不过用习惯了visual studio开发,继续使用可节省开发时间,并大大提供便利性. 关于安装过程这里不再详细赘述,软件下载 ...
- Media Queries 媒体查询常见设备断点
按需调整断点 一.谷歌后摘抄的一部分媒体查询 /*#region SmartPhones */ /* SmartPhones */@media only screen and (min-device- ...
- 手机端3d旋转木马效果+保存图片到本地
<!DOCTYPE html> <html> <head> <title></title> <meta charset="U ...
- 聊聊fetch
fetch的使用 fetch是一个发起异步请求的新api, 在浏览器(有些不支持)中可以直接使用. Promise fetch(url, init) fetch接收两个参数,第一个参数是请求路径,第二 ...
- js验证身份证号,超准确
js验证身份证号,超准确 看程序前先来了解下身份证号的构成:身份证号分为两种,旧的为15位,新的为18位.身份证15位编码规则:dddddd yymmdd xx p 其中 dddddd:地区码 ...
- Python环境搭建详解(Window平台)
前言 Python,是一种面向对象的解释型计算机程序设计语言,是纯粹的自由软件,Python语法简洁清晰,特色是强制用空白符作为语句缩进,具有丰富和强大的库,它常被称为胶水语言. Python是一种解 ...
- xtrabackup备份mysql-2 增量备份
---恢复内容开始--- 增量备份 ---恢复内容结束---] 增量备份恢复 1,重演日志 2,恢复数据