版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、嵌入式系统复习重点一、题型填空题2'X10单项选择题2'X 5名词解释 2' X 5简做题5'X 6设计题 15' X 2二、考点第一章嵌入式系统概述1、 嵌入式系统从技术角度的定义及其特点见PPT第一章定义:以应用为中央、以计算机技术为根底、软件硬件可裁剪、适应应用系统对功能、 可靠性、本钱、体积、功耗严格要求的专用计算机系统.特点:嵌入性、内含计算机、专用性.2、嵌入式系统的未来P3产品市场窗口现在预计翻番的周期狂热到69个月;全球重新定义市场的时机和膨胀的应用空间;互联现在是一个需求而不是辅助性的,包括用有线和刚刚显露头角的无线技术;基于电子的产品
2、更复杂化;互联嵌入式系统产生新的依赖网络根底设施的应用;微处理器的处理水平按莫尔定律 Moore' s L aw 预计的速度在增加.该定律认为集 成电路和晶体管个数每18个月翻一番.3、 什么是嵌入式处理器及嵌入式系统的分类 P5嵌入式处理器:为完成特殊应用而设计的特殊目的的处理器.嵌入式系统可以分为以下几大类:嵌入式微处理器EMPU嵌入式微限制器MCU嵌入式DSPb理器;嵌入式片上系统SOC4、嵌入式操作系统相关的根本概念 P7-10 可能考名词解释前后台系统:对基于芯片的开发来说,应用程序一般是一个无限的循环,可称为前后台系 统或超循环系统.循环中调用相应的函数完成相应的操作,这局
3、部可以看成后台行为,后台也可以叫做任务级,这种系统在处理的及时性上比实际可以做到的要差.中断效劳程序处理异步事件,这局部可以看成前台行为,前台也叫中断级,时间相关性很强的关键操作一定是 靠中断效劳程序来保证的.操作系统:操作系统是计算机中最根本的程序.操作系统负责计算机系统中全部软硬资源的分配与回收、限制与协调等并发的活动;操作系统提供用户接口,使用户获得良好的工作环境;操作系统为用户扩展新的系统功能提供软件平台.实时操作系统:实时操作系统是一段在嵌入式系统启动后首先执行的背景程序,用户的应用程序是运行于 RTOE上的各个任务,RTOS艮据各个任务的要求,进行资源 包括存储器、 外设等治理、消
4、息治理、任务调度、异常处理等工作.在RTOS持的系统中,每个任务均有一个优先级,RTOS根据各个任务的优先级,动态地切换各个任务,保证对实时性的要 求.代码的临界区:也称为临界区,指处理不可分割的代码,运行这些代码不允许被打断.一旦 这局部代码开始执行, 那么不允许任何中断打断 这不是绝对的,如果中断不调用任何包含临 界区的代码,也不访问临界区的使用的共享资源,这个中断可以执行.为保证临界区代码的执行,在进入临界区之前要关中断,而临界区代码执行完成以后要立即开中断.资源:程序运行时可使用的软、硬件环境统称为资源.资源可以是输入、输出设备,例如打 印机、键盘、显示器,也可以是一个变量、一个结构或
5、一个数组等.共享资源:可以被一个以上任务使用的资源叫做共享资源.为了预防数据被破坏, 每个任务在与共享资源打交道时,必须独占该资源,这叫做互斥.任务:一个任务也叫做一个线程, 是一个简单的程序, 该程序可以认为 CPlUc全属于该程序 本身.实时应用程序的设计过程, 包括如何把问题分割成多个任务, 每个任务都是整个应用 的某一局部,被赋予一定的优先级,有它自己的一套CPl存放器和自己的栈空间.任务切换:当多任务内核决定运行另外的任务时,保存正在运行任务的当前状态,即CPl存放器中的全部内容. 这些内容保存在当前状态保存区,也就是任务自己的栈区之中. 入栈工作完成以后,就把下一个将要运行的任务的
6、当前状态从任务的栈中重新装入CPU存放器,并开始下一个任务的运行,这个过程就叫任务的切换.这个过程增加了应用程序的额外负担,CPU的存放器越多,额外负担就越重.做任务切换所需要的时间取决于CPUW多少存放器要入栈,实时内核的性能不应该以每秒钟能做多少次任务切换来评价.内核:多任务系统中,内核负责治理各个任务,或者说为每个任务分配CPU寸间,并且负责任务之间的通信.内核提供的根本效劳是任务切换.使用实时内核可以大大简化应用系统的设计,是由于实时内核允许将应用分成假设干个任务,由实时内核来治理它们. 内核提供必不可少的系统效劳,如信号量、消息队列、延时等.调度:调度是内核的主要责任之一. 调度就是
7、决定该轮到哪个任务运行了. 多数实时内核是 基于优先级调度法的. 每个任务根据其重要程序的不同被赋予一定的优先级.基于优先级的调度法指CPU总是让处在就绪态的优先级最高的任务先运行. 然而究竟何时让高优先级任务掌握CPU的使用权,有两种不同的情况, 这要看用的是什么类型的内核,是非占先式的还是占先式的内核.非先占式内核:非占先式内核要求每个任务自我放弃CPU的所有权.非占先式调度法也称作合作型多任务,各个任务彼此合作共享一个CPU异步事件还是由中断效劳来处理.中断效劳可以使一个高优先级的任务由挂起状态变为就绪状态.但中断效劳以后限制权还是回到原来被中断了的那个任务,直到该任务主动放弃 CPU的
8、使用权时,那个高优先级的任务才能 获得CPU的使用权.先占式内核:当系统响应时间很重要时,要使用占先式内核. 因此绝大多数商业上销售的实时内核都是占先式内核.最高优先级的任务一旦就绪,总能得到CPU的限制权.当一个运行着的任务使一个比它优先级高的任务进入了就绪状态,当前任务的CPUt用权就被剥夺了,或者说被挂起了,那个高优先级的任务马上得到了CPU的限制权.如果是中断效劳子程序使一个高优先级的任务进入就绪态,中断完成时,中断了的任务被挂起, 优先级高的那个任务开始运行.任务优先级:任务的优先级是表示任务被调度的优先程度.每个任务都具有优先级.任务越重要,赋予的优先级应越高,越容易被调度而进入运
9、行态.中断:中断是一种硬件机制,用于通知 cpiW个异步事件发生了.中断一旦被识别,cpU存局部或全部上下文即局部或全部存放器的值,跳转到专门的子程序,称为中断效劳子程序ISR.中断效劳子程序做事件处理,处理完成后,程序回到:1. 在前后台系统中,程序回到后台程序;2. 对非占先式内核而言,程序回到被中断了的任务;3. 对占先式内核而言,让进入就绪态的优先级最高的任务开始运行.时钟节拍:时钟节拍是特定的周期性中断.这个中断可以看作是系统心脏的脉动.中断之间的时间间隔取决于不同应用,一般在10ms到200ms之间.时钟的节拍式中断使得内核可以将任务延时假设干个整数时钟节拍,以及当任务等待事件发生
10、时,提供等待超时的依据. 时钟节拍率越快,系统的额外开销就越大.5、嵌入式实时操作系统的优缺点及常见的嵌入式实时操作系统P11-14优点:在嵌入式实时操作系统环境下开发实时应用程序使程序的设计和扩展变得容易,不需要大的改动就可以增加新的功能.通过将应用程序分割成假设干独立的任务模块,使应用程序的设计过程大为简化;而且对实时性要求苛刻的事件都得到了快速、 可靠的处理.通过有效 的系统效劳,嵌入式实时操作系统使得系统资源得到更好的利用.缺点:使用嵌入式实时操作系统还需要额外的ROM/RA研销,25湖CPU额外负荷,以及内核的费用.常见的嵌入式实时操作系统:uClinux、Wndows CE、VxW
11、orks、C/OS-II第二章 ARM7体系结构1、ARM勺体系结构及常用的AR僦理器系列P16AR帏核采用RISC系结构.RISC是精简指令集计算机的缩写,其目标是设计出在高时钟频率下单周期执行,简单而有效的指令集.ARW核采用RIS酬系结构,因此具有RISC的结构特点如具有大量的通用存 储器;独特的装载/保存(load-store )结构;简单的寻址模式;统一和固定长度的指令格式.常用的AR就理器系列:ARM淙列、ARM际列、ARM1源列、ARM11系列、Intel的XScale 系列和MPCore系列;还有针对低端 8位MC廊场推出的Cortex-M3系列,其具有32位CPU 性能、8位
12、CPU的价格.2、ARM7TDM®完整意思是什么?ARM7TDMO基于AR册系结构V4版本的低端AR蜓.其弥补了 ARM伊艮难在低于5V电压 下稳定工作的缺乏,还增加了后缀所对应的功能:ARM7TDMI-SARM7TDMI 的可蟀合 fsynthesizableJ|版本,对危用工程处秉说其偏程摸型与ARM7TDM1 一故;支持EmbededlCE观察硬件;更特64位乘竖;矣持片上调武;支特 高 密度16张的Thumb指冬推;3、存储器的字与半字及对齐关系 P20从偶数地址开始的连续2个字节构成一个半字;以能被 4整除的地址开始的连续 4个字节 构成一个字;ARM旨令的长度刚好是一个字
13、,Thumbs令的长度刚好是一个半字. 如果一个数据是从偶地址开始的连续存储, 那么它就是半字对齐, 否那么就是非半字对齐; 如 果一个数据是以能被4整除的地址开始的连续存储, 那么它就是字对齐,否那么就是非字对齐.B式丰争对齐寿对齐地波0x40020x40040x40040x4008BitO=OBitl=0.BitO=0 其也住为性惹值4、3级流水线P20(可能考大题) 级流水线结构的指令执行顺序pc-a指令1指令2指令3指令4周期1同期2周周期4周期5周期6史理器说樗一务取指译码执行携令的三个阶段 取指译码执行取指译码执行|取指译码I执行I程序存储器可参考第二章PPT23页的思考题例子.5
14、、ARMfe理器的两种状态P24ARM7TDM&理器内核包含2套指令系统,分别为ARIW令集和Thum萌令,并且各自对应1种处 理器的状态:AR瞰态:32位,处理器执行字方式的 ARMf令,处理器默认为此状态;Thum以犬态:16位,处理器执行半字方式的 Thumb旨令.注意:两个状态之间的切换并不影响处理器模式或存放器内容.具体例子见书上P2砒序清单2.2 .6、ARMfe理器的7种处理模式P26 必考ARM体系结构支持7种处理器模式,分别为:用户模式、快中断模式、中断模式、治理 模式、中止模式、未定义模式和系统模式. 这样的好处是可以更好的支持操作系统并提升工 作效率,ARM7TD
15、MK全支持这七种模式.处理器模式说明备注用户usr正常程序运行的工作模式不能直接从用户模式切换到其他模式特权模式系统sys用于支持操作系统的特权任务等与用户模式类似,但具有直接切换到其他模式等特权异 常 模 式治理(svc)供操作系统使用的一种保护模式只有在系统复位和软件中断响应时,才进入此模式中止abt用于虚拟内存和或存储器保护在ARM武核中没有多大用处未正义und支持软件仿真的硬件协处理器只有在未定义指令异常响应时,才进入此模式中断(irq )中断请求处理只有在IRQ异常响应时,才进入此模式快速中断fiq 快速中断请求处理只有在FIQ异常响应时,才进入此模式7、ARM犬态下的内部存放器P2
16、8-36 重点熟记各数字在ARK理器内部共有37个用户可访问的存放器,分别为31个通用32位存放器和6个状态 存放器.AR祉理器共有7种不同的处理器模式, 每种模式都有一组相应的存放器组, 最多可 以18个活动的存放器.如下表所示:ARM状态各模式下可以访问的存放器类别希中的名琮mP背登中止:未定艾中断快中嘶R0(a1)RDR1网R2a3JR2R3【邳R3R5(v2)存放甥存放器在王名模式下实际访问的存放器RB(v5Ra_fiqR12_hqR9_fiqR10_fiq丽网R7(v4R13(SPJR13R13_svcR13_abtR13 undR13JrqR13_fiqR14 iR14_svcRH
17、JrqRHJkjR15R1G(5Lpv7)EH(FP 顺 R12(IP)CP5RSPSRCP5RR 15( PCI哥存器SPSR_svc SPSR_abt SPSR_undSPSR ria存放器R0R7为未分组的通用存放器,它们在任何处理器模式都对应于相同的32位物理存放器.存放器R8R12有两个分组的物理存放器.一个用于除FIQ模式之外的所有存放器模式,另一 个用于FIQ模式.在发生FIQ中断后,处理器不必为保护存放器而浪费时间,从而加速了FIQ的处理速度.存放器R1& R14分别有6个分组的物理存放器.1个用于用户和系统模式,其余 外分别 用于5种异常模式.存放器R13通常作为堆栈
18、指针SD,用于保存待使用的存放器的内容.存放器R14称为链接存放器LR,在结构上有两个特殊功能: 当使用BL旨令调用子程序 时,返回地址将自动存入 R1.;当发生异常时,将R1取寸应的异常模式版本设置为异常返回 地址有些异常有一个小的固定偏移量.存放器R15称为程序计数器PQ,它指向正在“取指的指令.存放器CPS曲当前程序状态存放器,在异常模式中,另外一个存放器“程序状态保存寄 存器SPSR可以被访问.每种异常都有自己的 SPSR在进入异常时它保存 CPSR勺当前值, 异常退出时可通过它恢复 CPSRThum猷态存放器集是AR嗷态集的子集,程序员可以直接访问的存放器为:8个通用存放器R0R7,
19、在汇编语言中存放器 R0R7为通用存放器,对于任何处理器模 式,它们中的每一个都对应于相同的32为物理存放器.程序计数器P.;堆栈指针SP,堆栈指针SP寸应AR嗷态的存放器R13.每个异常模式都有其自身的 SP 分组版本,SP®常指向各异常模式所专用的堆栈. 注意:在发生异常时,处理器自动进入ARM 状态.链接存放器LR,链接存放器LRM应ARK态存放器R14.注意:在发生异常时,处理 器自动进入AR嗷态.当前程序状态存放器CPSRR.在两种状态中,存放器R0-R7是低端存放器,R8-R12是高端存放器,在Thum砒态中,高 端存放器的访问是受到限制的,只有MOV CM和ADD旨令可
20、以对其访问,可以用于数据的快速暂存.8、当前程序状态存放器的用法 P36-39AR函核包含1个CPS前5个仅供异常处理程序使用的SPSR CPS阪映当前处理器的状态,其包含:4个条件代码标志负标志N、零标志Z、进位标志胡日溢出标志V ;2个中断禁止位IRQ禁止与FIQ禁止;5个对当前处理器模式进行编码的位M4:0;1个用于指示当前执行指令的位ARM旨令还是Thumb旨令.其格式如下:茶件代码榕志保存限制住负标志N:运算结果的第31位值,记录标志设置操作的结果;零标志Z:如果标志设置的操作为 0,那么置位;进位标志C:记录无符号加法溢出,减法无借位,循环移位;溢出标志V:记录标志设置操作的有符号
21、溢出.中断禁止限制位I和F:当限制位I置位时,IRQ中断被禁止;当限制位F置位时,FIQ中断被禁止.处理器状态位T:当限制位T置位时,处理器正在Thumb犬态下运行;当限制位T清零时,处理器正在AR瞰态下运行.警告:绝对不要强制改变CPSfW存器中的限制位T.如果这样做,处理器将进入一个无 法预测的状态.处理器模式位MA M4AE式可见的可见的ARM状者存放器1000G用户R0-R7, SPr LR. PC, CPSRROR14rPC, CPSR10001快速中断SP fiq.LR fig. PC, cpsr spsr naROR7. R8jtqRl4_fiq; PC.CPSR, SPSRJi
22、q1001.中断ROR7, SPJrq; LR_irq. PChCPSR, SPSRJtqROR12, Rl3_irqr R14Jrq; FC, CPSR, SPSR_irq10011治理RdR乙 SP_SK. LR_S;'C. PC:CPSR, SPSR_svcR0R12, R13_S ;C; R14_svch PC, CPSR. SPSR_svc10111中止R(WR7, SP_abt. LR_abL PC, CPSR, SPSR.abtRCWR12, R13_abt, R14_abt FC, CPSR, SPSR_abt11011未定义R(WR7, SP_und LR_und.
23、PCr CPSR, SPSR_undRCWR12, R13,und. R14_und. PCh CPSR, SPSR_und11111 R(WR7, SP, LR一 PC, CPSRR(WR14rPC, CPSR注意:不是所有模式位的组合都定义了有效的处理器模式,如果将非法值写入M4:0中,处理器将进入一个无法恢复的模式.保存位:CPS呻的保存位被保存将来使用. 当改变CPS标志和限制位时, 请确认没有改变这 些保存位.另外,请保证您的程序不依赖于包含特定值的保存位,由于将来的处理器可能会将这些位设置为1或者0.9、AR咻系的异常、中断及其向量表 P39 异常中断的进入与退出是重中之重 当多个
24、异常同时发生时,一个固定的优先级决定系统处理它们的顺序:优先级由高到低优先级异常1复伺数据中止311FIQLk4IRQ5预取指中止6未定义指令中止6 L软件中断异常当一个异常导致模式切换时,内核自动的做如下处理:即异常的进入将异常处理程序的返回地址加固定的偏移量保存到相应异常模式下的LR;将CPSR勺当前值保存到相应异常模式下的SPSR设置CPS的相应的异常模式;设置PC相应异常处理程序的中断入口向量地址,跳转到相应的异常中断处理程序执行;当异常处理程序结束时,异常处理程序必须:即异常的退出返回到发生异常中断的指令的下一条指令处执行,即就是说将LR中的值减去偏移量后移入PC将SPSR勺值复制回
25、CPSR清零在入口处置位的中断禁止标志.10、ARM#系的存储系统P48 了解“大端与“小端存储器系统有两种映射机制:小端存储器系统:在小端格式中,数据的高字节存放在高地址中.大端存储器系统:在大端格式中,数据的高字节存放在低地址中.存储器格式O小瑞存储 模扎下. 0x12345676 在A地址开始 的一个学空 问的存在'.火耕存储A+3模扎下A+2 0x12345678A*在A也址开始的一个字安间 A的存铀:第三章 ARM7TDMI-S指令系统1、ARM#理器的8种寻址方式P52 可能考名词解释存放器寻址:操作数的值在存放器中,指令中的地址码字段指出的是存放器编号,指令执 行时直接取
26、出存放器值来操作.存放器寻址指令举例如下:MOV R1,R2; 将R2勺值存入 R1SUB R0,R1,R2; 将R1的值减去 R2的值,结果保存到 R0立即寻址:立即寻址指令中的操作码字段后面的地址码局部即是操作数本身,也就是说,数据就包含在指令当中,取出指令也就取出了可以立即使用的操作数这样的数称为立即数.立即寻址指令举例如下:SUBS R0,R0,#1;R0 减1,结果放入 R0,并且影响标志位MOV R0,#0xFF000 ;将立即数 0XFF000装入 R0W存器存放器移位寻址:存放器移位寻址是ARM旨令集特有的寻址方式.当第2个操作数是存放器移 位方式时,第2个存放器操作数在与第1
27、个操作数结合之前, 选择进行移位操作. 存放器移位 寻址指令举例如下:MOV R0,R2,LSL #3;R2的值左移3位,结果放入 R0;即是R0=R 8ANDS R1,R1,R2,LSL R3 ;R2的值左移R3,然后和R1相;“与操作,结果放入 R1存放器间接寻址:存放器间接寻址指令中的地址码给出的是一个通用存放器的编号,所需的操作数保存在存放器指定地址的存储单元中,即存放器为操作数的地址指针. 存放器间接寻址指令举例如下:LDR R1,R2;将R2旨向的存储单元的数据读出;保存在R1中SWP R1,R1,R2;将存放器R1的值和R2旨定的存储;单元的内容交换基址寻址:基址寻址就是将基址存
28、放器的内容与指令中给出的偏移量相加,形成操作数的有效地址.基址寻址用于访问基址附近的存储单元,常用于查表、数组操作、 功能部件存放器访问等.基址寻址指令举例如下:LDR R2,R3,#0x0C;读取R3+0X0CM址上的存储单元;的内容,放入 R2STR R1,R0,#-4!;先R0=R0-4,然后把R1的值存放;到保存到R0旨定的存储单元多存放器寻址:多存放器寻址一次可传送几个存放器值,允许一条指令传送16个存放器的任何子集或所有存放器.多存放器寻址指令举例如下:LDMIA R1!,R2-R7,R12;将R1指向的单元中的数据读出到;R2R7、R12中R1自动加1STMIA R0!,R2-R
29、7,R12;将存放器R2R7、R12的值保;存到R0旨向的存储;单元中;R0自动加1堆栈寻址:堆栈指针指向最后压入的堆栈的有效数据项,称为满堆栈;堆栈指针指向下一个待压入数据的空位置,称为空堆栈.0x12345678 一 .尽我栈底所以可以组合出四种类型的堆栈方式:满递增:堆栈向上增长,等;空递增:堆栈向上增长,满递减:堆栈向下增长,等;空递减:堆栈向下增长,堆栈指针指向内含有效数据项的最高地址.指令如堆栈指针指向堆栈上的第一个空位置.指令如 堆栈指针指向内含有效数据项的最低地址.指令如堆栈指针向堆栈下的第一个空位置.指令如LDMFA STMFALDMEA STME俸;LDMFD STMFDL
30、DMED STME弟.相对寻址:相对寻址是基址寻址的一种变通.由程序计数器?既供基准地址,指令中的地址码字段作为偏移量,两者相加后得到的地址即为操作数的有效地址.相对寻址指令举例如下:BL SUBR1;调用至ij SUBR作程序BEQ LOOP;条件跳转到LOO标号处LOOP MOV R6,#1SUBR12、ARM旨令集中各典型指令的用途P58 小例子:可能考选择或填空思考与练习.1 .以下8位图立即教是否合埃?0X0103C000 Xr0x12800000可以由0x4A循球主祥10伐捋利2 ,靖列举2个8位图立即数?0X4000003B fOxEDZ宣望不右移2伐OxOOIGCOOO rOx
31、$B循珏右移 18住加载指令:LDR/ST -一加载/存储指令LDM/ST册一多存放器加载/存储指令SWP一存放器和存储器交换指令数据处理指令:见书上P70-71 乘法指令: ARNI指令集乘法指令助ie符说明操作条ft码位置MUL Rd Rm.Rs32位乘沌才冷Rd-Rn*Rs (RdRm)1WL cond SMLA Rd Rm Rs Rn3捻剜时盼Ed<-RB*Rs+Rn (RdRm)mUcon日格UXfULL RdLoRdHIRm:史64位无符号乘法指令(RdLa, RdHi) <-Rm*RsUIULL cond SUXfLAL RdLo;RdHi:Rm:Rs舰位无符号乘加指
32、令(RdLEdHp£RiuRs+(R 此RdHi)SIL AL cand SjSMITLL RdLodHi.Rm.RiS4位有符号乘法指令(RdLo, RdHi)Rm*KsSKILL cond ISSMLAL RdLo;RdHi;Rm:Rs翩位有符号乘加指令.(KdLoRdHijeftntRs+tR dLo,RdHi)SMLALcond S3、AR而支指令和杂项指令P72-77分支指令:B指令为简单的跳转指令,不附带其它功能.跳转范围限制在当前指令的土32"节地址内ARM旨令为字对齐,最低2位地址固定为0.BL指令除了具有跳转功能,还能在跳转之前将下一条指令的地址拷贝到R1
33、4即LR链接存放器中,它适用于子程序调用.跳转范围限制在当前指令的土32M字节地址内.BX指令除了具有跳转功能,还能在跳转的同时切换处理器状态.其跳转范围不受限制.杂项指令:在ARM旨令集中杂项指令共有3条,它们非常重要,特别是与操作系统的使用息息相关:1. 软件中断产生指令:SWI,主要用于用户程序调用操作系统的系统效劳.2. 程序状态存放器读指令:MRS对状态存放器CPSR日SPSRJ行读操作.3. 程序状态存放器写指令:MSR对状态存放器CPSR日SPSRJ行写操作.4、AR佩指令P78ARM/指令有四条:1. 小范围地址读取指令: ADR,将基于PCW对偏移的地址值或基于存放器相对偏移
34、的地 址值读取到存放器中.2. 中等范围地址读取指令:ADRL,将基于PCW对偏移的地址值或基于存放器相对偏移的 地址值读取到存放器中,比 ADRJ指令可以读取更大范围的地址.3. 大等范围地址读取指令:LDR,用于加载32位的立即数或一个地址值到指定存放器.4. 空操作指令:NP,在汇编时将会被代替成 AR"的空操作,比方可能是“MOV R0,R0 指令等.NOPT用于延时操作.5、ARM旨令集和Thumb®令集的异同 同:Thumb旨令的格式与使用方式与 ARMH令集类似,它也具有以下种类的指令:存储器访问指令数据处理指令分支指令杂项指令伪指令异:Thumb旨令集较AR
35、M!令集有如下限制:只有B旨令可以条件执行,其它指令都不能条件执行;分支指令的跳转范围有更多限制;数据处理指令的操作结果必须放入其中一个;单存放器访问指令,只能操作 R0R7;LD睇日STM旨令可以对R0R7的任何子集进行操作;第四章 LPC2000系列ARMM件结构1、了解硬件结构P90芯片内部结构LPC2000S划祗旋制崟包舍 4大局部:O艾垮仿真的ARM7TDMI-SCPU乌片内存储舞限制思埃口的ARMF,导都总线中既限制器痍口的AMB A焉岐能总焦(AHB)逐琵冷内外设功能的VLSI 外叔总成.(VPB)2、 存储器重映射的概念及其作用 P106给物理存储器分配逻辑地址的过程称为存储器
36、映射.将已经过映射的存储器再次映射的过程称为存储器重映射,它使同一物理存储单元出现多个不同的逻辑地址(增加了代码的可移植性和可通用性).这些存储单元主要包括引导块“Boot Block 和用于保存异常向量表的少量存储单元.弓I导块(Boot Block )是芯片设计厂家在 LPC200曜列ARW部固化的一段代码,用户无 法修改或删除.这段代码在芯片复位后被首先运行,其功能主要是:判断运行哪个存储器上的程序;检查用户代码是否有效;判断芯片是否被加密;芯片的在应用编程(IAP)以及在系统编程功能(ISP)3、时钟部件一一锁相环PLL (可能考大题)P126LPC2000系列芯片内部均具有PLL电路
37、,娠荡寇产生的时钟Fosc通过PLL升濒,可以获得更高的条统时钟CCLKPCLK(Fcclk)PLL频率计算:可以得出以下几个等式:Fosc = Fcco/(2x px M) a Fcco = Fosc x (2 x px M)Fcclk = Fcco/(2 x p) a Fcco = Fcclk x (2 x p)最后得出PLL的输出频率(当PLL激活并连接时)为:Fcclk = M x Fosc 或 Fcclk = Fcco / (2 x P)CC函出频率为:Fcco = Fcclk x 2 x P 或 Fcco = Fosc x MX 2 x PPL成置举例:系统要求 Fosc= 10M
38、Hz Fcclk = 60MHz根据这些要求:确定 Fcclk = 60MHz;选择 Fosc = 10MHz计算 M= Fcclk/Fosc = 60MHz/10MH卒 6.M-1 = 5,所以写入 PLLCFG4:0 = 00101;计算 P=Fcco/( Fcclk*2),其中 Fcco为 156320 MHz 当 Fcco= 156MHz寸,P=156MHz/(2*60MHz) =1.3 当 Fcco = 320MHz寸,P=2.67 P取整数2,所以写入PLLCFG6:5=01. PLL设置举例uint8 PLLSet(uint32 Fcclk.uint32Fo9C. uint32F
39、cco) uint 町ulnt32glldati = (Fccd f Fcclk):swltcnti)case 2:刨域=(尽妙既照-1)I卬"欤break;case 4:break:C3iS 8蜒=(E 见知 f M2break;case 1 &:plldat=(Fcdk/ Fosc) -1)|3 « 5);break;defaultreturn(FALSE): break:PLLCON = 1:PLLCFG =plldat:PLLFEED = Oxaa.PLLFEED = 0x55:whlle(PLLSIAT&(1 « 1.)= 0);PLLC
40、ON = 3:PLLFEED = Oxaa;PLLFEED = 0x55:retum(TRUE):PLL配置过程】4、外部存储器限制器EMCX引脚连接模块P152-1785、GPIO P1796、向量中断限制器P1887、定时器0和定时器1的作用P2228、I 2 C接口的操作模式 P2719、UARTCft UART1 勺用法和区别P276UART0只提供TXD和RXD言号引脚,而 UART1增加了一个调制解调器Modem接口,其余 二者都是完全相同的:16字节接收FIFO和16字节发送FIFO;存放器位置符合16C550工业标准;接收FIFO触发点可设置为1、4、8或14字节;内置波特率发
41、生器;UART官有标准调制解调器接口信号.10、A/D转换器、脉宽调制器PWM日实时时钟RTC第六章 pC/OS-II程序设计根底1、任务的分类、划分和优先级安排 P395按执行方式可将任务分类以下三类:任务的分类void MyTaskvoid *pdata三务实体代码;调用任务删除函数;1. 单次尬符类任务/ 单次执每奕任务创a、 厂、,陈J一4定义和初始化变量及硬件设备、完成该任务的具体皂能 将自己摒蛛,操作系统将不再承闵任务的分类2. 周期执行类任务任密备卷局void MyTask(voiid *pdata) 二三自任工:拦:王;while (1) 件务突仔弋驾;.调用系统延时函数:)任
42、务的分类3.事件触发执符类任务运行状态void MyTask (void *pdata)消息就绪状态运行状态任务优先级足够高进行准备工作的代码;while (1)(谓用表氧事件的函数: 任务实体代码;等侍信号量或消息 完成具体易能任务的划分:目标1. 首要目标是满足“实时性指标:即使在最坏的情况下,系统中所有对实时性有要求的功能都能够正常实现;2. 任务数目合理:对于同一个应用系统, 合理的合并一些任务, 使任务数目适当少一些还是 比拟有利;3. 简化软件系统:一个任务要实现其功能,除了需要操作系统的调度功能支持外, 还需要操 作系统的其它效劳功能支持,合理划分任务,可以减少对操作系统的效劳要
43、求, 简化软件系 统;4. 降低资源需求:合理划分任务,减少或简化任务之间的同步和通信需求,就可以减少相应 数据结构的内存规模,从而降低对系统资源的需求.任务的优先级的安排原那么中断关联性:与中断效劳程序ISR有关联的任务应该安排尽可能高的优先级,以便及时处理异步事件,提升系统的实时性.如果优先级安排得比拟低,CPIW可能被优先级比拟高的任务长期占用,以致于在第二次中断发生时连第一次中断还没有处理,产生信号丧失现象;紧迫性:由于紧迫任务对响应时间有严格要求,在所有紧迫任务中,按响应时间要求排序, 越紧迫的任务安排的优先级越高.紧迫任务通常与ISR关联;关键性:任务越关键安排的优先级越高,以保证其执行时机;频繁性:对于周期性任务,执行越频繁,那么周期越短,允许耽误的时间也越短,故应该安排 的优先级也越高,以保证及时得到执行;快捷性:在前面各项条件相近时,越快捷耗时短的任务安排的优先级越高,以使其它就 绪任务的延时缩短
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 化工厂安全评价课程设计
- 性教育课程设计
- 时间年龄和我课程设计
- 第8章 代数系统-《离散数学(微课版)》教学课件
- 智能家居课程设计意义
- 青少年心理健康教育的创新策略与实施路径
- 教学课件历史部编版(2024版)七年级初一上册第12课大一统王朝的巩固课件02
- 企业战略管理与组织架构调整报告
- 基于物联网技术的延续性护理服务创新
- 时间意识班会课程设计
- 护理年终个人工作总结
- 河北省健康体检主检医师题库2024年12月
- 高等学校学生公寓服务指南-地方标准编制说明
- 电力行业用水管理制度
- 2025高考数学复习必刷题:概率与统计的综合应用
- 合同法-006-国开机考复习资料
- 2022年军队文职统一考试《专业科目》管理学类-管理学试卷(含解析)
- 柴油车维修保养方案
- 设备验证工作年底述职报告
- 中华人民共和国学前教育法
- 医学伦理学全套课件
评论
0/150
提交评论