首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

ARM嵌入式软件编程经验谈

ARM嵌入式软件编程经验谈

A R M 系列处理器是R I S C(R e d u c d e d I n s t r u c t i o n S e tComputing)处理器。很多基于ARM的高效代码的程序设计策略都源于RIS C处理器。和很多R I S C处理器一样,A R M系列处理器的内存访问,也要求数据对齐,即存取“字(Wo rd)”数据时要求四字节对齐,地址的b i t s[1:0]==0b00;存取“半字(Half words)”时要求两字节对齐,地址的bit[0]==0b0;存取“字节Byte)”数据时要求该数据按其自然尺寸边界(Natural Size Boundary)定位。
     A R M编译程序通常将全局变量对齐到自然尺寸边界上,以便通过使用L D R和S T R指令有效地存取这些变量。这种内存访问方式与多数C I S C(C o m p l e xInstruction Set Computing)体系结构不同,在CISC体系结构下,指令直接存取未对齐的数据。因而,当需要将代码从CISC体系结构向 A R M 处理器移植时,内存访问的地址对齐问题必须予以注意。在R I S C体系结构下,存取未对齐数据无论在代码尺寸或是程序执行效率上,都将付出非常大的代价。
    本文将从以下几个方面讨论在A R M体系结构下的程序设计问题。

  查看全文:ARM嵌入式软件编程经验谈
返回列表