ARM汇编中的错误:error 65: access violation at 0x00000004 : no 'write' permission

tbgod 2014-10-23 01:11:34
AREA ASM, CODE, READWRITE
ENTRY
start
MOV R0, #0X4
LDR R1, =0X8
MOV R2, #0X4
STR R0, [R1,R2,LSL#1]
END
当单步刚运行完STR时,就会报错error 65: access violation at 0x00000004 : no 'write' permission
并且memory window里面的地址的内容也没有改变。
但将STR那一步改为
ADD R3, R1,R2,LSL#1
STR R0, [R3]
又没有问题了。
...全文
968 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
tbgod 2014-10-23
  • 打赏
  • 举报
回复
中括号里面的R1,R2,LSL#1运算后不就是和R3相等,第一种为什么出错? 在mdk配置里面选择的是23c2440a。应该不会出错吧。 难道是我用软件模拟运行而没有连接开发板的原因。
fly 100% 2014-10-23
  • 打赏
  • 举报
回复
你这个cpu 可能只是mcu等级的吧 如果>=arm9应该没有问题
fly 100% 2014-10-23
  • 打赏
  • 举报
回复
我觉得可能R3的位宽超了范围 add的计算结果是0x0 - 0xff 第一种的计算结果是三十二位的
tbgod 2014-10-23
  • 打赏
  • 举报
回复
本人用的是mdk,用软件模拟运行的,没有连接开发板,设置R/O base和R/Wbase都为0.但运行结果出现上面的错误,

1,075

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧