整理嵌入式系统原理及设计复习要点考试_第1页
整理嵌入式系统原理及设计复习要点考试_第2页
整理嵌入式系统原理及设计复习要点考试_第3页
整理嵌入式系统原理及设计复习要点考试_第4页
整理嵌入式系统原理及设计复习要点考试_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、精品文档填空题每空1分,共15分十一、 选择题每题2分,共20分十二、 简做题5小题,共35分 十三、综合应用题2题,共30 分知识点:第1章嵌入式系统概述1. 嵌入式系统的分类:四类 P5嵌入式微处理器、微限制器、dsp处理器、片上系统2. 嵌入式操作系统根本概念:前后台系统、内核、占先式内核、非占先式内核、中断P7-10前后台系统:对基于芯片的开发来说,应用程序一般是一个无限的循环 ,可称为前后台系统或超循环系统.内核:多任务系统中,内核负责治理各个任务,或者说为每个任务分配CPU时间,并且负责任务之间的通信.内核提供的根本效劳是任务切换.使用实时内核可以大大简化应用系统的设计,是由于实时

2、内核允许将应用分成假设干个任务,由实时内核来治理它们.内核需要消耗一定的系统资源,比方2%5%的CPU运行时间、RAM和ROM等.非占先式内核:非占先式内核要求每个任务自动放弃CPU的所有权.非占先式调度法也称作 合作型多任务,各个任务彼此合作共享一个CPU.异步事件还是由中断服务来处理.中断效劳可以使一个高优先级的任务由挂起状态mount变为就绪状态.但中断效劳以后限制权还是回到原来被中断了的那个任务,直到该任务主动放弃CPU的使用权时,那个高优先级的任务才能获得CPU的使用权.占先式内核:当系统响应时间很重要时,要使用占先式内核.最高优先级的任务一旦就绪,总能得到 CPU的限制权.当一个运

3、行着的任务使一个比它优先级高的任务 进入了就绪状态,当前任务的CPU使用权就被剥夺了,或者说被挂起了,那个高优先级的任务马上得到了 CPU的限制权.如果是中断效劳子程序使一个高优先级的任务进 入就绪态,中断完成时,中断了的任务被挂起,优先级高的那个任务开始运行.中断:中断是一种硬件机制,用于通知CPU有个异步事件发生了.中断一旦被识别,CPU保存局部或全部上下文即局部或全部存放器的值,跳转到专门的子程序, 称为中断效劳子程序ISR.中断效劳子程序做事件处理,处理完成后,程序回到:1. 在前后台系统中,程序回到后台程序;2. 对非占先式内核而言,程序回到被中断了的任务;3. 对占先式内核而言,让

4、进入就绪态的优先级最高的任务开始运行.精品文档第2早ARM7体 系 结 构1. ARM7TDMI: T、D、M、I 分别代表什么P19T:支持高密度16位的Thumb指令集;D:支持片上调试M :支持64位乘法I:支持Embeded ICE硬件仿真功能模块;2. 存储器的字与半字P20ARM处理器使用了 冯?诺依曼Von Neumann结构,指令和数据共用一条 32位 总线,只有装载、存储和交换指令可以对存储器中的数据进行访问.从偶数地址开始的连续 2个字节构成一个半字;以能被4整除的地址开始的连续4个字节构成一个字;ARM指令的长度刚好是一个字,Thumb指令的长度刚好是一个半字.3. 3级

5、流水线 P2022取值译码执行a取值从存储器装载一条指令;b译码识别将要被执行的指令;c执行处理指令并将结果写回存放器无论ARM处理器处于何种状态,程序计数器 R15 即PC总是指向“正在取值的指 令.习惯上约定将“正在执行的指令作为参考点,称之为当前第1条指令.因此,PC总是指向第3条指令,或者说PC总是指向当前正在执行的地址在加上2条指令的地址.ARM与Thumb指令下的 PC值当处理器处于 ARM状态时,每条指令长为4字节,所以PC的值为正在执行的指令地址 加字节,即:卩.值=当前程序执行位置+8字节当处理器处于 Thumb状态时,每条指令长为 2字节,所以PC的值为正在执行的指令 地址

6、加4字节,即:卩.值=当前程序执行位置+4字节4. ARM指令集与Thumb指令集、ARM处理器的两种状态及状态的切换P2425ARM7TDMI处理器内核包含 2套指令系统,分别为 ARM指令集和Thumb指令 集,并且各自对应1种处理器的状态:ARM状态:32位,处理器执行字方式的 ARM指令,处理器默认为此状态; Thumb状态:16位,处理器执行半字方式的 Thumb指令.注意:两个状态之间的切换并不影响处理器模式或存放器内容 以“当前程序状态存放器 CPSR中的限制位T反映处理器正在操作的状态,即 哪种指令集正在执行.5. 当T=0时,处理器处于 ARM状态,执行 ARM指令;6. 当

7、T=1时,处理器处于 Thumb状态,执行 Thumb指令.7. ARM处理器的7种模式用户模式、特权模式P26ARM体系结构支持7种处理器模式,分别为:用户模式、快速中断模式、中断模式、 治理模式、中止模式、未定义模式和系统模式.这样的好处是可以更好的支持操作系统 并提升工作效率.ARM7TDMI完全支持这七种模式.除用户模式外,其它模式均为特权模式. 特权模式允许对 CPSR的完全读/写访问;用 户模式只允许只允许对CPSR 的限制位进行读访迥 _,但允许对条件标志位的读 _ /写访I'问.此外,特权模式可以自由的切换处理器模式,而用户模式不能直接切换到别的模式.8. ARM内部存

8、放器:31个通用32位存放器、6个状态存放器 P27在ARM处理器内部共有37个用户可访问的存放器,分别为31个通用32位存放器 和6个状态存放器.9. Thumb状态下的存放器P34Thumb状态存放器集是ARM状态集的子集,程序员可以直接访问的存放器为:a8个通用存放器R0R7;b堆栈指针SF;c链接存放器LR;d程序计数器PC;e当前程序状态存放器CPSR.10. 当前程序状态存放器:模式位、状态位、FIQ禁止、IRQ禁止 P37ARM内核包含1个CPSR和5个仅供异常处理程序使用的SPSR CPSR反映当前处理器的状态,其包含:a4个条件代码标志负标志N、零标志Z、进位标志C和溢出标志

9、V ;b2个中断禁止位IRQ禁止与FIQ禁止;c5个对当前处理器模式进行编码的模式位M4:0;d1个用于指示当前执行指令的状态位ARM指令还是Thumb指令.11. 异常的返回指令:FIQ和IRQP40快速中断SUBS PC,R14_fiq,#4R14- 4中断SUBS PC,R14rq,#4R14- 412.异常向量表IRQ FIQ、复位 P40地址异常进入时的模式进入时 态I的状进入时F的状 态0x0000 0000复位治理禁止禁止0x0000 0018IRQ中断禁止F0x0000 001cFIQ快速中断禁止禁止13.异常中断的进入与退出P4142异常的进入:当一个异常导致模式切换时,内核

10、自动的做如下处理: 将异常处理程序的返回地址保存到相应异常模式下的LR;将CPSR的当前值保存到相应异常模式下的SPSR设置CPSR为相应的异常模式;设置PC为相应异常处理程序的中断入口向量地址,跳转到相应的异常中断处理程序执 行;异常的退出:当异常处理程序结束时,异常处理程序必须:返回到发生异常中断的指令的下一条指令处执行,即就是说将LR中的值减去偏移量后移入PC;将SPSR的值复制回CPSR清零在入口处置位的中断禁止标志.14. ARM处理器支持的存储格式:大端格式和小端格式P49 PPT80小端存储器系统:在小端格式中,数据的高字节存放在高地址中. 大端存储器系统:在大端格式中,数据的高

11、字节存放在低地址中第1. ARM处理器的八种寻址方式3存放器寻址早操作数的值在存放器中, 指令中的地址码字段指出的是存放器编号,指令执行时直接取出存放器值来操作.存放器寻址指令举例如下:AMOV R1,R2;将R2的值存入 R1RSUB R0,R1,R2;将R1的值减去 R2的值,结果保存到 R0M立即寻址7立即寻址指令中的操作码字段后面的地址码局部即是操作数本身,也就是说,数据T就包含在指令当中,取出指令也就取出了可以立即使用的操作数这样的数称为立即数.立即寻址指令举例如下:DSUBS R0,R0,#1;R0减1,结果放入 R0,并且影响标志位MIMOVR0,#0xFF000 ;将立即数Ox

12、FFOOO装入R0存放器存放器移位寻址(存放器移位寻址是 ARM指令集特有的寻址方式.当第2个操作数是存放器移位方-S式时,第2个存放器操作数在与第 1个操作数结合之前, 先进行移位操作.存放器移位)寻址指令举例如下:指MOVR0,R2,LSL #3;R2的值左移 3位,结果放入 R0,即是令;R0=R2 X 8系ANDS R1,R1,R2,LSL R3 ;R2的值左移 R3位,然后和 R1 相 与操作,统;结果放入R1存放器间接寻址存放器间接寻址指令中的地址码给出的是一个通用存放器的编号,所需的操作数保存在奇存器指疋地址的存储单兀中,即奇存器为操作数的地址指针.奇存器间接寻址指令举例如下:L

13、DR R1,R2;将R2指向的存储单元的数据读出保存在R1中SWPR1,R1,R2;将存放器R1的值和R2指定的存储;单兀的内容交换基址寻址基址寻址就是将基址存放器的内容与指令中给出的偏移量相加,形成操作数的有效地址.基址寻址用于访问基址附近的存储单兀,常用于查表、数组操作、功能部件存放 器访问等.基址寻址指令举例如下:LDR R2,R3,#0x0C;读取R3+0X0C地址上的存储单元;的内容,放入R2STR R1,R0,#-4!;先 R0=R0-4,然后把 R1 的值存放;到保存到R0指定的存储单元多存放器寻址多存放器寻址一次可传送几个存放器值,允许一条指令传送16个存放器的任何子集或所有存

14、放器.多存放器寻址指令举例如下:LDMIA R1!,R2-R7,R12将R1指向的单元中的数据读出到;R2R7、R12中R1自动加4STMIA R0!,R2-R7,R12;将存放器 R2R7、R12 的值保;存到R0指向的存储单元中;R0自动加4堆栈寻址STMFD SP!,R1-R7,LR将R1R7、LR入栈,满递减堆栈LDMFD SP!,R1-R7,PC数据出栈,放入 R1R7、PC存放器,;满递减堆栈相对寻址相对寻址是基址寻址的一种变通.由程序计数器PC提供基准地址,指令中的地址码字段地址标号作为偏移量,两者相加后得到的地址即为操作数的有效地 址.相对寻址指令举例如下:BL SUBR1;调

15、用至U SUBR1子程序BEQ LOOP;条件跳转到 LOOP标号处LOOPMOV R6,#1SUBR1 .2. 单存放器加载/存储指令 LDR/STR 多存放器加载/存储指令 LDM/STM 了解 LDR/STR指令用于对内存变量的访问、内存缓冲区数据的访问、查表、外围部件的限制 操作等.假设使用LDR指令加载数据到 PC存放器,那么实现程序跳转功能,这样也就实现 了程序散转.所有单存放器加载/存储指令可分为字、有/无符号字节、有/无符号半字 加载存储指令.多存放器加载/存储指令可以实现在一组存放器和一块连续的内存单元之间传输数 据.LDM为加载多个存放器;STM为存储多个存放器.允许一条指

16、令传送16个存放器的任何子集或所有存放器.它们主要用于现场保护、数据复制、常数传递等.3. 分支指令:B、BL、BXB指令为简单的跳转指令,不附带其它功能.跳转范围限制在当前指令的土32M字节地址内ARM指令为字对齐,最低 2位地址固定为0.BL带链接的分支指令BL指令除了具有跳转功能,还能在跳转之前将下一条指令的地址拷贝到 R14即LR链接存放器中,它适用于子程序调用.跳转范围限制在当前指令的土 32M字节地址内.指令格式如下:例如:BLDelayNS;调用子程序DelayNSBX带状态切换的分支指令一一BX指令除了具有跳转功能,还能在跳转的同时切换 处理器状态.其跳转范围不受限制.指令格式

17、如下:BX Rn4. 状态存放器的读/写指令:MRS/MSR在ARM处理器中,只有 MRS指令可以对状态存放器 CPSR和SPSR进行读操作.通过读CPSR可以了解当前处理器的工作状态.读SPSR存放器可以了解到进入异常前的处理器状态.指令格式如下所示:MRSR1,CPSR;读取CPSR犬态存放器到 R1MRSR2,SPSR;读取SPSR犬态存放器至U R2在ARM处理器中,只有 MSR指令可以对状态存放器 CPSR和SPSR进行写操作.与 MRS配合使用,可以实现对 CPSR或 SPSR存放器的读-修改-写操作,可以切换处理器模 式等操作.将R0的内容写入CPSR存放器的限制位域MSRCPS

18、R c,RO第1.片内Flash的编程方法P104 PPT1441.使用JTAG仿真/调试器,通过芯片的 JTAG接口下载程序;早2. 使用在系统编程技术即ISF,通过UARTO接口下载程序;3. 使用在应用编程技术即IAP,在用户程序运行时对 Flash进行擦除和/或编程操作,LPC实现数据的存储和固件的现场升级.2.存储器映射的概念PPT212给物理存储器分配逻辑地址的过程称为存储器映射03.存储器重映射概念 PPT300将已经过映射的存储器再次映射的过程称为存储器重映射,它使冋一物理存储单兀0出现多个不冋的逻辑地址.这些存储单兀主要包括引导块Boot Block 和用于保存异常向系量表的

19、少量存储单兀.列3.1引导块概念及功能PPT31A引导块Boot Block是芯片设计厂家在 LPC2000系列ARM内部固化的一R段代码,用户无法修改或删除.这段代码在芯片复位后被首先运行,其功能主要是:M? 判断运行哪个存储器上的程序;硬? 检查用户代码是否有效;件?判断芯片是否被加密;结?芯片的在应用编程IAP以及在系统编程功能ISP>构3.2异常向量表重映射PPT34 36、37 异常向量表占据的存储单兀及可来自的四个不同区域异常向量表位于存储器映射的0x00000X001C地址空间,定义了 8个异常向量,每个异常向量占一个子.通常在0x00000x001C地址空间每个异常入口放

20、置一条ARM跳转指令,在其后的0x00200x0003F地址空间上放置跳转目标地址,即异常效劳函数的入口地址.所以一个异常向量表实际包含了8个字的异常入口和 8个字的跳转目标地址,占用了 16个字64字节的存储单元.异常向量表可以来自四个不冋的区域:Boot Block、片内Flash、片内RAM和外部存储器.微限制器可以执行这些存储器中的代码.除了片内Flash的向量表位于0x00000x003F地址上,其他存储器的向量 表都不位于这个地址.为了能让ARM内核通过访问 0x00000x003F地址访问到其他存储区域的向量表,这样向量表必须进行重映射.4.启动代码PPT40上电/复位引导代码B

21、ootBlock启动代码用户main函数? 向量表定义;? 堆栈初始化;?系统变量初始化;?中断系统初始化;? I/O初始化;? 外围初始化;?地址重映射等操作.5. 时钟系统PPT47组成局部、结构框图6. 晶体振荡器的两种模式PPT49外部时钟源附属模式,也可以使用外接晶体和片内振荡电路振荡模式产生时钟.7. 复位 PPT54 56 2个复位源、复位信号保持的时间外部复位把nRESET引脚拉为低电平,并保持一个最小时间,引发复位在晶体振荡器保持稳定振荡,或者使用有源晶振时,外部复位信号可以缩短到不小于 300ns.2、看门狗复位通过设置看门狗相关存放器,当看门狗定时器溢出后,弓I发复位芯片

22、上电后,晶体振荡器开始振荡.由于振荡从开始到稳定需要一过程,所以外部复位信号至少要保持 10ms;8. 唤醒定时器PPT68工作原理,注意计数周期唤醒定时器能够保证振荡器和芯片内部硬件电路在处理器开始执行指令之前有足够的时间初始化 .计数满4096个周期后,限制开关闭合9. PLL PPT72、7680 结构框图、馈送序列、计算馈送序列分两步进行,如下所示:step1. 将值 0xAA 写入 PLLFEEDstep2. 将值 0x55 写入 PLLFEED最后得出PLL的输出频率当PLL激活并连接时为:Fcclk = MX Fosc 或 Fcclk = Fcco / 2X PCCO输出频率为:Fcco = FcclX

温馨提示

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

评论

0/150

提交评论