仿真錯誤*** error 65是什麽意思?

2019-03-24 16:23发布

仿真的時候,出現*** error 65: access violation at 0x400FE108 : no 'read' permission錯誤是怎么回事?
編譯沒有錯誤!
謝謝 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
14条回答
tieyi0404
2019-03-26 14:08

Error 65:access violation at 0xFFFFFFFC: no “write” permission

这个错误一般在使用RV模拟器(使用’debug’的’Use simulator’模式)进行调试时出现。

在发生这个错误时,观察寄存器的话,会错误消息中的地址正是SP(R13)的值。从此可以推测,错误就在进行堆栈操作时发生。

那为什么进行堆栈操作时,发生错误呢?因为,现在使用的是模拟器,而不是真正的目标板,所以对这些内存区域没有任何定义。所以我们必须在模拟器中要将这个内存地址段的属性设置为可读/可写。

解决上述问题的几种方法:第一种方法:在ini file(.ini文件)中写入以下部分,表示这个内存区域是可读/可写/可执行。

 map 0xFFFFF000,0xFFFFFFFF read write exec

 ini文件可以自己創建記事本格式按照map 0xFFFFF000,0xFFFFFFFF read write exec編寫,保存為文件格式ini。

然後在project-》options to objects。。。-》debug-》initialization file中添加即可

第二种方法:这是在调试过程中的修改方法,所以在每次运行的时候,都要设置。

先进入调试模式(crtl+F5),接下来在debug菜单下打开memory_map对话框,在这个对话框中添加新的映射区域(map range)和它的属性。

查了好長一段時間把問題解決了,這個問題只會在仿真調試的時候出現,如果出現可按照上述方法設置,就可以解決

[ 本帖最后由 tieyi0404 于 2011-1-24 11:02 编辑 ]

一周热门 更多>

相关问题

    相关文章