在基于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字节对齐问题,文章很多……
出问题的语句:
*(int *)(Packet + NowOffset) = htonl(BindSetInfo.ItemInfo[i].ItemCount);
此时,Packet = 0x00055bd0, NowOffset = 0x0000001f
写入4字节int型数据的地址不是对齐的……出现DataAbort错误。
对内存访问时,ARM边界对齐的问题还是很关键的……特此记录下。
Google 下ARM字节对齐问题,文章很多……
相关文章推荐
- 基于ARM 的嵌入式系统程序开发要点--(四)异常处理机制的设计
- 基于ARM和WINCE的开发
- 移动开发学习第一发:基于百度地图开发地图显示时遇到的问题总结
- 【webservice】818开发webservice过程中遇到的异常
- 用PB6开发WINCE时常遇到的错误以及解决方法汇总
- MFC开发遇到的异常Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call
- 基于IQ80321和arm-linux的软件开发指南 (zz)
- 基于ARM的嵌入式Linux应用程序开发研究
- 用GNU工具开发基于ARM的嵌入式系统
- linux下搭建基于Eclipse的arm的开发环境
- 开发中遇到的hibernate异常:a different object with the same identifier value was already associated with the
- 基于ARM 的嵌入式系统程序开发要点--目录
- WINCE平台上开发OPC程序所遇到的问题和解决方案
- 基于ARM-contexA9按键驱动开发
- 基于ARM-contexA9-Linux驱动开发:如何获取板子上独有的ID号
- 用Unity开发基于Oculus Rift的体验游戏时遇到天空盒重影问题的解决方法
- 使用Myeclipse开发web项目常遇到的异常
- Eclipse插件开发中遇到的一些异常总结
- 第四课:ARM底层开发笔记之arm体系结构及异常处理
- u-boot 分析 - [嵌入式Linux系统开发技术详解-基于ARM]