编译器通常将C语言中的Switch语句编译一个查找表(Table Lookup)以便跳转到合适的入口处。
编译器一项很重要的优化功能就是对寄存器的分配。与分配在寄存器中的变量相比,分配到内存的变量访问要慢得多。所以如何将尽可能多的变量分配到寄存器,是编程时应该重点考虑的问题。
ARM C编译器支持基本的数据类型:char、short、int、long long、float和double。表14.2说明了armcc对C语言所使用的数据类型的映射。
函数设计的基本原则是使其函数体尽量的小。这样编译器可以对函数做更多的优化。
大多数的ARM处理器硬件上并不支持浮点运算。但ARM上提供了以下几个选项来实现浮点运算。
当对源代码使用不同的编译器时,可能会出现一些移植上的问题,这时可以宏将一些ARM特有的关键字“打包”。
一些嵌入式系统使用多任务的操作和控制。这些系统必须提供一种机制来保证正在运行的任务不破坏其他任务的操作。即要防止系统资源和其他一些任务不受非法访问。要达到这一目的通常有软件保护和硬件保护两种途径。这里软件保护是指仅靠软件来保护系统资源。系统中无保护硬件或硬件没启动。在多任务的系统中,通常要运行操作系统来达到任务间同步与通信。
如果微处理器要达到最佳性能,那么采用片上存储器是必需的。通常ARM处理器的主频为几十MHz到200MHz。而一般的主存储器采用动态存储器(ROM),其存储周期仅为100ns~200ns。这样指令和数据都存放在主存储器中,主存储器的速度将会严重制约整个系统的性能。在当前的时钟速度下,只有片上存储器能支持零等待状态访问速度。
随着片上系统设计变得更加精密、复杂,ARM处理器已成为包含多个处理部件和子系统的系统核心处理器。每个ARM处理器都有一个特定的指令集架构ISA,ISA随着嵌入式市场的需求而发展。每一个ISA的发布都是相后兼容的,这使得在较早的架构版本上编写的代码也可以在后续版本上执行。
为了满足目前无线网络、汽车电子和消费类电子产品不断增长的市场需要,ARM公司在ARMv6中引入新的技术和结构组成,包括增强的DSP支持和对多处理器环境的支持。
在ARM汇编语言程序里,有一些特殊指令助记符,这些助记符与指令系统的助记符不同,没有相对应的操作码,通常称这些特殊指令助记符为伪操作标识符(directive),它们所完成的操作称为伪操作。伪操作在源程序中的作用是为完成汇编程序作各种准备工作的,这些伪操作仅在汇编过程中起作用,一旦汇编结束,伪操作的使命就完成。
随着科学技术发展,物联网设备已经变得越来越智能。ARM想要通过提供芯片和硬件基础设施,让所有事物的工作更加无缝化。
Arm今日宣布收购物联网连接管理技术公司Stream Technologies。该公司专注于物联网连接管理技术,为企业提供“一次构建(BuildOnce)”方案,部署任何物联网设备,有助于企业减少物联网设备连接的时间和成本,加速物联网部署。通过此次收购, Arm Mbed 物联网设备管理平台将帮助客户专注于从连接设备中获取有效数据,加快物联网布局。
另一方面,在国人关注中兴事件的同时,ARM公司也走出了具有发展意义的一步:ARM中国合资公司已于4月底投入运营,并接管ARM在中国市场的业务。
采用无线网络技术的视频监控系统依靠其更低廉的价格、更加灵活的部署方式得到广大视频监控用户的青睐,逐渐成为视频监控技术的发展方向之一。在此结合嵌入式技术和无线视频监控技术,本文提出了一种基于嵌入式ARM技术的无线智能视频监控系统的解决方案。
嵌入式点唱机的硬件和软件系统完全根据KTV的实际需要而开发,屏蔽了电脑繁琐而无用的部分,抛弃了PC主板,采用硬件解码和播放,从原理上克服了死机的问题,做到了真正的高可靠。
本文重点针对激光焊接应用中的激光电源控制系统进行功能扩展设计,利用ARM控制激光电源的系统设置,包括开关控制、激光参数设置、光栅控制、光阀控制、温度控制等,有效地解决了激光器在焊接过程中的准确、稳定和可靠性问题,同时增设人机界面(HMI)显示控制的友好界面,使用起来更加方便。
本文接下来将就Cortex-M3/M4微控制器(MCU)的一些更有趣的(但经常遭到忽视的)特性展开详细的论述。
本设计以控制能力突出,外设接口丰富,运算速度快的ARM芯片LPC1788作为控制、数据处理核心,使用了位于AHB总线上能进行快速访问的多个GPIO口以扩展定制的宽温液晶屏,对各种信息的显示明确、清晰、实时、稳定可靠,并能在恶劣的环境中正常工作。
通常高速公路车辆检测系统由多通道环形检测单元LD4和控制单元CCU组成,本文采用PHILIPS公司最新推出的arm7内核微处理器LPC2114设计实现了车辆检测系统控制单元部分,并且和5个LD4环形检测器一起构成10通道高速公路车辆检测系统。