RE:stm32cubemx 生成的STM32F051K8代码在MDK下无法软件debug

我在stm32cubemx下生成STM32F051K8配置。
在main里面的while部分加入
...
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_1,GPIO_PIN_SET);
HAL_Delay(100);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_1,GPIO_PIN_RESET);
HAL_Delay(100);
...

在MDK4.74下面编译通过,但是在simulation debug的时候报如下错误
*** error 65: access violation at 0x40021000 : no 'read' permission
*** error 65: access violation at 0x40021000 : no 'write' permission
*** error 65: access violation at 0x40021004 : no 'read' permission
*** error 65: access violation at 0x40021000 : no 'write' permission
...
*** error 65: access violation at 0x40021000 : no 'read' permission
...
我网上查了在debug标签里inital file里加入
MAP 0x40000000,0x4002ffff read write
MAP 0x48000000,0x4802ffff read write
后debug没有再报错。

F11进入到
HAL_GPIO_WritePin
GPIOx->BSRR 部分 看GPIOA发现BSRR没有置位。

这是怎么回事?


说明一下 附件里的项目 是用stm32cubemx生成的
Drivers
Inc
Src
目录 自己新建 配置的MDK-V4项目,没有直接用 stm32cubemx生成的MDK-V4项目文件,
那个项目文件问题更多。大家可以自己试试



我的MDK版本信息如下
=qte=
IDE-Version:
μVision V4.74.0.22
Copyright (C) 2014 ARM Ltd and ARM Germany GmbH. All rights reserved.
Toolchain: MDK-ARM Professional Version: 4.74.0.0
Toolchain Path: F:\Keil\ARM\ARMCC\bin\
C Compiler: Armcc.Exe V5.03.0.76
Assembler: Armasm.Exe V5.03.0.76
Linker/Locator: ArmLink.Exe V5.03.0.76
Librarian: ArmAr.Exe V5.03.0.76
Hex Converter: FromElf.Exe V5.03.0.76
CPU DLL: SARMCM3.DLL V4.74.0.0
Dialog DLL: DARMCM1.DLL V1.11.00.0
Target DLL: UL2CM3.DLL V1.152.4.0
Dialog DLL: TARMCM1.DLL V1.08.00.0
=unqte=



已邀请:

admin

赞同来自:

估计是你debug设置问题吧?没有051不能测试,只能说这个问题从没听说过~~

suhang

赞同来自:

我直接用软件仿真的debug
你可以在你的MDK里试试 这个附件里的项目

suhang

赞同来自:

附件为 两个debug 配置信息

admin

赞同来自:

你用的是ulink?debug调试

该问题目前已经被锁定, 无法添加新回复