《嵌入式ARM处理器与开发工具.ppt》由会员分享,可在线阅读,更多相关《嵌入式ARM处理器与开发工具.ppt(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、嵌入式ARM系统原理与实例开发(第二版)嵌入式ARM系统原理与实例开发北京大学出版社出版杨宗德编著2007年7月嵌入式ARM系统原理与实例开发(第二版)1 12 2ARM处理器概述处理器概述 ARM硬件体系结构硬件体系结构 3 3ARM处理器内部结构处理器内部结构 第2章嵌入式ARM处理器与开发工具 4 4开发工具与开发流程介绍开发工具与开发流程介绍 嵌入式ARM系统原理与实例开发(第二版)ARM Ltd成立于1990年11月前身为 Acorn计算机公司Advance RISC Machine(ARM)主要设计ARM系列RISC处理器内核授权ARM内核给生产和销售半导体的合作伙伴ARM 公司不
2、生产芯片IP(Intelligence Property)另外也提供基于ARM架构的开发设计技术软件工具,评估板,调试工具,应用软件,总线架构,外围设备单元,等等12/29/20223北京大学出版社出版嵌入式ARM系统原理与实例开发(第二版)授权费IPARM 创造和设计IP产品,例如:芯片Partner把ARM IP 和其他 IP 集成进产品版权费单价OEM 用来自ARM Partner的芯片设计制造最终用户产品业务拓展/市场格局ARMARM的业务模型的业务模型12/29/20224北京大学出版社出版嵌入式ARM系统原理与实例开发(第二版)命名的含义标志含义说明T支持Thumb指令集Thumb
3、指令集版本1:ARMv4TThumb指令集版本2:ARMv5TThumb-2:ARMv6TD片上调试M支持长乘法32位乘32位得到64位,32位的乘加得到64位IEmbedded ICEEDSP指令增加了DSP算法处理器指令:16位乘加指令,饱和的带符号数的加减法,双字数据操作,cache预取指令JJava加速器Jazelle提高java代码的运行速度S可综合提供VHDL或Verilog语言设计文件12/29/20225北京大学出版社出版嵌入式ARM系统原理与实例开发(第二版)1 12 2ARM处理器概述处理器概述 ARM硬件体系结构硬件体系结构 3 3ARM处理器内部结构处理器内部结构 第2
4、章嵌入式ARM处理器与开发工具 4 4开发工具与开发流程介绍开发工具与开发流程介绍 嵌入式ARM系统原理与实例开发(第二版)冯冯诺依曼体系结构模型诺依曼体系结构模型指令寄存器指令寄存器控制器控制器数据通道数据通道输入输入输出输出中央处理器中央处理器存储器存储器程序程序指令指令0 0指令指令1 1指令指令2 2指令指令3 3指令指令4 4数据数据数据数据0 0数据数据1 1数据数据2 2嵌入式ARM系统原理与实例开发(第二版)哈佛体系结构哈佛体系结构指令寄存器指令寄存器控制器控制器数据通道数据通道输入输入输出输出中央处理器中央处理器程序存储器程序存储器指令指令0指令指令1指令指令2数据存储器数据
5、存储器数据数据0数据数据1数据数据2地址地址指令指令地址地址数据数据嵌入式ARM系统原理与实例开发(第二版)CISC和和RISCCISCCISC:复杂指令集(:复杂指令集(Complex Instruction Set ComputerComplex Instruction Set Computer)具有大量的指令和寻址方式具有大量的指令和寻址方式8/28/2原则:原则:80%80%的程序只使用的程序只使用20%20%的指令的指令大多数程序只使用少量的指令就能够运行。大多数程序只使用少量的指令就能够运行。RISCRISC:精简指令集(:精简指令集(Reduced Instruction Set
6、 Computer)Reduced Instruction Set Computer)在通道中只包含最有用的指令在通道中只包含最有用的指令确保数据通道快速执行每一条指令确保数据通道快速执行每一条指令使使CPUCPU硬件结构设计变得更为简单硬件结构设计变得更为简单 嵌入式ARM系统原理与实例开发(第二版)ARM处理器的指令三级流水线 12/29/202210北京大学出版社出版嵌入式ARM系统原理与实例开发(第二版)ARM处理器的指令五级流水线12/29/202211北京大学出版社出版嵌入式ARM系统原理与实例开发(第二版)1 12 2ARM处理器概述处理器概述 ARM硬件体系结构硬件体系结构 3
7、 3ARM处理器内部结构处理器内部结构 第2章嵌入式ARM处理器与开发工具 4 4开发工具与开发流程介绍开发工具与开发流程介绍 嵌入式ARM系统原理与实例开发(第二版)ARM710 结构框图 12/29/202213北京大学出版社出版嵌入式ARM系统原理与实例开发(第二版)ARM7功能图 12/29/202214北京大学出版社出版嵌入式ARM系统原理与实例开发(第二版)ARM920功能结构图 12/29/202215北京大学出版社出版嵌入式ARM系统原理与实例开发(第二版)S3C2410内部结构图 12/29/202216北京大学出版社出版嵌入式ARM系统原理与实例开发(第二版)Intel P
8、XA270应用系统框图 示例12/29/202217北京大学出版社出版嵌入式ARM系统原理与实例开发(第二版)1 12 2ARM处理器概述处理器概述 ARM硬件体系结构硬件体系结构 3 3ARM处理器内部结构处理器内部结构 第2章嵌入式ARM处理器与开发工具 4 4开发工具与开发流程介绍开发工具与开发流程介绍 嵌入式ARM系统原理与实例开发(第二版)嵌入式软件开发的特点和技术挑战嵌入式软件开发需要软硬件开发环境和工具 嵌入式软硬件必须协同设计 需要新的任务设计方法 开发过程完成后,系统应用程序代码需要固化到系统中并进行功能、性能和可靠性测试 技术挑战:软件的要求更高,开发工作量和难度更大,需要
9、较大的知识集合 12/29/202219北京大学出版社出版嵌入式ARM系统原理与实例开发(第二版)嵌入式软件开发环境1)交叉开发环境 交叉开发软件一般为一个整合编辑、编译、汇编、链接、调试、工程管理及函数库等功能模块的集成开发环境IDE(Intergrated Development Environment)。所谓交叉是指在一种CPU及其环境上开发另一种CPU及其环境上运行的程序。12/29/202220北京大学出版社出版嵌入式ARM系统原理与实例开发(第二版)嵌入式软件开发环境2)软件模拟环境 软件模拟环境也称为指令集模拟器ISS(Instruction Set Simulator)软件模拟
10、不可能完全代替真正的硬件环境,这种模拟调试只能作为一种初步调试,主要是用作用户程序的模拟运行,用来检查语法、程序的结构等简单错误,用户最终还必须在真实的硬件环境中实际运行调试,完成整个应用的开发。12/29/202221北京大学出版社出版嵌入式ARM系统原理与实例开发(第二版)嵌入式软件开发环境3)评估电路板 一般用来作为开发者使用的开发平台、学习板、实验板,它们可以作为应用目标板出来之前的软件测试、硬件调试的电路板 12/29/202222北京大学出版社出版嵌入式ARM系统原理与实例开发(第二版)嵌入式应用软件开发的基本流程基于交叉开发环境的嵌人式应用软件开发主要分如下几个步骤:开发环境的建
11、立、源代码编辑阶段、交叉编译和链接、重定位和下载、联机调试几个基本阶段。开发环境建立 源文件编辑阶段编译 链接 下载 调试 12/29/202223北京大学出版社出版嵌入式ARM系统原理与实例开发(第二版)嵌入式软件开发的可移植性和可重用性 在确保软件的正确性、实时性的前提下,必须关注软件的可移植性和可重用性。嵌入式软件与通用软件的不同在于嵌入式应用软件高度依赖于目标应用的软硬件环境,软件的部分任务功能函数由和处理器密切相关的汇编语言完成,可移植性差。一个运行良好的嵌入式软件或其中的部分子程序可能在今后的开发中被应用于类似的应用领域。原有的代码已被反复应用和维护,具有更好的稳定性。在原有的代码
12、上进行移植将会减少开发的周期、提高开发效率、节约开发成本 12/29/202224北京大学出版社出版嵌入式ARM系统原理与实例开发(第二版)嵌入式软件开发的可移植性和可重用性 采用下面的方法可以提高应用软件的可移植性和可重用性。多用高级语言少用或者不用汇编语言 将不可移植部分局域化 提高代码的可重用性(标准化接口)12/29/202225北京大学出版社出版嵌入式ARM系统原理与实例开发(第二版)嵌入式开发的考虑要素复杂计算与资源紧缺用户界面的选择实时性多任务多速率制造成本功耗成品的体积12/29/202226北京大学出版社出版嵌入式ARM系统原理与实例开发(第二版)嵌入式开发的基本流程系统定义
13、与需求分析 系统设计方案的初步确立 初步设计方案性价比评估与方案评审论证 完善初步方案、初步方案实施 软硬件集成测试 系统功能性能测试及可靠性测试 12/29/202227北京大学出版社出版嵌入式ARM系统原理与实例开发(第二版)常用嵌入式系统软件开发工具 面向硬件的开发工具如ADS嵌入式操作系统开发如GCC面向特定操作系统的应用开发工具 12/29/202228北京大学出版社出版嵌入式ARM系统原理与实例开发(第二版)底层开发 使用ADS软件开发流程及调试方式图 12/29/202229北京大学出版社出版嵌入式ARM系统原理与实例开发(第二版)嵌入式操作系统开发GCC系列工具嵌入式操作系统多
14、用C/C+开发,因此,要编译操作系统内容,一般都使用GCC系列工具。GCC可以用来编译uClinux、Linux、ECOS、uC/OS-II等操作系统。12/29/202230北京大学出版社出版嵌入式ARM系统原理与实例开发(第二版)面向特定操作系统的应用工具 WinCE应用软件开发:如果选用的操作系统为WinCE,则应用软件需要选择WinCE的Embeded VC开发环境。Symbian应用程序开发:如果开发Symbian手机应用程序,则Symbian应用程序开发选择的是Symbian的C/C+集成开发环境。Linux应用程序开发:如果开发的是Linux应用程序,则选择的开发工具是Linux
15、程序开发工具(GCC/G+/GDB/Makefile)。12/29/202231北京大学出版社出版嵌入式ARM系统原理与实例开发(第二版)Linux交叉编译调试环境开发程序过程 12/29/202232北京大学出版社出版嵌入式ARM系统原理与实例开发(第二版)Linux交叉编译调试环境开发程序过程(1)程序首先在宿主机(安装与应用目标板同样内核的Linux操作系统)编辑编译,生成可执行文件。(2)通过网络共享方式将该程序共享给目标板,因为此处是开发Linux应用程序,目标板已经移植了Linux操作系统,因此,可以充分利用Linux操作系统强大的网络功能,通过共享的方式的原因一方面是减少下载程序
16、的时间,另一方面也是因为目标板资源有很,尽可能少占用目标板资源的考虑。(3)通过Linux操作系统远程登陆方式登陆到目标板Linux,并在目标板上运行交叉调试服务器,然后在目标板上运行共享到目标板的Linux应用程序。(4)通过交叉调用器终端访问目标板的交叉调试服务器,将该程序的运行结果反馈到宿主机上,查看运行结果是否正确。12/29/202233北京大学出版社出版嵌入式ARM系统原理与实例开发(第二版)ADS1.2软件环境开发流程 12/29/202234北京大学出版社出版嵌入式ARM系统原理与实例开发(第二版)ARM命令参数说明(1.armasm汇编编译指令,)此命令用来编译汇编程序,其命
17、令格式:armasm 选项-o 目标文件 源文件参数选项说明如下:-Errors错误文件名;指定一个错误输出文件-I目录,目录;指定源文件搜索目录-PreDefine预定义宏;指定预定义的宏-NOCache;编译源代码时禁止使用Cache进行优化-MaxCache ;编译源代码时使用Cache进行优化-NOWarn;关闭所有的警告信息-G;输出调试表-keep;在目标文件中保存本地符号表-LIttleend;生成小端(Little-endian)ARM代码-BIgend;生成大端(Big-endian)ARM代码-CPU ;设立目标板ARM核类型,如:arm920t-16;建立16位的thum
18、b指令-32;建立32位的ARM指令编译一个汇编文件命令示例如下:c:armasm-LIttleend-cpu ARM920T-32 test.s12/29/202235北京大学出版社出版嵌入式ARM系统原理与实例开发(第二版)2.armcc/armcppC/C+编译器armcc用来编译C程序,armcpp用来编译C+程序,其命令格式如下:1.命令:armcc 选项 源文件1 源文件2.源文件n这两个命令的选项说明如下:-c;编译但是不连接-D;指定一个编译时使用的预定义宏常量-E;仅仅对C源文件做预处理-g;产生调试信息表-I;指头文件的搜索路径-o;指定一个输出的目标文件-O0/1/2;指
19、定源代码的优化级别-S;输出汇编代码来代替目标文件-CPU ;设立目标板ARM核类型,如arm920t编译一个C程序命令示例如下:c:armcc-c-O1-cpu ARM920T test.c12/29/202236北京大学出版社出版嵌入式ARM系统原理与实例开发(第二版)3.armlink链接器此命令用来链接目标文件,其命令格式如下:armlink 选项 输入文件此命令选项参数说明如下:-partial;合并目标文件-Output 文件;指定输出文件名-scatter 文件 ;按照指定的文件为可执行文件建立内存映射-ro-base 地址值;只读代码段的起始地址-rw-base 地址值;RW/
20、ZI段的起始地址示例c:armlink-partial bdmain.o bdport.o bdserial.o bdmmu.o bdisr.o-o testd.oc:armlink bd.o bdinit.o-scatter bdscf.scf-o test.axf12/29/202237北京大学出版社出版嵌入式ARM系统原理与实例开发(第二版)4.fromelf此命令从axf格式文件生成一个二进制可执行文件。其命令格式如下:fromelf 选项 输入文件此命令选项说明如下:-bin 二进制文件名;产生的二进制文件-elf elf文件名;产生一个elf文件-text text文件名;产生text文件产生一个可执行的二进制代码示例如下:c:fromelf test.axf bin o test.bin此命令从test.axf生成二进制文件test.bin。12/29/202238北京大学出版社出版嵌入式ARM系统原理与实例开发(第二版)开发平台介绍 12/29/202239北京大学出版社出版