1.arm c编译器默认char类型是8位无符号的,与其它编译器有点不同
2.局部变量最好用int型,因为寄存器是32位的,如果变量不是32位的就需要额外的指令限制范围.
例如:变量i,操作i++ ,如果int i, 则只需add r1,r1,#1 如果char i,则变成add r1,r1,#1
and r1,r1,0xff.多了一条指令
3.循环最好用do{}while()型的,相比for(;;)型循环每次循环可以节省3条指令
4.函数参数也最好用int 型的,例如 short add(short x,short y)
编译器为了保证输入参数的是short型的会添加额外的指令,比如确保x是short型的,需要
mov r0,r0,lsr #16 mov r0,r0,asr #16
5.函数参数最好不要超过4个,因为前4个参数是通过寄存器r0-r3传递的,超过4个后的参数使用堆栈传递,速度慢多了.
6.适当的展开循环.循环有一定的开销,在一个循环中多做几遍操作,减少循环的次数可以减少循环的开销.
例如:i = 0; int i;
dodo{
{i++;
i++; i++;
}while(i<64) 改为i++;}while(i<64)
当然,这样做也增加了代码长度.
7.使用减计数到0的循环结构,这样就不用用寄存器保存终止值.
8.使用无符号的循环计数值,循环条件是i!=0,而不是i>0, 这样循环的开销只有2条指令
分享到:
相关推荐
标题《ARM高效C语言编程.pdf》所揭示的内容主要集中在如何在ARM处理器平台上进行C语言编程时进行代码优化,以提高执行速度和减小代码尺寸。ARM处理器因其高性能、低功耗和低成本等优势,在32位嵌入式系统中获得了...
在探讨“ARM嵌入式系统C语言编程”的过程中,我们首先需要理解ARM架构与嵌入式系统的概念,以及为何C语言成为了这一领域的首选编程语言。 ### ARM架构 ARM(Advanced RISC Machines)是一种基于精简指令集计算...
《ARM处理器C语言编程》一书的第六章主要聚焦于S3C2410处理器中的串口UART(Universal Asynchronous Receiver/Transmitter)及其编程技术。UART是一种广泛应用于嵌入式系统和微控制器的异步串行通信接口,允许设备...
本压缩包包含的“arm原理与c程序设计-代码”很可能是针对ARM处理器进行C语言编程的一些实例源码,旨在帮助开发者深入理解ARM架构以及如何用C语言编写高效、优化的代码。 首先,ARM架构的基础知识点包括: 1. **指令...
在嵌入式系统开发领域,ARM架构因其高效能与低功耗的特点,...以上是"ARM嵌入式系统C语言编程"中的主要知识点,通过学习和实践这些内容,开发者能够熟练地在ARM平台上进行高效的C语言编程,开发出高质量的嵌入式应用。
总的来说,《ARM嵌入式C编程标准教程》全面覆盖了ARM架构下的C语言编程基础和高级主题,结合实际案例,旨在培养读者独立设计和实现嵌入式系统的能力。无论是初学者还是有经验的开发者,都能从中受益,提升在ARM平台...
《ARM9处理器C语言编程(全).pdf》这本书应该会详细介绍以上内容,并提供实践案例和具体代码示例,帮助开发者深入理解如何在ARM9平台上有效地使用C语言进行系统级编程。 总的来说,熟练掌握ARM9的C语言编程不仅需要...
在嵌入式系统领域,基于ARM架构的C语言编程是一种常见的技术,用于开发高效、低功耗的应用。ARM(Advanced RISC Machines)处理器是全球广泛使用的微处理器设计,尤其在移动设备和物联网(IoT)中占据主导地位。C语言...
这个压缩包包含了8个ARM程序的C语言实例,对于理解ARM上的C语言编程是非常宝贵的资源。 这些实例可能涵盖了以下几个关键知识点: 1. **基础数据类型和变量**:C语言中的基础数据类型如int、char、float等在ARM上会...
ARM汇编与C语言混合编程是一种将高级语言C和低级语言汇编结合在一起的编程方式,它允许程序员在C语言中直接嵌入汇编代码,或者通过调用汇编编写的函数来执行一些特殊的操作。这种方式在嵌入式系统开发、性能要求极高...
本书从ARM处理器技术和ADS 1.2开发环境讲起,讲解ARM嵌入式C编程的方方面面,包含S3C2410片上资源、中断系统、I/O口、串口通信、触摸屏控制、实时时钟、LCD显示、DMA控制、PWM控制、看门狗电路、I2C控制、I2S控制、...
在ARM嵌入式系统上进行C语言编程,开发者将面临一系列技术挑战,包括但不限于: - **资源限制:** 嵌入式设备往往具有有限的计算能力和存储空间,要求开发者精简代码,优化算法。 - **实时性要求:** 许多嵌入式...
本书从ARM处理器技术和ADS 1.2开发环境讲起,讲解ARM嵌入式C编程的方方面面,包含S3C2410片上资源、中断系统、I/O口、串口通信、触摸屏控制、实时时钟、LCD显示、DMA控制、PWM控制、看门狗电路、I2C控制、I2S控制、...