目录
1.问题现象
或者
2.解决方案
*** error 65: access violation at 0x4002100C : no 'write' permission这种是最常见的,keil5将旧版本文件转换后出现的错误,需要在debug选项中改动两处:
Parameter改为 -pSTM32F103ZE(此项根据自己型号而定)
*** error 65: access violation at 0x20005000 : no 'write' permission这种情况比较少通常是自己粗心忘了给变量初始化,我的报错例子:
问题在于没有正确初始化变量handle,导致访问了一个未知的内存地址,从而引发了"access violation"错误。
修改:将队列句柄赋值给handle变量。
3.总结
当遇到"*** error 65: access violation at 0x20005000 : no 'write' permission"类似错误时,这通常表示程序试图写入一个没有写入权限的内存地址。
最常见的错误原因是keil5将旧版本文件转换后出现的错误,需要在debug选项中改动两处:
Dialog DLL改为 DARMSTM.DLLParameter改为 -pSTM32F103ZE(此项根据自己型号而定)
这个错误可能还有其他原因:
1. 检查内存保护设置:请确保您的程序没有试图写入受保护的内存区域。某些嵌入式系统可能使用内存保护机制,如存储器保护单元(MPU)或写保护寄存器。请检查您的系统文档或参考手册,了解如何正确配置内存保护设置。
2. 检查变量初始化:如果您的程序在使用某个变量之前没有正确初始化它,可能会导致访问冲突。请确保您的变量在使用之前都被正确初始化,特别是指针变量。
3. 检查内存分配:如果您使用了动态内存分配(如malloc函数),请确保您正确地分配和释放内存。内存泄漏或释放已释放内存的情况可能导致访问冲突。
4. 检查函数调用参数:请确保您传递给函数的参数是有效的,并且符合函数的预期类型和范围。传递无效的参数可能导致访问冲突。
参考博客:keil 5的软件仿真遇到的问题:error 65: access violation at 0x40021000 : no 'read' permission的解决办法_keil5错误65-CSDN博客Keil软件仿真STM32时出现“no ‘write‘ permission”,“no ‘read‘ permission ”的错误_no 'write' permission-CSDN博客