微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 嵌入式软件开发之: 基于ARM处理器的嵌入式系统设计

嵌入式软件开发之: 基于ARM处理器的嵌入式系统设计

时间:10-18 来源:互联网 点击:

安装数据中断异常处理程序(Data Abort Handler)。出现非对齐存取时,程序进入数据中断处理程序,并由此识别位于返回地址(在LR中保存的地址)减8(r14-8)的出错数据存取指令。

一旦出现数据中断异常,必须通过改变C源程序来修复非对齐的数据访问。使用下列指令可有条件地完成修复:

#ifdef __arm

#define PACKED __packed

#else

#define PACKED

#endif

:

PACKED int *pi;

:

由于代码大小和性能上的开销,最好尽可能少采用存取非对齐数据。

ARM编译器支持--pointer_alignment和--min_array_alignment与内存对齐相关的编译选项,详见ARM相关文档。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top