STM32H7系列KEIL软件仿真失败的原因分析和解决办法(error 65:access violation at 0x58024400 : no ‘read‘ permision)

一、问题叙述

笔者最近在使用STM32H750型号的单片机做一个小项目,调试的时候发现无法进行软件仿真,进入仿真之后出现下图类似的错误,并且无法进入main函数。

笔者在网上找了许多方法,但是一部分是只使用STM32F10X系列的。最终笔者总结了一下方法。下文先阐述方法再大致叙述一个原理。

二、解决方法

1、在工程目录下新创建一个名为 debug.ini 的文件,在文件中写入一下文本并保存

map 0x40000000, 0x4000D3FF read write // APB1
map 0x40010000, 0x400177FF read write // APB2
map 0x50000000, 0x50003FFF read write // APB3
map 0x58000000, 0x58006BFF read write // APB4
map 0x40020000, 0x400BFFFF read write // AHB1
map 0x48020000, 0x48022BFF read write // AHB2
map 0x51000000, 0x52008FFF read write // AHB3
map 0x58020000, 0x580267FF read write // AHB4
map 0xE0000000, 0xE00FFFFF read write // CORTEX-M7 internal peripherals

FUNC void Setup (void) {
  xPSR = 1<<24;
  SP   = _RDWORD(0x08000000);
  PC   = _RDWORD(0x08000004); 
  _WDWORD(0xE000ED08, 0x08000000);
}

Setup();

2、打开KEIL,选择 project->Options for Target '...' (上方魔术棒的标志)。打开后选择Debug。在Initalization File 栏中添加上 刚才创建的debug.ini文件即可

 

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值