嵌入式ARM系统原理与实例开发(第二版).ppt_第1页
嵌入式ARM系统原理与实例开发(第二版).ppt_第2页
嵌入式ARM系统原理与实例开发(第二版).ppt_第3页
嵌入式ARM系统原理与实例开发(第二版).ppt_第4页
嵌入式ARM系统原理与实例开发(第二版).ppt_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、嵌入式ARM系统原理与实例开发,北京大学出版社出版 杨宗德编著 2007年7月,1,2,ARM处理器概述,ARM硬件体系结构,3,ARM处理器内部结构,第2章嵌入式ARM处理器与开发工具,4,开发工具与开发流程介绍,2020/7/31,北京大学出版社出版,3,ARM Ltd,成立于1990年11月 前身为 Acorn计算机公司 Advance RISC Machine(ARM) 主要设计ARM系列RISC处理器内核 授权ARM内核给生产和销售半导体的合作伙伴 ARM 公司不生产芯片 IP(Intelligence Property) 另外也提供基于ARM架构的开发设计技术 软件工具, 评估板,

2、 调试工具,应用软件, 总线架构, 外围设备单元,等等,2020/7/31,北京大学出版社出版,4,ARM,Partner,OEM Customer,ARM的业务模型,2020/7/31,北京大学出版社出版,5,命名的含义,1,2,ARM处理器概述,ARM硬件体系结构,3,ARM处理器内部结构,第2章嵌入式ARM处理器与开发工具,4,开发工具与开发流程介绍,冯诺依曼体系结构模型,指令寄存器,控制器,数据通道,输入,输出,中央处理器,存储器,程序,指令0,指令1,指令2,指令3,指令4,数据,数据0,数据1,数据2,哈佛体系结构,指令寄存器,控制器,数据通道,输入,输出,中央处理器,程序存储器,

3、指令0,指令1,指令2,数据存储器,数据0,数据1,数据2,地址,指令,地址,数据,CISC和RISC,CISC:复杂指令集(Complex Instruction Set Computer) 具有大量的指令和寻址方式 8/2原则:80%的程序只使用20%的指令 大多数程序只使用少量的指令就能够运行。,RISC:精简指令集(Reduced Instruction Set Computer) 在通道中只包含最有用的指令 确保数据通道快速执行每一条指令 使CPU硬件结构设计变得更为简单,2020/7/31,北京大学出版社出版,10,ARM处理器的指令三级流水线,2020/7/31,北京大学出版社出

4、版,11,ARM处理器的指令五级流水线,1,2,ARM处理器概述,ARM硬件体系结构,3,ARM处理器内部结构,第2章嵌入式ARM处理器与开发工具,4,开发工具与开发流程介绍,2020/7/31,北京大学出版社出版,13,ARM710 结构框图,2020/7/31,北京大学出版社出版,14,ARM7功能图,2020/7/31,北京大学出版社出版,15,ARM920功能结构图,2020/7/31,北京大学出版社出版,16,S3C2410内部结构图,2020/7/31,北京大学出版社出版,17,Intel PXA270应用系统框图 示例,1,2,ARM处理器概述,ARM硬件体系结构,3,ARM处理

5、器内部结构,第2章嵌入式ARM处理器与开发工具,4,开发工具与开发流程介绍,2020/7/31,北京大学出版社出版,19,嵌入式软件开发的特点和技术挑战,嵌入式软件开发需要软硬件开发环境和工具 嵌入式软硬件必须协同设计 需要新的任务设计方法 开发过程完成后,系统应用程序代码需要固化到系统中并进行功能、性能和可靠性测试 技术挑战:软件的要求更高,开发工作量和难度更大,需要较大的知识集合,2020/7/31,北京大学出版社出版,20,嵌入式软件开发环境,1)交叉开发环境 交叉开发软件一般为一个整合编辑、编译、汇编、链接、调试、工程管理及函数库等功能模块的集成开发环境IDE(Intergrated

6、Development Environment)。 所谓交叉是指在一种CPU及其环境上开发另一种CPU及其环境上运行的程序。,2020/7/31,北京大学出版社出版,21,嵌入式软件开发环境,2)软件模拟环境 软件模拟环境也称为指令集模拟器ISS(Instruction Set Simulator) 软件模拟不可能完全代替真正的硬件环境,这种模拟调试只能作为一种初步调试,主要是用作用户程序的模拟运行,用来检查语法、程序的结构等简单错误,用户最终还必须在真实的硬件环境中实际运行调试,完成整个应用的开发。,2020/7/31,北京大学出版社出版,22,嵌入式软件开发环境,3)评估电路板 一般用来作

7、为开发者使用的开发平台、学习板、实验板,它们可以作为应用目标板出来之前的软件测试、硬件调试的电路板,2020/7/31,北京大学出版社出版,23,嵌入式应用软件开发的基本流程,基于交叉开发环境的嵌人式应用软件开发主要分如下几个步骤:开发环境的建立、源代码编辑阶段、交叉编译和链接、重定位和下载、联机调试几个基本阶段。 开发环境建立 源文件编辑阶段 编译 链接 下载 调试,2020/7/31,北京大学出版社出版,24,嵌入式软件开发的可移植性和可重用性,在确保软件的正确性、实时性的前提下,必须关注软件的可移植性和可重用性。 嵌入式软件与通用软件的不同在于嵌入式应用软件高度依赖于目标应用的软硬件环境

8、,软件的部分任务功能函数由和处理器密切相关的汇编语言完成,可移植性差。 一个运行良好的嵌入式软件或其中的部分子程序可能在今后的开发中被应用于类似的应用领域。原有的代码已被反复应用和维护,具有更好的稳定性。在原有的代码上进行移植将会减少开发的周期、提高开发效率、节约开发成本,2020/7/31,北京大学出版社出版,25,嵌入式软件开发的可移植性和可重用性,采用下面的方法可以提高应用软件的可移植性和可重用性。 多用高级语言少用或者不用汇编语言 将不可移植部分局域化 提高代码的可重用性(标准化接口),2020/7/31,北京大学出版社出版,26,嵌入式开发的考虑要素,复杂计算与资源紧缺 用户界面的选

9、择 实时性 多任务多速率 制造成本 功耗 成品的体积,2020/7/31,北京大学出版社出版,27,嵌入式开发的基本流程,系统定义与需求分析 系统设计方案的初步确立 初步设计方案性价比评估与方案评审论证 完善初步方案、初步方案实施 软硬件集成测试 系统功能性能测试及可靠性测试,2020/7/31,北京大学出版社出版,28,常用嵌入式系统软件开发工具,面向硬件的开发工具 如ADS 嵌入式操作系统开发 如GCC 面向特定操作系统的应用开发工具,2020/7/31,北京大学出版社出版,29,底层开发 使用ADS软件开发流程及调试方式图,2020/7/31,北京大学出版社出版,30,嵌入式操作系统开发

10、,GCC系列工具 嵌入式操作系统多用C/C+开发,因此,要编译操作系统内容,一般都使用GCC系列工具。 GCC可以用来编译uClinux、Linux、 ECOS、uC/OS-II等操作系统。,2020/7/31,北京大学出版社出版,31,面向特定操作系统的应用工具,WinCE应用软件开发:如果选用的操作系统为WinCE,则应用软件需要选择WinCE的Embeded VC开发环境。 Symbian应用程序开发:如果开发Symbian手机应用程序,则Symbian应用程序开发选择的是Symbian的C/C+集成开发环境。 Linux应用程序开发:如果开发的是Linux应用程序,则选择的开发工具是L

11、inux程序开发工具(GCC/G+/GDB/Makefile)。,2020/7/31,北京大学出版社出版,32,Linux交叉编译调试环境开发程序过程,2020/7/31,北京大学出版社出版,33,Linux交叉编译调试环境开发程序过程,(1)程序首先在宿主机(安装与应用目标板同样内核的Linux操作系统)编辑编译,生成可执行文件。 (2)通过网络共享方式将该程序共享给目标板,因为此处是开发Linux应用程序,目标板已经移植了Linux操作系统,因此,可以充分利用Linux操作系统强大的网络功能,通过共享的方式的原因一方面是减少下载程序的时间,另一方面也是因为目标板资源有很,尽可能少占用目标板

12、资源的考虑。 (3)通过Linux操作系统远程登陆方式登陆到目标板Linux,并在目标板上运行交叉调试服务器,然后在目标板上运行共享到目标板的Linux应用程序。 (4)通过交叉调用器终端访问目标板的交叉调试服务器,将该程序的运行结果反馈到宿主机上,查看运行结果是否正确。,2020/7/31,北京大学出版社出版,34,ADS1.2软件环境开发流程,2020/7/31,北京大学出版社出版,35,ARM命令参数说明 (1.armasm汇编编译指令,),此命令用来编译汇编程序,其命令格式: armasm 选项 -o 目标文件 源文件 参数选项说明如下: -Errors错误文件名 ;指定一个错误输出文

13、件 -I目录 ,目录 ;指定源文件搜索目录 -PreDefine预定义宏 ;指定预定义的宏 -NOCache ;编译源代码时禁止使用Cache进行优化 -MaxCache ;编译源代码时使用Cache进行优化 -NOWarn;关闭所有的警告信息 -G ;输出调试表 -keep ;在目标文件中保存本地符号表 -LIttleend ;生成小端(Little-endian)ARM代码 -BIgend ;生成大端(Big-endian)ARM代码 -CPU ;设立目标板ARM核类型,如: arm920t -16 ;建立16位的thumb指令 -32 ;建立32位的ARM指令 编译一个汇编文件命令示例如

14、下: c:armasm -LIttleend -cpu ARM920T -32 test.s,2020/7/31,北京大学出版社出版,36,2.armcc/armcppC/C+编译器,armcc用来编译C程序,armcpp用来编译C+程序,其命令格式如下: 1. 命令:armcc 选项 源文件1 源文件2 . 源文件n 这两个命令的选项说明如下: -c ;编译但是不连接 -D;指定一个编译时使用的预定义宏常量 -E ;仅仅对C源文件做预处理 -g ;产生调试信息表 -I ;指头文件的搜索路径 -o;指定一个输出的目标文件 -O0/1/2 ;指定源代码的优化级别 -S ;输出汇编代码来代替目标文

15、件 -CPU ;设立目标板ARM核类型,如arm920t 编译一个C程序命令示例如下: c:armcc -c -O1 -cpu ARM920T test.c,2020/7/31,北京大学出版社出版,37,3.armlink链接器,此命令用来链接目标文件,其命令格式如下: armlink 选项 输入文件 此命令选项参数说明如下: -partial ;合并目标文件 -Output 文件 ;指定输出文件名 -scatter 文件 ;按照指定的文件为可执行文件建立内存映射 -ro-base 地址值 ;只读代码段的起始地址 -rw-base 地址值;RW/ZI段的起始地址 示例 c:armlink -partial bdmain.o bdport.o bdserial.o bdmmu.o bdisr.o -o testd.o c:armlink bd.o bdinit.o -scatter bdscf.scf -o test.axf,2020/7/31,北京大学出版社出版,38,4.frome

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论