基于ARM7TDMI的S3C44B0X嵌入式微处理器技术刘彦文编著高等院校信息技术规划教材本课件的配套教材《基于ARM7TDMI的S3C44B0X嵌入式微处理器技术》刘彦文清华大学出版社2009/04本课件的使用方法两种教案:48学时教案:1,2,3,5,7,8,9,10,11,13章64学时教案:加选4,6,12,14章第1章嵌入式系统概述本章重点:⑴嵌入式系统定义、组成和特点;⑵嵌入式微处理器分类、主流嵌入式微处理器介绍;⑶ARM系列处理器核的命名规则、性能和版本;⑷嵌入式操作系统主要特点;⑸目前较为流行的嵌入式操作系统简介。1.1嵌入式系统简介1.1.1嵌入式系统应用举例家庭中使用的嵌入式产品办公室中的嵌入式产品手持设备MP3、GPS手持机、数码相机、数码摄像机、个人数字助理(PersonalDigitalAssistant,PDA)等。汽车电子产品中的嵌入式产品军事、航空、航天领域中的嵌入式产品其他领域,如工业控制和仪器仪表、通信、网络、移动计算、机器人、智能玩具等。1.1.2嵌入式系统定义和组成⒈嵌入式系统定义嵌入式系统目前被国内普遍认同的定义是:以应用为中心、以计算机技术为基础,软、硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。⒉嵌入式系统组成嵌入式系统典型组成如图1.1所示。硬件层中间层软件层功能层1.1.3嵌入式系统特点⑴与应用密切相关⑵实时性⑶复杂的算法⑷制造成本⑸功耗⑹开发和调试⑺可靠性⑻体积1.2嵌入式微处理器1.2.1嵌入式微处理器分类嵌入式系统硬件部分的核心是嵌入式微处理器,广义上可以将其分为4类,如图1.2所示。⒈嵌入式微控制器嵌入式微控制器(EmbeddedMicrocontrollerUnit,EMU),通常也称微控制器(MicroControllerUnit,MCU)或单片机。单片机芯片内通常集成了某种处理器内核、少量的ROM/RAM存储器、总线控制逻辑、各种必要的功能模块,以及某些外设或外设接口电路。⒉嵌入式数字信号处理器嵌入式数字信号处理器(EmbeddedDigitalSignalProcessor,EDSP),有时也简称DSP,是专门用于嵌入式系统的数字信号处理器。嵌入式DSP是对普通DSP的系统结构和指令系统进行了特殊设计,使其更适合DSP算法、编译效率更高、执行速度更快。⒊嵌入式微处理器嵌入式微处理器(EmbeddedMicroProcessorUnit,EMPU),也称嵌入式微处理器单元。⑴通用微处理器⑵嵌入式微处理器⒋嵌入式片上系统嵌入式片上系统(EmbeddedSystemOnChip,ESOC),简称SOC。1.2.2主流嵌入式微处理器介绍嵌入式微处理器由处理器核和不同功能模块组成。微处理器可以被设计成具有多种不同功能、满足不同用户对速度、功耗不同需求的多种处理器核,由芯片生产商将这些核和各种不同功能模块,例如DMAC、中断控制器、LCD控制器、存储器控制器、A/D转换器、USB接口等等,集成到同一个微处理器芯片中。有些公司仅仅从事嵌入式微处理器的设计开发,如ARM公司;有些公司既从事设计开发,又制造芯片。⒈ARM/StrongARM是英文AcornRISCMachine的缩写。ARM公司是全球领先的16/32位RISC微处理器知识产权(IntellectualProperty,IP)设计供应商,ARM公司通过转让高性能、低成本、低功耗的RISC处理器、外围和系统芯片技术给合作伙伴,使他们能够用这些技术生产各具特色的芯片。ARM公司并不生产芯片,而是通过转让设计许可证,由合作伙伴生产各种型号的微处理器芯片,目前ARM的合作伙伴在全世界已经超过100个,许多著名的半导体公司与ARM公司有着合作关系。ARM公司系列产品主要有ARM7、ARM9、ARM9E、ARM10E、SecurCore和ARM11等。其中ARM7TDMI是嵌入式处理器的主力产品之一。本书介绍的三星公司S3C44B0X嵌入式微处理器,就是采用了ARM7TDMI核。StrongARM和XScale系列产品在各种嵌入式系统中同样得到了广泛的应用。StrongARM是基于ARM核设计的微处理器。⒉MIPSMIPS是MicroprocessorwithoutInterlockedPipelineStages的缩写,意思为内部无互锁流水线微处理器。MIPS也是一种处理器的内核标准。MIPS体系结构具有良好的可扩展性,并且能够满足超低功耗微处理器的需求。近年来,MIPS公司开发了高性能、低功耗的32位处理器内核MIPS3224KE系列,产品广泛用于机顶盒、DVD刻录机、MODEM、IP电话、数码相机、蜂窝电话、视频游戏机、路由器、激光打印机、复印机、扫描仪等产品。⒊PowerPCPowerPC微处理器早期由IBM、Motorola和Apple公司共同投资开发,生产了PowerPC601(1994年)、602(1995年)、604(1995年)和620(1997年)。此后PowerPC微处理器由IBM公司和Motorola公司分别生产。目前,IBM公司的PowerPC微处理器芯片产品有4个系列,分别是4XX综合处理器、4XX处理器核、7XX高性能32位微处理器和9XX超高性能64位微处理器。由此可见,PowerPC系列微处理器的品种较多,既有通用处理器,又有嵌入式控制器和内核,应用范围也非常广泛,从高端工作站、服务器到桌面计算系统,从消费类电子产品到大型通信设备,都有着广泛的应用。比较典型的基于PowerPC结构的嵌入式微处理器有IBM公司的PowerPC405GP和Motorola公司的PowerPCMPC823e等。⒋其他嵌入式微处理器Intel公司基于x86处理器核的嵌入式微处理器GeodeSP1SC10、Motorola公司的68xxx、Compaq公司的Alpha、HP公司的PARISC、Sun公司的Sparc等嵌入式微处理器也有着广泛的应用。1.3ARM系列嵌入式微处理器介绍⒈ARM系列处理器核体系结构的命名规则基于ARM的微处理器芯片,一般是由不同的处理器核、多个功能模块和可扩展模块组成。功能模块分别由字母T、D、M、I、E、J、F、S等表示。可扩展模块一般有:DMAC、中断控制器、实时时钟、脉宽调制定时器、LCD控制器、存储器控制器、UART、看门狗定时器、GPIO、功耗管理模块等,这些可扩展模块可以由芯片制造商选择。ARM处理器核通常指由不同的CPU内核和功能模块所组成的核。ARM系列处理器核体系结构的命名规则,首先是由“ARM”开头,后面跟着若干字母后缀,描述体系结构的版本和选择使用的功能模块,可扩展模块不包括在内。命名规则通常表示如下:ARM{x}{y}{z}{T}{D}{M}{I}{E}{J}{F}{-S}上述命名规则中,大括号中表示的内容是可选择的。命名规则中ARM以后各后缀的含义见表1.1。表1.1ARM系列处理器核体系结构命名规则中各后缀的含义后缀含义x系列号,如ARM7、ARM9、ARM10y含有内存管理或保护单元,如ARM72、ARM92z含有cache,如ARM720、ARM920T含有Thumb指令解码器,支持Thumb指令集,如ARM7TD含有JTAG调试器,支持Debug,支持片上调试M含有硬件快速乘法器,如ARM7MI含有内嵌的在线调试宏单元(embeddedICEmacrocell)硬件部件,提供片上断点和调试点支持,如ARM7TDMIE表示支持增强型DSP指令J含有JAVA加速器JazelleF含有向量浮点单元S可以综合版本,以源代码形式提供的,可被EDA工具使用命名规则还有一些附加的信息:ARM7TDMI之后设计、开发的内核,即使不标出“TDMI”,也默认包含了支持TDMI的功能模块;JTAG是由IEEE1149.1标准,即测试访问端口和边界扫描结构来描述的,它是ARM与测试设备之间,接收和发送处理器内核调试信息的一系列协议;内嵌的在线调试宏单元是建立在处理器内部,用来设置断点和观察点的硬件调试点。另外,对于2005年以后ARM公司投入市场的ARMv7体系结构的处理器核,命名规则有所改变,名称以“ARMCortex”开头,之后附加字母“-A”、“-R”或“-M”,表示该处理器核的适用领域,随后还有一个数字,表示产品顺序号,如ARMCortex-A8、ARMCortex-M3、ARMCortex-R4。⒉ARM系列处理器核的性能目前使用的ARM系列处理器核的品种共有20多种,共同点是:字长32位、RISC结构、附加16位的Thumb指令集。这些核得到了众多嵌入式操作系统的支持。表1.2中列出了ARM系列中一些典型的核以及它们的主要性能。表1.2见参考书。表1.2中MMU表示存储器管理单元,MPU表示存储器保护单元。表1.2中DSP与命名规则中后缀字母“E”对应,表示支持增强型DSP指令。表1.2中ARM11系列的ARM1176JZ(F)-S处理器使用了TrustZone技术。表1.2中Jazelle表示含有Java加速器,提供了直接执行Java指令的功能。从ARM11系列开始,处理器体系结构中增添了JazelleRCT(RuntimeCompilerTarget,运行时编译器目标)技术。对Java程序的即时编译和预编译,可以节省30%以上的代码存储空间。表1.2中Thumb表示含有Thumb指令解码器。ARM体系结构除了支持执行效率很高的32位ARM指令集外,含有Thumb指令解码器的处理器还支持16位的Thumb指令集。ARM1156T2(F)-S是首批含有ARMThumb-2内核的产品,支持Thumb-2指令集。⒊ARM系列处理器核的体系结构的版本及指令系统特点⑴体系结构的版本ARM系列处理器核的体系结构的不同版本,支持的指令集不同。体系结构的版本从v1发展到现在的v7,同一版本的体系结构使用相同的指令集。早期的处理器核,ARM1的版本是v1、ARM2的版本是v2、ARM6和ARM7的版本是v3,这些版本现在已经很少使用。目前广泛使用的是v4版到v7版,处理器核的体系结构的不同版本见表1.3。表1.3处理器核的体系结构的不同版本处理器核版本ARM7TDMI、ARM710T、ARM720T、ARM740Tv4TARM7EJ-Sv5TEJStrongARM、ARM8、ARM810v4ARM9TDMI、ARM920T、ARM922T、ARM940Tv4TARM9E-S、ARM946E-S、ARM966E-Sv5TEARM926EJ-Sv5TEJARM10TDMI、ARM1020E、ARM1022E、ARM1026EJ-Sv5TEARM1036J-Sv6ARM11、ARM11562-S、ARM1156T2F-S、ARM11JZF-Sv6ARMCortex-A8、ARMCortex-R4、ARMCortex-M3v7⑵各版本体系结构对应的指令系统的主要特点各版本体系结构对应的指令系统的主要特点见表1.4。表1.4各版本体系结构对应的指令系统主要特点版本主要特点v4v4Tv4T是v4增加了Thumb指令集的版本。v4版ARM指令集指令寻址范围为32位;指令除了支持32位的字读/写外,还支持半字读和写、支持读取带符号字节和半字数据。对v4T,指令支持在ARM/Thumb状态之间切换;增加了处理器管理方式(supervisormode);提供了嵌入宏单元,即所谓的跟踪接口v5TEv5TEJv5TE和v5TEJ中的T、E、J分别表示增加了Thumb指令集、支持DSP指令和含有Jazelle。该结构提高了ARM/Thumb状态之间切换的效率,增加了一个前导零计数(CountLeadingZero,CLZ)指令;增加了软件断点指令BRK;为协处理器设计者增加了更多的可选择的指令;定义了乘法指令如何设置标志v6平均取指令和取数据花费的时间减少;因Cache未命中造成的等待时间减少;总的内存管理性