嵌入式课件(宋晖)课件 嵌入式系统复习提纲2013_第1页
嵌入式课件(宋晖)课件 嵌入式系统复习提纲2013_第2页
嵌入式课件(宋晖)课件 嵌入式系统复习提纲2013_第3页
嵌入式课件(宋晖)课件 嵌入式系统复习提纲2013_第4页
嵌入式课件(宋晖)课件 嵌入式系统复习提纲2013_第5页
已阅读5页,还剩35页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

嵌入式系统复习2013-2014年第一学期考试范围第一、二、三、四章所有讲过的内容实验中涉及到的部分内容重点:第三、四章考试题型选择题12道,每题2分,共24分填空题10空,共10分判断题10道,每题1分,共10分简答题3道,共22分综合分析应用题5道,共34分试卷说明闭卷,时间为考试周具体时间地点:2014年1月13日14:30-16:30,2-102第一章嵌入式系统概述1.嵌入式系统的概念(定义、特点、分类等);2.嵌入式系统的发展;3.嵌入式系统的组成(系统软件层和驱动的区别);4.嵌入式系统的应用;第二章嵌入式系统的基本知识体系结构直接支持的数据类型:字节、半字与字哈佛结构与冯·诺依曼结构,区别CISC与RISC的特征和区别信息存储的字节顺序:大端、小端嵌入式系统开发的基本步骤,过程,开发环境的建立,开发模式(结合硬件实验和C/OS-Ⅱ操作系统实验)两种方法存储字数据,称之为:大端格式和小端格式大端格式:字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。小端格式:低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节。字数据0x783C1A24的存储格式如下:嵌入式操作系统发展阶段:1、无操作系统的嵌入算法阶段2、专用嵌入式实时操作系统3、通用嵌入式实时操作系统4、基于internet的嵌入式系统两种实时系统及其区别硬实时,如μc/os软实时,如wince基于优先级的内核有两种工作方式不可剥夺型(非抢先式)可剥夺型(抢先式)不可剥夺型内核(非占先式Non-Preemptive)低优先级任务ISR高优先级任务(1)(2)(3)(4)(5)(6)(7)中断服务程序使高优先级任务就绪低优先级任务释放CPU使用权TIME可剥夺型内核(占先式Preemptive)低优先级任务ISR高优先级任务(1)(2)(3)(4)(5)(6)中断服务程序使高优先级任务就绪高优先级任务得到CPU使用权TIME嵌入式开发环境嵌入式系统通常是一个资源受限的系统,其开发需要交叉编译和在线调试的开发环境,主要包括:宿主机目标机(评估电路板)基于JTAG的ICD仿真器、或调试监控软件、或在线仿真器ICE运行于宿主机的交叉编译器和链接器、以及开发工具链或软件开发环境嵌入式操作系统第3章ARM微处理器体系结构与指令集ARM的工作状态ARM的运行模式ARM的寄存器组织ARM的异常处理ARM指令系统和程序设计指令集ARM汇编嵌入式C程序设计ATPCSARM7处理器三级流水线,由此导致:指令读出的pc值是指令地址值加8个字节冯·诺依曼体系结构ARM7TDMI的含义:T:支持16位压缩指令集Thumb;D:支持片上Debug;M:内嵌硬件乘法器(Multiplier)I:嵌入式ICE,支持片上断点和调试点;Samsung公司的S3C44B0X即属于该系列的处理器。ARM9处理器五级流水线哈佛结构包含MMU(与ARM7不同)ARM处理器支持的数据类型字节(8位)半字(16位)字(32位)其中,字需要4字节对齐(地址的低两位为0)、半字需要2字节对齐(地址的最低位为0)。ARM7TDMI处理器有两种工作状态(区别):ARM状态Thumb状态ARM7TDMI核的操作状态可能通过BX指令(分支和交换指令)在ARM状态和Thumb状态之间切换ARM处理器有7种工作模式:用户模式(usr) -正常的程序执行模式快速中断模式(fiq)

-支持高速数据传输或通道处理中断模式(irq)

-用于通用中断处理管理员模式(svc)

-操作系统的保护模式.中止模式(abt)

-支持虚拟内存和/或内存保护系统模式(sys)

-支持操作系统的特殊用户模式(运行操作系统任务)未定义模式(und)

-支持硬件协处理器的软件仿真

除了用户模式外,其他模式均可视为特权模式;Usr/Sysmode不是异常模式,没有SPSR。在这2种模式中使用读写SPSR的指令时,结果不可预知。

ARM状态下的寄存器组织图arm的寄存器,r13,r14的特殊用途,r15的用途R0到

R15可以直接访问R0到

R14是通用寄存器R13:堆栈指针

(sp)(通常)每种处理器模式都有单独的堆栈R14:链接寄存器(lr)R15包含程序计数器

(PC)CPSR–

当前程序状态寄存器,包括代码标志状态和当前模式位5个SPSRs--(程序状态保存寄存器)

当异常发生时保存CPSR状态

程序状态寄存器N,Z,CandV条件码标志

可以在处理器中作为数学和逻辑操作改变

可以被所有的指令测试,以决定指令是否被执行

N:Negative.Z:Zero.C:Carry.V:oVerflow

*IandF位是中断禁止位

*M0,M1,M2,M3andM4位是模式位ARM指令集和寻址方式理解:几乎所有指令都可条件执行指令写法上的变化可以控制是否影响标志位移位操作常用的ARM指令,如数据传送类指令及其寻址等。异常向量表Bootloader的定义、作用,完成的工作,初始化过程,两个阶段BootLoader是在嵌入式系统复位启动时,操作系统内核运行前,执行的第一段程序。通过BootLoader,初始化硬件设备,建立内存和I/O空间映射图,为最终加载操作系统内核调整好适当的系统软硬件环境。第四章μc/OS-II嵌入式实时操作系统内核分析

C/OS-Ⅱ的特点C/OS-Ⅱ的内核结构(临界段、堆栈、任务、任务的状态、任务控制块OS_TCB、中断处理、时钟节拍、C/OS-Ⅱ的初始化和启动)C/OS-Ⅱ的内核任务管理任务间的互斥与同步任务间的通信(信号量、邮箱)C/OS-Ⅱ的移植μc/OS-II基于优先级的抢先式调度,不支持时间片轮转调度,总是让处在就绪状态的优先级最高的任务先运行最多64个任务,任务编号0—63,0号优先级最高,63号优先级最低任务(task)

典型的任务:一个无限循环voidmytask(void*pdata){for(;;){dosomething;waiting;dosomething;}}任务状态在任一给定的时刻,任务的状态一定是以下五种状态之一:睡眠态(taskdormant)就绪态(taskready)运行态(taskrunning)等待状态(taskwaiting)中断服务态(ISRrunning)睡眠态(taskdormant)指任务驻留在程序空间(ROM或RAM),还没有交给系统来管理的状态任务交给系统通过调用以下函数之一来实现:OSTaskCreate()OSTaskCreateExt()告知系统:任务的起始地址任务建立时,用户给任务赋予的优先级任务要使用的栈空间大小等就绪态(taskready)任务一旦创建就进入就绪态,准备运行任务的创建可以是在多任务开始之前,也可以动态地由一个运行着的任务创建若刚创建任务的优先级高于创建它的任务的优先级,它将立即获得cpu的使用权任务可通过OSTaskDel()返回睡眠态;或调用该函数让另一个任务进入睡眠态运行态(taskrunning)就绪的任务只有当所有优先级高于它的任务都转为等待状态,或被删除后,才能进入运行态任何时刻只有一个任务处于运行态调用OSStart()可以启动多任务。该函数只能在启动时调用一次OSStart()运行用户初始化代码中已经建立的、进入就绪态的优先级最高的任务等待状态(taskwaiting)正在运行的任务可以通过下面的调用进入等待状态。延迟时间到,立即强制执行任务切换,让下一个优先级最高、并进入就绪态的任务执行。OSTimeDly()OSTimeDlyHMSM()等待时间过去后,系统服务(内部)函数OSTimeTick()使延迟了的任务进入就绪态用户无需在应用程序代码中调用这个函数等待状态(续)正在运行的任务可能需要通过调用函数等待某一事件发生。如果该事件并未发生,任务就进入等待状态OSMutexPend()OSSemPend();OSMboxPend()当事件发生或等待超时,被挂起的任务就进入就绪态中断服务态(ISRrunning)正在执行的任务是可以被中断的,除非该任务将中断关闭,或系统将中断关闭。被中断的任务便进入了中断服务态响应中断后,正在运行的任务被挂起,中断服务子程序控制了CPU的使用权中断服务态(ISRrunning)中断服务子程序可能会报告一个或多个事件的发生,而使一个或多个任务进入就绪态上述情况下,从中断服务子程序返回之前,C/OS

–II

要判定:被中断的任务是否还是就绪态任务中优先级最高的如果中断服务子程序使另一个优先级更高的任务进入了就绪态,则新进入就绪态的这个优先级更高的任务将得以运行;否则,原来被中断了的任务将继续运行。任务状态当所有的任务都在等待时间发生或等待延迟时间结束时,C/OS

–II执行被称为空闲任务(IdleTask)的内部函数,即:OSTaskIdle()任务状态任务的CPU使用权被剥夺中断恢复任务任务的栈空间每个任务都有自己的栈空间(Stack),栈必须声明为OS_STK类型,并且由连续的内存空间组成;栈空间的分配方法静态分配:在编译的时候分配,例如:

staticOS_STKMyTaskStack[stack_size];

OS_STKMyTaskStack[stack_size];动态分配栈的增长方向栈的增长方向的设置从低地址到高地址:在OS_CPU

温馨提示

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

最新文档

评论

0/150

提交评论