您的位置:首页 > 其它

在基于ARM的Wince开发中,遇到“本机异常”……

2011-11-21 12:50 281 查看
自己遇到的问题,在对一个内存块写数据时,出现“本机异常”错误,后来发现是访问内存没有符合ARM的边界对齐要求……

出问题的语句:

*(int *)(Packet + NowOffset) = htonl(BindSetInfo.ItemInfo[i].ItemCount);

此时,Packet = 0x00055bd0, NowOffset = 0x0000001f

写入4字节int型数据的地址不是对齐的……出现DataAbort错误。

对内存访问时,ARM边界对齐的问题还是很关键的……特此记录下。

Google 下ARM字节对齐问题,文章很多……
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: