ARM应用技术是抛去操作系统,面向ARM自身的应用技术,总的来讲可以分为三部分:ARM体系结构应用、ARM最小系统应用和ARM外设(外围接口)应用。ARM体系结构应用包含比较多的模块,下面逐个解析。

    ARM体系结构应用-RTC应用,很多ARM CPU本身都自带RTC单元,但并不是所有的RTC都设计合理。RTC本身用于时间的记录,如果保持供电就可以实现时间的“永”不丢失属性,这可是非常常用的嵌入式部件,无论是工业定时还是在手机时间显示或者是闹钟功能都大量使用。不过RTC只有不断电才能保证时间的连续性,如果重新上电(对RTC供电而言不是对ARM处理器),通常需要矫正一下时间,有些ARM处理器提供的RTC没有提供独立供电接口,硬件掉点重起就需要矫正时间,这种情况下如果有网络,就可以通过网络时间服务器作为校准源,当没有网络或者是对时间要求比较严格时就需要外扩RTC(如DS1337);有些ARM本身提供RTC提供独立供电接口(如S3C2440),这样就可以直接采用自带的RTC,外接独立供电池。在需要时间的应用情况下,根据ARM处理器合理设计RTC单元是RTC应用的关键(自带的不一定是合乎需求的)。

    ARM体系结构应用-协处理器2D/3D加速器的应用,2D/3D加速器通常是某些ARM的特色部分,2D可以加速2维图形图象的处理,在Framebuffer的双Buffer机制中,使用2D加速可以消除图形图象的抖动;3D加速器可以用于3维图形图象的处理,就是处理立体画面,像iphone中的图象大部分都是采用3D加速器技术进行的处理,ARM中3D加速器就象PC机中的GPU,本身就是为3维图形图象处理而生。ARM中集成的3D加速器大部分都是PowerVR架构,包括iphone,使用的图形库是OpenGL ES,想开发ARM上的三维游戏最好了解这些知识。

    ARM体系结构应用-协处理器FPU的应用,FPU浮点处理器不是ARM处理器的必须,但有些ARM处理器自带FPU浮点处理器,这样对浮点数处理就非常的快速。如果没有自带FPU浮点处理器通常使用的是软件浮点库,把浮点数分割成整数处理,这样就消耗比较多的CPUMIPS数。所以在特殊应用的情况下使用带FPU浮点处理器将可以带来性能的提升。

    ARM体系结构应用-协处理器SIMD应用,SIMD严格来讲并不是协处理器,而应该称为SIMD加速指令,它的意思是一个指令周期可以同时操作多个数,这在多媒体运算中有很大的优势,如可以加速矩阵运算(色彩空间转换YUV-RGB)、DCT/IDCT(图象编解码中的核心算法)转换等,有些ARM处理是采用这种方式来提高对多媒体(如视频编解码)的处理能力。

    ARM体系结构应用-协处理器DSP和HW CODEC应用,使用SIMD有一定的多媒体处理能力,但这种能力有限,如不能解码高清的视频(1080P),这时一个比较好的方式是使用DSP和HW CODEC。使用HWCODEC的好处是功耗相对低,缺点是对各种编码格式视频的兼容性不好;使用DSP的好处是对各种编码格式视频的兼容性较好,当需要支持新的编码格式时,只需要修改软件就可以实现,灵活性强,缺点是攻耗较大。有的情况下,为了获取更高的多媒体处理能力还会集成多个DSP,或者为HW CODEC配上另外一个ARM核作逻辑控制用,这中方式就是目前常说的双核或者多核处理器 。从另外层面来说,双核或者多核处理器并不是X86 CPU的专利,ARM的世界也普遍存在这种现象。

    ARM体系结构应用-协处理器Jazelle应用,Jazelle是JAVA语言的加速器,可以加速Java指令的执行,Java属于解析语言并不翻译成机器语言,不能直接在ARM上运行,需要JVM虚拟机来运行Java指令,在JVM虚拟机运行导致了Java程序执行效率不高,为了改善这一缺点,Jazelle单元可以直接把Java指令转换成ARM指令或者直接通过硬件来执行,这样大大提高了Java程序的执行效率,Google 手机操作系统Android的Java虚拟机(Dalvik)就使用了这种ARM自带的硬件加速技术。

《体系结构应用》至此已经解析完毕。

(作者 冯青华 信庭嵌入式工作室-主管 Blog:http://blog.csdn.net/fqheda )

<转载请注名来路>

信庭嵌入式工作室-ARM应用技术之体系结构应用(下)相关推荐

  1. 32位ARM嵌入式处理器的调试技术

    32位ARM嵌入式处理器的调试技术 https://blog.csdn.net/bekars/article/details/611072 摘要:针对32位ARM处理器开发过程中调试技术的研究,分析了 ...

  2. 【嵌入式】ARM技术博客汇总

    00. 目录 文章目录 00. 目录 01. 开发环境 02. ARM汇编 03. ARM裸板 04. 内核驱动 05. 项目实践 06. 问题专区 07. 参考链接 08. 附录 01. 开发环境 ...

  3. 嵌入式linux实时化技术,嵌入式Linux实时化技术

    引言 Linux支持PowerPC.MIPS.ARM.DSP等多种嵌入式处理器,逐渐被用于多种关键性场合.其中实时多媒体处理.工业控制.汽车电子等特定应用对Linux提出了强实时性需求.Linux提供 ...

  4. 嵌入式知识-ARM裸机-学习笔记(9):SD卡启动详解(S5PV210)

    嵌入式知识-ARM裸机-学习笔记(9):SD卡启动详解(S5PV210) 一.SD卡介绍 1. SD卡背景知识和特点 SD卡.MMC卡.MicroSD.TF卡:这些卡其实内部就是Flash存储颗粒,比 ...

  5. 嵌入式典型ARM处理器介绍以及分类

    笔者电子信息专业硕士毕业,获得过多次电子设计大赛.大学生智能车.数学建模国奖,现就职于南京某半导体芯片公司,从事硬件研发,电路设计研究.对于学电子的小伙伴,深知入门的不易,特开次博客交流分享经验,共同 ...

  6. 嵌入式:ARM体系结构详解

    文章目录 指令集与指令集架构 主要计算机指令集架构 PC及服务器领域 嵌入式领域 新生代 ARM体系结构的演变 ARM发展的历程 指令集与指令集架构 指令:就是指挥计算机工作的命令,程序就是一系列按一 ...

  7. 【ARM】ARM接口技术

    0开发工具的使用 1安装keil4 2运行MDK411EXE安装 3选择好要安装的目的位置 4安装完成并运行 5安装JLink驱动 6运行测试例程验证开发板是否OK 1自己做一个例子 1新建一个项目 ...

  8. ARM 虚拟化技术简介

    一. 虚拟化技术 二. 虚拟化技术的比较         2.1 全虚拟化和二进制重写(Pure virtualization and binary rewriting)         2.2 半虚 ...

  9. 嵌入式linux的调试技术

    本章介绍了嵌入式linux的调试技术,例如,设置断点.逐步跟踪代码.输出调试信息等. Printk函数用于打印内核调试信息,运行在内核空间,printf函数运行在用户空间.Printk文件是一个简单的 ...

  10. Android深度探索(卷1)HAL与驱动开发 心得体会 第十章 嵌入式Linux的调用技术

    Android深度探索(卷1)HAL与驱动开发 心得体会 第十章  嵌入式Linux的调用技术 对于复杂的Linux驱动以及HAL等程序库,需要使用各种方法对其进行调试.例如,设置断点,逐步跟踪代码. ...

最新文章

  1. 谈谈Android重打包--雷区
  2. 前端开发模式--MV*
  3. 生成和合入patch的两种方式
  4. c语言快速排序案例,什么是快速排序?C语言数组快速排序例子
  5. 浏览器工作原理(四):浏览器事件解读
  6. C语言typedef小结1(转载自百度百科)
  7. [Swift]LeetCode1118. 一月有多少天 | Number of Days in a Month
  8. matlab机械手ikine函数,关于Mtalab-robotics工具箱中的fkine和ikine两个函数的问题讨论!...
  9. 学会了CopyOnWriteArrayList可以再多和面试官对线三分钟
  10. Oracle分析函数用法
  11. 推荐5款心仪的电脑软件
  12. python 矩阵特征值分解_特征值分解和奇异值分解
  13. C程序设计第五版谭浩强课后答案 第八章习题答案
  14. 线性代数系列讲解第七篇 正交向量及正交空间
  15. windows 睡眠倒计时_如何在手机上设置音乐睡眠计时器
  16. 周末作业-循环练习题(未完)
  17. uvm_barrier
  18. Newcomer先生的blog中文版的志愿者翻译已经招募
  19. RocketMQ入门及部署
  20. 2021爱智先行者—记录一次 Spirit 1 和 IoT Pi 开发板的实战经历

热门文章

  1. Linux中命令行中EOF的用法
  2. 【GNSS】GREAT多频多系统GREAT-UPD开源代码-第三章 中间及结果文件格式
  3. 芯片流片(晶圆制造)工艺服务的流程。 细节详解连载
  4. 12 | 腾讯云代码分析快速部署
  5. edge里bing必应搜索不了解决办法
  6. php图片颤抖,PHP-使用jquery 怎么做出图片的震荡效果
  7. 用c语言做一个栈,完成逆波兰表达式
  8. 2022中式面点师(高级)考试模拟100题及在线模拟考试
  9. MongoDB凭什么跻身数据库排行前五?
  10. matlab sor解线性方程组,解线性方程组的SOR迭代法及其MATLAB实现.pdf