首页|嵌入式系统|显示技术|模拟IC/电源|元件与制造|其他IC/制程|消费类电子|无线/通信|汽车电子|工业控制|医疗电子|测试测量
首页 > 分享下载 > 消费类电子 > 基于ARM的嵌入式系统程序开发要点(六)——开发高效程序的技...

基于ARM的嵌入式系统程序开发要点(六)——开发高效程序的技...

资料介绍
基于ARM的嵌入式系统程序开发要点(六)——开发高效程序的技巧产业技术与信息

I ND US TR Y TE CH &I NF O

基于 ARM 的嵌入式系统程序开发要点(六)
                  ― ―开发高效程序的技巧
■ ARM 中国   费浙平

开发高效率的程序涉及很多方面, 包括编程风格、 算法实现、 针对目标的特殊优化等。 这部分主要从 A R M 的体系结构特点出发, 介绍几个程序开发中的注 意点。

在 3 2 位的寄存器中进行符号扩展,其中带符号的变量, 要用逻辑左移(L S L ) 接算术右移(A S R ) 两条指令才 能完成符号扩展 ; 无符号的变量, 要使用一条逻辑与 (A N D) 指令对符号位进行清零。 所以, 使用 32 位的 i n t 或 unsigned int局部变量最有效率。
int wordinc (int a) { return a + 1; } short shortinc (short a) { return a + 1; } wordinc ADD a1,a1,#1 MOV PC,LR shortinc ADD a1,a1,#1 MOV a1,a1,LSL #16 MOV a1,a1,ASR #16 MOV PC,LR



变量定义
变量定义虽然很简单, 但是也有很多值得注意的地

方。 先看下面一个例子:
char short char int a; b; c; d; char char short int a; c; b; d;

这里定义的 4 个变量形式都一样, 只是次序不同, 却 导致了在最终映像中不同的数据布局, 如图 1 所示。显 然, 第二种方式节约了更多的存储器空间。

char charinc (char a) { return a + 1; }

charinc ADD a1,a1,#1 AND a1,a1,#&ff MOV PC,LR
基于ARM的嵌入式系统程序开发要点(六)——开发高效程序的技...
本地下载

评论