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:

主要根據工程芯片型號配置相關參數


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM