昨天顺利使用STM32CubeMX生成程序,调试时却出现了错误,提示*** error 65: access violation at 0x40021000 : no 'read' permission,
网上查了一下,说是debug设置的不对,按照网上说的办法,修改无果。最后想应该是这块内存读写没有定义,修改内存读写权限,点击调试后点击-〉debug菜单-〉Memory Map命令,添加0x40000000,0x400fffff到列表,如下图:
点击Map Range
实验,果然通过。注:图中列表是读取设置文件后,下面的数据只是 为了说明这个方法。
然后,根据L053的存储器图编辑设置文件,stm32l053r8.ini 如下:
map 0x40000000,0x40007fff read write
map 0x40010000,0x40017fff read write
map 0x40020000,0x400263ff read write
map 0x50000000,0x50001fff read write
保存后,在debug里加载
调试,出现如下提示,说明设置成功
查看存储器图
我们需要的地址已经加到列表里了。
现在可以顺利进行软件模拟仿真调试了。
如果以后遇到内存读写方面的问题,都可以用这个方法解决。