嵌入式技术及应用 教学课件 ppt 作者 曹金玲 第三章
10页1、第3章 利用C语言开发嵌入式系统,本章主要内容,3.1 C语言与汇编语言的比较 3.2应用C语言开发ARM入门,3.1 C语言与汇编语言的比较,ARM处理器支持两种语言进行设计,一种是汇编语言(ARM/Thumb),另一种是高级语言(如C/C+语言)。汇编语言的机器代码生成效率很高,但可读性却不强,复杂的程序很难读懂;而高级语言在大多数情况下其机器代码生成效率较差,但可读性和可移植性却比汇编语言强很多,而且还可以嵌入汇编来解决高效性的代码编写问题。由于本章的重点是C语言开发嵌入式系统,所以本节只就ARM的汇编指令集做一个概括性介绍。,3.1 C语言与汇编语言的比较,利用汇编语言开发ARM系统底层驱动 ARM的汇编指令包括32位的ARM指令集和16位的Thumb指令集。ARM指令集效率高,代码密度低,而Thumb指令集具有更好的代码密度,却保持ARM的大多数性能上的优势,它是ARM指令集的子集(注:代码密度是单位存储空间中包含的指令的个数。举例说明,ARM指令是32位的,而Thumb指令是16位的,如果在1K的存储空间中,可以放32条ARM指令,但是可以放64条Thumb指令,因此存放T
2、humb指令时,代码密度高)。ARM程序和Thumb程序可相互调用,它们之间的状态切换开销几乎为零。,3.1 C语言与汇编语言的比较,利用C语言开发ARM底层驱动 C语言是目前常用编程语言中结合底层硬件最好的高级语言。C语言应用在嵌入式开发中的特点是代码效率较高而执行效率较低。之所以C语言的执行效率较低时因为用C语言编写的ARM底层驱动在通过软件编译时会生成相应的汇编代码,汇编代码再被编译为机器码由ARM处理器执行。C程序转换为汇编程序这个过程是由编译软件自动完成的,用户无法对其进行干涉,所以一条C程序究竟转换为多少汇编代码在一般情况下是不知道的,所以用户无法根据指令周期对程序运行的精确时间进行估计,分析由汇编语言编写的简单延迟代码和用C语言中for循环编写的简单延迟代码就是很好的例证。 虽然相对于汇编语言,C语言的执行效率较低,但是ARM9处理器的速度非常快(百兆级),S3C2410A的最高速度就可达266MHz。一般非高速应用,这个级别的速度都能满足需要,所以C语言所带来的代码上的开销基本可以忽略不计。如果一定要求对程序的关键地方做时间上的严格控制,可以采取C语言和汇编语言混合编程
《嵌入式技术及应用 教学课件 ppt 作者 曹金玲 第三章》由会员E****分享,可在线阅读,更多相关《嵌入式技术及应用 教学课件 ppt 作者 曹金玲 第三章》请在金锄头文库上搜索。
逍遥游复习 知识点整理
近现代法德关系史 高三展示课3稿
当代大学生人生信仰及追求的调查研究
长相思 纳兰性德-ppt课件
课件:危机意识 一
英语ppt演讲关于阿甘正传
发达国家基础教育改革的动向与趋势 修改版
中国民间美术 课件.ppt
生物质发电技术与系统 课程ppt 第1章 生物质发电技术现状及发展趋势 2学时 -----2016
现代信号处理思考题 含答案
执业药师继续教育 抑郁症的药物治疗 100分
小学生的成长档案模板不用修改 万能型
增订六版 现代汉语 上册 第二章文字 思考与练习答案
国家财政ppt课件
加拿大英语介绍
六年级统计图的选择课件
中学生成长档案ppt
中国现代文学史期末复习整理
lohi和hihilo训练对女子赛艇运动员运动能力影响的比较研究
风雨贾平凹阅读答案
2024-04-11 25页
2024-04-11 37页
2024-04-11 28页
2024-04-11 31页
2024-04-11 36页
2024-04-11 29页
2024-04-11 22页
2024-04-11 27页
2024-04-11 34页
2024-04-11 32页