mark: STM32F429 MDK5软件仿真问题(闪退,no read)
一,在keil5下软件仿真老是闪退 MDK(Keil)调试模式下常常出现闪退现象的解决 解决方案: 1,打开注册表 2,Win+R键呼出“运行”,在框内输入“Regedit ”,回车打开注册表。 3,如果弹出“是否允许此应用对你的计算机进行更改”的权限提示,选择“是” 在注册表中,找到并进入HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers 若发现有形如下的条目(C:\Keil\UV4\UV4.exe),-- 此路径是Keil在你的电脑中,实际安装的路径。 4,删除后,重启Keil,测试调试是否可行 ———————————————— **note:**1, 重新开始记得先删除生成的各种编译链接文件,再全部rebuild一下测试; 2,可能跟路径中含中文字符有关; 3,可能keil5对路径字符长度有要求,把工程copy到一个短路径试一下。
二,不闪退但出现* error 65: access violation at 0x40023800 : no ‘read’ permission** 方法: 根据网络资源介绍方法大致有三种: 1.修改工程配置选项中的debug选项卡,STM32F1系列芯片验证可以正常使用。F4系列芯片不能正常使用。 2.直接在调试页面修改map地址权限映射,正常修改后程序可正常运行。退出调试时需要重新设置,操作不方便。 3.在工程配置选项中的debug选项卡,直接添加正确的Initialization file。(推荐使用)
方法1:主要根据工程芯片型号配置相关参数 方法2:调试页面下,在DEBUG选项卡下选择Memory Map 选项 改了后记得要map range才能生效~ 方法3:工程文件中新建“debug,ini”文件,在文件中添加map地址权限映射代码
map 0x40000000, 0x40007FFF read write
map 0x40010000, 0x400157FF read write
map 0x40020000, 0x4007FFFF read write
map 0x50000000, 0x50060BFF read write
map 0x60000000, 0x60000FFF read write
map 0xE0000000, 0xE00FFFFF read write
具体的map地址权限映射也可在调试界面中的memory Map选项中查看, debug.ini路径有时需方在keil安装目录下,自己试试~
MDK5软件仿真 error 参考链接 http://t.csdn.cn/2U8d1
|