嵌入式系统的基础知识.ppt

上传人:牧羊曲112 文档编号:6569797 上传时间:2023-11-13 格式:PPT 页数:81 大小:5.35MB
返回 下载 相关 举报
嵌入式系统的基础知识.ppt_第1页
第1页 / 共81页
嵌入式系统的基础知识.ppt_第2页
第2页 / 共81页
嵌入式系统的基础知识.ppt_第3页
第3页 / 共81页
嵌入式系统的基础知识.ppt_第4页
第4页 / 共81页
嵌入式系统的基础知识.ppt_第5页
第5页 / 共81页
点击查看更多>>
资源描述

《嵌入式系统的基础知识.ppt》由会员分享,可在线阅读,更多相关《嵌入式系统的基础知识.ppt(81页珍藏版)》请在三一办公上搜索。

1、嵌入式系统原理与设计,主讲 蔡启先,第3章嵌入式系统的基础知识,本章要点,嵌入式系统的基本知识嵌入式系统开发的相关知识,3.1 基本概念,3.2 开发相关知识,第3 章 嵌入式系统的基础知识,3.1 基本概念,存储器结构 流水线技术 CISC&RISC 大端存储和小端存储 存储器管理单元MMU BSP Bootloader和OSLoader 进程和线程,3.1.1 存储器结构,两种类型 哈佛结构和冯.诺依曼结构哈佛结构:(1)程序存储器和数据存储器相互独立,可独立编址、独立访问;(2)双总线结构;(3)取指令和访问数据可并行进行。,3.1.1 存储器结构,冯.诺依曼结构:(1)程序和数据在同一

2、存储器中,统一编址,依靠PC寄存器指示指令地址;(2)单总线结构;(3)取指令和访问数据不可并行。,其它变形结构:(1)MCS-51系列单片机:程序、数据地址线分开,数据线共用;(2)TMS320系列DSP芯片:数据存放于程序存储器中 指令存放于Cache中,三种提速技术,Cache系统并行存取(如哈佛结构、低位交叉访问等)先行缓冲技术,现代微处理器以RISC技术为基础,基于流水线技术实现指令级并行,基于多核技术实现线程级并行,基于VLSI门阵列实现控制器硬连线逻辑,使得微处理器性能大大提高,达到甚至超过上一世纪大中型计算机甚至巨型计算机的性能水平。,流水线技术,设一条指令的执行过程分为:取指

3、(取指令)、析指(分析指令)、执指(执行指令)三个阶段三个阶段都可能有访存操作,取指,析指,执指,访存取指令,分析指令,可能访存取数,执行指令,可能访存存结果,3.1.2 流水线技术,1.顺序执行方式,n条指令的执行时间:设每段时间相等都是t,则执行时间:T=3nt特点:简单,但指令执行速度慢,功能部件利用率低,取指k,析指k,执指k,取指k+1,析指k+1,执指k+1,2.重叠执行方式,T=(2+n)tnt 当n很大时,约缩短了2/3时间ARM7TDM1(-S)处理器使用3步流水,取指k,析指k,执指k,取指k+1,析指k+1,执指k+1,取指k+2,析指k+2,执指k+2,指令的重叠执行对

4、计算机组成提出什么要求,首先,要实现执指k、析指k+1与取指k+2三者重叠,硬件上必须要有相对独立的取指、分析和执行部件。需要把顺序执行方式中的一个集中的指令控制器,分解成三个功能独立的部件:存控(存储控制器)、指控(指令控制器)、运控(运算控制器)其次,要求各个功能部件的运行速度大致相等,避免在重叠中的相互等待,如图所示。这需要依靠RISC技术的支持,以及用到预处理和缓冲技术。此外还要解决三个阶段访问主存冲突问题,实现并行访存。,在微处理器中较早就有指令重叠运行的雏形。如8086处理器.,Intel 80486的6步流水线结构,取指令指令译码地址生成取操作数执行指令存储或回写结果Pentiu

5、m 4具有高达20级的超流水线和超标量流水线结构,多级重叠:子过程分解为更小的子过程,一般使每个部件的执行时间相等,虽然执行一次浮点加法仍需4 t,但4个部件同时工作,则每隔一个t就能完成一次浮点加法,速度提高3倍,一种指令流水线,浮点加法器流水线,RISC具有指令简单、规整,只有存(STORE)、取(LOAD)指令,几乎所有指令都在一个机器周期内完成,并注重编译的优化等特点,容易做到指令重叠运行时各个功能部件的运行时间相等,大大减少了重叠中功能部件的相互等待,为指令流水带来天然的支持。此外,为了更好地发挥其在流水线中的效果,RISC处理机还采用了延时转移、指令取消、重叠寄存器窗口、指令流调整

6、、硬件为主固件为辅等多种关键技术。,2.RISC对流水线技术的支持,要使流水线发挥高效率,就要使流水线连续流动,尽量不出现断流的情况。引起流水线断流的原因很多,除了编译形成的目标程序不能发挥流水结构的作用,或存储系统由于结构或频宽等原因不能源源不断地为流水线提供所需要的指令和操作数外,就是流水线中存在相关问题。相关:程序相近指令之间的某种影响指令重叠执行的关系,分为数据相关、控制相关和结构相关三类。,3.流水线相关问题的解决,(1)数据相关及其处理,如:k:OP R1,A2;R1=(R1)OP(A2)k+1:OP R1,R2;R1=(R1)OP(R2)第k+1条指令和第k条指令存在R1数据相关

7、。,3.流水线相关问题的解决,解决办法:一是采用推后处理法,即规定同时读写同一个寄存器时,写操作优先,使发生读写冲突时,读数推后一个周期或推后一个节拍。有时间浪费,实现简单,析指k,执指k,析指k+1,执指k+1,析指k+1(推后),结果写R1,需要读R1,读R1推后一个周期,执指k+1,运算器,二是设置专用数据通路:需增加硬件,通用寄存器堆,锁存器,锁存器,相关专用通路,(2)控制相关及其处理,控制相关是指由转移、条件分支、转子、中断等引起的相关。比如,如果指令K是转移指令,则顺序取来的指令k+1势必无效,重叠运行就会被打断。克服控制相关主要采用先行缓冲技术和转移预测技术。,(2)控制相关及

8、其处理,先行缓冲技术在处理器内设置了一定深度的指令缓冲栈,进行指令预取。如果转移的目标指令就在指令缓冲栈中,则无须重新取指令而直接分析执行,大大减少了控制相关带来的流水线延时。转移预测技术一般有软件猜测法和硬件猜测法。软件猜测法修改编译器,由编译器分析程序,预先调整指令顺序,尽量降低转移成功的概率,使指令尽量顺序执行。硬件猜测法利用专门的硬件电路预先对指令进行分析,跟踪程序转移的历史并预测程序可能的转移目标。现代微处理器的硬件预测准确度达到90%以上。,(3)结构相关及其处理,结构相关是指流水线中出现资源冲突问题,即出现流水线的各段在同一个时钟周期内使用相同的操作部件。例如,如果只有一个整数加

9、法运算单元,就不能有两条连续执行加法运算的指令重叠操作。要解决结构相关,必须重复设置一些功能单元,以保证指令的所有组合都能够进行流水作业。,流水线技术的进一步发展,产生了多种高性能的指令级并行处理器,如超标量处理器(Superscalar Processor)、超流水线处理器(Superpipelining Processor)和超标量超流水线处理器(Superpipelining Superscalar Processor)。所谓超标量处理机是指具有多条能同时工作的流水线。流水线级数在8级及以上的流水线处理器称为超流水线处理器,具有多条8级及以上的流水线处理器就是超标量超流水线处理器了。例如

10、Intel公司在2006年3月发布的Core2 Duo(酷睿2)双核处理器可在1个时钟周期内,同时执行128位乘法、128位加法、128位数据加载与128位数据回存,或者是4个32位单倍浮点精确度乘法与4个32位浮点单精确度加法运算。各条流水线深度达到14级。,4.超标量流水线和超级流水线,3.1.3 CISC&RISC,优化指令系统的两种不同的途径和方法复杂指令系统(CISC)精简指令系统(RISC),1 复杂指令系统(CISC),复杂指令系统(Complex Instruction Set Computer,CISC)增强指令功能,用新的复杂指令替代原由软件子程序完成的功能,实现软件功能硬

11、化的计算机系统它可从面向目标程序、面向高级语言和面向操作系统这三方面的优化来考虑。,1.目标程序的优化,思路:从时间上和空间上优化目标程序,将使用频度高的指令进行硬件加速,用新指令替代使用频度高的指令串主要途径:(1)增强数据转送指令的功能(2)增强运算型指令的功能(3)增强程序控制指令的功能,如8088指令系统中的串操作指令和带重复前缀的串操作指令。指令 REP MOVSW其功能相当于一个指令串:MVSW:MOV AX,SI MOV ES:DI,AX INC SI INC SI INC DI INC DI DEC CX JNZ MVSW,如函数运算指令。三角函数SIN(X)的计算是展开成级数

12、进行一系列四则运算的结果,如8088指令系统中的循环控制指令 LOOPNZ LBL其功能相当于执行下述一系列操作:CX-1CX 若CX0 且 ZF1 则程序转向标号LBL,否则执行下一条指令,2.对高级语言和编译程序的支持,思路:缩小高级语言和机器语言的差距,使目标程序提高时空效率主要途径:(1)增强对高级语言和编译程序支持的指令,从而达到减少目标程序长度,减少目标程序执行时间的目的。例:赋值语句、IF.Then.语句等的机器支持。(2)高级语言计算机如Lisp计算机,prolog计算机。,3.操作系统的优化,针对操作系统的功能进行直接支持(1)优化支持操作系统的指令处理机工作状态和访问方式的

13、转换进程的管理和切换存储管理和信息保护进程的同步和互斥,信号灯的管理等(2)增加专用于操作系统的指令如某些不公开的特权指令(3)把操作系统中使用频繁,对速度影响大的机构型软件子程序硬化或固化;(4)由专门的处理机来执行操作系统,形成功能分布处理系统结构。,(1)指令格式不固定,指令可长可短,操作数可多可少;(2)寻址方式复杂多样,操作数可来自寄存器,也可来自存储器;(3)采用微程序控制,执行每条指令均需完成一个微指令序列;(4)一般CPI,指令越复杂,CPI越大。,4.CISC的特点,2 精简指令系统(RISC),精简指令系统(Reduced Instruction Set Computer,

14、RISC)减少指令数目,简化指令功能,降低硬件复杂度,提高指令执行速度(1个节拍内完成)的计算机系统,RISC是80年代提出的一种新的设计思想。目前许多处理机都采用了RISC指令系统。例:Sun、ultra sparc、SGI、PowerPC、Intel 80486、Pentium 1-4等。,1.CISC的问题,(1)20%与80%规律 庞大的指令系统中大部分指令利用率低 大约20%的指令占据了80%的执行时间.事实上,频度最高的是三类指令MOV、ALU、Jump。(如对8088指令系统的统计分析),Intel8088处理机指令系统使用频度和执行时间统计(部分),(2)VLSI技术的 发展引

15、起的问题 CISC控制十分复杂,不规整,不符合VLSI发展的方向,而RISC则控制简单,而且比较规整。在CISC处理机中,大量使用微程序技术以实现CISC。(3)软硬件功能分配问题在CISC中,虽然增加了硬件指令,但并不能保证整个程序执行时间的缩短。因为这些复杂指令要消耗较多的CPU周期数,但又不常用。此外,CISC系统各种指令执行周期的复杂不一,很不适应流水线技术的发展。,精简指令集:保留最基本的,去掉复杂、使用频度不高的指令大大减少指令系统可采用寻址方式的种类,一般不超过两种。由于指令简单,可以让所有指令都在一个机器周期内完成。采用Load/Store结构,尽量减少访存,有助于大大简化指令

16、格式,统一了存储器访问方式大量设置寄存器堆 采用硬接线控制代替微程序控制注重编译的优化,2.RISC的基本设计思想,RISC结构的优势,(1)简化指令系统设计,指令格式规整同一,非常适合VLSI电路实现。(2)提高机器的执行速度和效率。(3)降低设计成本,提高了系统的可靠性。(4)可以提供直接支持高级语言的能力,简化编译程序的设计。,Load/Store结构提出:CDC6600(1963)CRAY1(1976)RISC思想最早在IBM公式提出,但不叫RISC,IBM801处理器是公认体现RISC思想的机器。D.Paterson提出RISC名词,并研制了RISC-,实验样机。J.Hemnessy

17、研制MIPS芯片(1982)。85年后推出商品化RISC:MIPS1(1986)和SPARC V1(1987)。,RISC的提出与发展,1981年,32位的RISC I 微处理器问世 特点:(1)指令简单、规整 31种指令(以数据传送、算逻运算、程序控制指令为主)、两种寻址方式、多为三地址指令、指令字长统一为32位、所有指令都在一个周期内完成。(2)大量采用寄存器 78个通用寄存器(3)只有LOAD/STORE指令访存 效果:研制周期短、性能高,现代RISC结构更注重面向寄存器结构,注重RISC对流水线高效率的支持,重视优化编译技术。,3 指令系统的优化发展方向,RISC的不足(1)加重汇编语

18、言程序设计的负担(2)目标程序所占的存储空间可能加大(3)对浮点运算和虚拟存储器的支持还不够强(4)对编译程序的质量要求较高,难度较大,为了克服这些缺点,RISC结构也在改进。例如增多微程序控制,而不是采用单纯硬联逻辑,便于支持编译和高级语言实现,增加在片主存(在CPU上集成部分主存单元)而不是增多寄存器。如何减少指令系统的指令条数、提高编码效率优化算法、提高主频、增大结构内部的操作并行性,减少指令平均执行周期,更好地支持超流水线运行,是RISC结构进一步研究和改进的方向。今后计算机发展改进的总趋势是让RISC和CISC互相结合,取长补短。,3.1.4 大端存储和小端存储,字节(Byte):8

19、位,基本单位半字(Half-Word):16位,2字节字(Word):32位,4字节,编址方式,1、对象:Register、Memory、I/O Devices;通过编址使之唯一可被访问到;2、编址单位:字、字节、位三种。(1)字编址方式:每个编址单位与设备存储器访问单位相一致,实现最简单。但不支持非数值计算,如string,char等的运算。(2)字节编址方式:Normal mode,因为编址单位=信息的基本单位。出现的问题:存放单位和访问单位不一致的问题,因此将产生如何存放数据的问题。(3)位编址方式:存储器单元的每一位都有一个地址,常用于需要位控制的场合,字节编址方式下,产生的存贮和访问

20、问题 可以从任意地址位置开始存贮和访问。无论是双字、单字、半字或字节,顺序存放,可从任一位置开始访问。优点:不浪费存贮空间;缺点:a.双字、单字或半字都可能出现跨存储单元存放情况。致使访问一个变量或存贮单位必须花费两个存储周期的时间。b.RAM的R/W控制比较复杂,Read时,要用and屏蔽取出有效的部分;Write时,要屏蔽2次完成。,解决的方法:a.无论是双字、单字、半字或字节,都必须从一个存储单元的起始地址开始存放,而这个存储单元的其它部分不用。这样,无论访问双字、单字、半字或字节,都可以在一个存储周期内完成,且读写控制简单。此法缺点是空间浪费很大。b.按整数边界存储,即从地址的整倍数位

21、置开始访问:双字地址最末3个二进制位必须是000,单字地址最末2个二进制位必须为00,半字地址最末1个二进制位必须为0。此法能够保证无论访问双字、单字、半字或字节,都可以在一个存储周期内完成。尽管有存储空间浪费和存储器读写控制较复杂的问题,但比a方式要好得多。,字节编址的存储器中,还要考虑一个存储字中的多个字节如何编码问题。存在两种排序方法:(1)小端存储(Little Endian):字节或半字的最低位字节(Lowest Significant Bit,LSB)存放于内存最低位字节地址上。即:最低地址存放最低位字节Power PC、Intel X86系列等采用(2)大端存储(Big Endi

22、an):字节或半字的最高位字节(Most Significant Bit,MSB)存放于内存最低位字节地址上。即:最低地址存放最高位字节 M68000系列、ColdFire系列等采用,另外,字节编址的计算机中,需要指令地址计数器根据访问内容的长短进行计数,如指令字长为32位,则取该指令后,指令地址计数器应加4;若是64位字长指令,则需加8。,3.1.5 存储器管理单元MMU,存储器管理单元MMU(Memory Management Unit)的功能:将虚拟地址转换为物理地址和对存储器访问权限的控制,虚拟存储器的工作原理,虚拟存储器的地址空间有三种:虚地址空间,它是应用程序员编程的地址空间,这个

23、地址空间非常大;主存地址空间,又称实存地址空间;辅存地址空间,即磁盘地址空间。,以页式虚存为例页(Page):固定大小的块(116KB)主存分页:实页 虚存分页:虚页主存地址A虚地址Av,内部地址变换U、Pp,外部地址变换(查外页表)U、P外存实地址,联机外存地址,主存页面表,页面替换算法,I/O通道,启动脱机外存,命中访问主存,选主存页,页内地址,主存,未命中,未命中,访联机外存,主存页面失效,查内页表,命中,主存未满,有空页号,主存满,主存页号,调入页,被替换页,选页,页式虚存的工作过程,虚地址Av 内部地址变换未命中 外部地址变换查外页表 命中 得到P对应的实地址 无 实页号p、d 查内

24、页表 启动脱机外存 访问主存 有空页号 无空页号 调入主存 替换调入,地址映象及地址变换,地址映像:程序装入时,建立用户虚地址与主存实地址的对应关系,便于取指令。地址变换:程序运行时,用户虚地址变换为主存实地址(内部地址变换)或辅存地址(外部地址变换),便于数据存取。三种类型的虚存:(1)段式虚拟存储器(2)页式虚拟存储器(3)段页式虚拟存储器,嵌入式操作系统MMU对虚存的管理,通过TLB(Translation Lookaside Buffers)实现虚存地址物理地址的转换机制程序的逻辑地址是虚地址进程都有各自的虚拟地址空间,映射于不同的物理页面上(便于保护共享的物理内存资源),虚存地址空间

25、分为两部分:用户空间和系统空间系统空间的保护核心模式下可访问用户空间和系统空间用户模式下只能访问用户空间进程要共享内核,必须通过系统调用接口,通过一组特殊的指令使系统进入内核态。调用完成后,由内核将系统返回用户态。用户空间的保护每个用户的空间通过地址转换映射到不同的物理存储页面上,进程只能访问自己的地址空间。,嵌入式操作系统MMU对虚存的管理,内核中维护全局数据结构和每个进程的一些对象信息,使得内核可以访问任何进程的地址空间。进程只能通过特殊的方法访问到其他进程的地址空间。进程在用户态不能访问系统空间进程访问内核,必须执行某些特殊指令,通过系统调用接口,使系统进入内核态,并将控制权交给内核,由

26、内核代替进程完成操作。系统调用完成后,内核执行特征指令返回用户态,将控制权交给进程。,3.1.6 BSP,板级开发包BSP(Board Support Packed):针对具体的开发板提供的开发软件,不同的开发板具有不同的BSP。BSP内容:(1)C/C+语言的交叉编译器(2)BootLoader程序(3)嵌入式操作系统,如Windows CE、Linux等(4)调试、下载工具,如JTAG等(5)开发板上设备的驱动程序(6)开发板相关的技术文档,3.1.7 BootLoader和OS Loader,BootLoader(启动加载器):完成系统启动和系统软件加载工作的程序,是BSP中的重要系统软

27、件。主要功能:(1)完成处理器和周边电路正常运行所需的初始化工作(2)屏蔽底层硬件的差异,便于上层应用软件的编写和移植(3)具有类似BIOS的功能,以及一定的调试、下载、网络更新等功能BootLoader程序与操作系统、CPU、内存及系统硬件相关,依赖于具体的Boader。BootLoader的开发和移植是嵌入式系统开发的重要内容之一。,OSLoader(操作系统加载器):完成操作系统载入工作的程序,在PC系统中常用,还能对多操作系统进行载入管理。PC机上的BIOS+OSLoader相当于嵌入式系统中的BootLoader,3.1.8 进程和线程,进程:正在运行的应用程序的一个实例。由两部分组

28、成:(1)操作系统用来管理该进程的内核对象(2)该进程拥有的地址空间(应用程序的代码段、静态数据段、堆栈,非片内执行的DLL)一个进程由一个或多个线程组成。一个线程是一个执行单元,它控制CPU执行进程中某一段代码段。一个线程可以访问这个进程中所有的地址空间和资源。一个进程最少包含一个线程来执行代码,这个线程又叫做主线程。,进程间通信与进程、任务和线程的同步,进程进程定义了一个顺序执行的程序及其状态。进程在运行期间的状态是通过其状态(运行、阻塞或者完成)、进程控制块PCB或者进程结构(他的数据、对象及资源)等来表示。进程由操作系统内核调度,进程通过执行指令来运行,其状态的连续改变由PCB的程序计

29、数器来监控。应用程序可定义为由进程和不同状态下的进程行为所组成的程序,任务 应用程序也可定义为由任务和不同状态下的任务行为所组成的程序。任务是在操作系统调度内核控制下,在CPU上运行的运算或者行为的集合。它在存储器上有一种进程结构:任务控制块。它具有惟一的ID号。在系统中,任务具有如下状态:空闲、就绪、运行、阻塞和完成。如果任务有无限等待循环,则可能再次进入到就绪状态。多任务操作系统是通过不同任务之间的上下文切换实现的,(1)任务是独立的,相互之间不能调用。(2)每个任务都有一个ID号。(3)在某一时刻,任务有自己的程序计数器、虚拟堆栈指针,即所谓任务的上下文。(4)每个任务都有自己的TCB标

30、识,保存了当前时刻的程序计数器信息、存储器映射、信号(消息)发送表、信号屏蔽、任务ID、CPU状态(寄存器、程序计数器和CPU栈指针)和内核栈的存储器块。(5)每个任务都有自己的优先级参数。(6)每个任务都有自己的上下文记录,反映OS阻塞某个任务,并将另一个任务初始化为运行状态之前的CPU状态。每个任务都还有自己的初始上下文参数context_init。,(7)每个任务可编写成无限的事件等待循环。(8)在任意时刻,每个任务都处于下列某一状态:空闲:任务初始化之前的事件等待循环状态。就绪:退出事件等待循环,准备执行的状态所需事件已经发生。运行阻塞(等待):保存上下文,暂时挂起。如等待键盘输入或文

31、件输入。(9)任务完成后返回空闲状态或就绪状态。(10)每个任务要么必须是一个可载入例程,要么必须能共享数据。,线程多任务操作系统运行多个进程。一个进程包括一个或多个线程。线程定义了调度程序调度CPU和其他系统资源的最小单位。线程具有自己的程序计数器、堆栈指针与堆栈、用于线程调度的优先级参数,以及进行上下文切换时,装入处理器寄存器中的变量。在内核中,线程具有自己的信号屏蔽。未被屏蔽时,激活线程并使之运行;被屏蔽时,线程被放入处于挂起状态的线程队列中。一个进程的不同线程可以共享该进程的通用结构。多线程可以共享该进程的数据。在应用程序中,线程是一个轻量级的子进程或者进程,受操作系统内核控制。在存储

32、器中,线程具有一个进程结构,称为线程堆栈。线程有唯一的ID号。在系统中,线程具有启动、运行、阻塞和完成。,3.2 开发相关知识,ICE和ICD 其它硬件调试工具 JTAG 编译器和交叉编译器 模拟器和仿真器,3.2.1 ICE和ICD,ICE(In-Circuit Emulator):在线仿真器。ICD(In-Circuit Debugger):在线调试器。,ICE:仿真处理器芯片的行为,提供丰富的调试功能。如单步、断点执行;实现实时运行;跟踪功能。ICE包括软件部分和硬件部分特点:实时仿真调试,应用广泛,但价格昂贵。常见的ICE有:单片机仿真器、ARM的JTAG在线处理器,ICD:ICE的简

33、化调试工具软件,较多利用模拟方式取得与ICE类似的效果。特点:成本低,但实时调试较难实现。使用ICD的前提:被调试的处理器内部必须有调试功能和相应接口。,3.2.2 其它硬件调试工具,ROM Monitor(ROM监视器)ROM Emulator(ROM仿真器),3.2.3 JTAG,JTAG 标准:JTAG(Joint Test Action Group,联合测试行动组)起草了边界扫描测试(Boundary Scan Testing,BST)规范,1990年成为IEEE1149.1规定,简称JTAG 标准。边界扫描(Boundary Scan):对芯片调试时,应用边界扫描寄存器将芯片和外围的

34、输入输出隔离,通过边界扫描寄存器的状态测试,实现对芯片输入输出信号的观察和控制。,TAP(Test Access Port),通用的测试端口。包括5个信号接口:(1)TCK(Test Clock Input):提供独立的的基本的时钟输入信号(2)TMS(Test Mode Selection Input):输入信号,可控制TAP在不同的状态间相互转换。(3)TDI(Test Data Input):数据串行输入接口。(4)TDO(Test Data Output):数据串行输出接口。(5)TRST(Test Reset Input):对TAP Controller复位(初始化)的输入信号,JT

35、AG调试器,JTAG 调试器:具有TAP接口的调试器。可完成程序的下载、运行和调试JTAG接口引脚 主要信号:TCK、TMS、TDI、TDO、TRST,3.2.4 编译器和交叉编译器,编译器:将源程序翻译为机器语言目标代码。常用的编译器:Borland C,Visual C+,C+Builder及Linux环境下的GCC等。编译器的应用环境应与编译器适配。交叉编译器(Cross Compiler):在本机(开发机)上编译出能在目标机上运行的目标程序。如:GCC for ARM,单片机开发工具Keil C,ARM开发工具ADS(ARM Developer Suite),3.2.5 模拟器和仿真器

36、,模拟(Simulate)用软件方法,在A机上模拟执行B机的指令系统,A机称为宿主机,B机称为虚拟机。所谓软件方法,实际上通过A机指令模拟B机指令的功能以及B机的操作系统、输入输出控制等功能。仿真(Emulate)A机对B机指令系统的指令解释直接由A机的微程序解释执行,从而实现对 B机的指令、操作系统、输入输出控制等仿真。A机称为宿主机,B机称为目标机。仿真必须有相应的软硬件。,模拟器(Simulator):对目标系统的软件模拟,在宿主机上完成对目标机的调试。但速度比目标机要慢,实时性差。一般调试软件都带有模拟器。如:Keil C51带有单片机的模拟器;ADS中自带ARM环境的模拟器等。软件环境模拟器:模拟目标软件环境。仿真器(Emulator):针对不同目标机和宿主机就有相应的专用的硬件仿真器。便于实时仿真调试,如ICE、ICD等。,第3章作业,P435(写在书上)10(写在书上)其它作为思考题,谢谢学习第3章,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号