![嵌入式 知识点总结_第1页](http://file4.renrendoc.com/view/8570bb0eed5b8e46d6054dbcd727b840/8570bb0eed5b8e46d6054dbcd727b8401.gif)
![嵌入式 知识点总结_第2页](http://file4.renrendoc.com/view/8570bb0eed5b8e46d6054dbcd727b840/8570bb0eed5b8e46d6054dbcd727b8402.gif)
![嵌入式 知识点总结_第3页](http://file4.renrendoc.com/view/8570bb0eed5b8e46d6054dbcd727b840/8570bb0eed5b8e46d6054dbcd727b8403.gif)
![嵌入式 知识点总结_第4页](http://file4.renrendoc.com/view/8570bb0eed5b8e46d6054dbcd727b840/8570bb0eed5b8e46d6054dbcd727b8404.gif)
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、嵌入式系统的特点:⑴.嵌入式系统的共性化很强,软件系统和硬件在不同的应用中均有差异;⑵.由通用计算机系统进展而来,依据应用对软硬件进行裁剪;⑶,高的牢靠性,强的有用性;(4),高的耗电量直接影响系统的成本及电源寿命;2、什么是嵌入式系统?嵌入式系统是以应用为中心,以计算机技术为基础,采纳可剪裁硬件,适用于对功能,牢靠性,成本,体积,功耗等有严格要求的专用计算机系统。3、采纳RISC架构的ARM微处理器一般具有如下特点:⑴.体积小、功耗低、成本低、性能高;⑵.支持Thumb(16位)/ARM(3位)双指令集,能很好地兼容8位/16位器件;⑶.大量使用寄存器,指令执行速度快;⑷.大多数数据操作都在寄存器中完成;⑸,寻址方式敏捷简洁,执行效率高;⑹.采纳固定长度的指令格式;4、嵌入式系统开发流程:选择嵌入式处理器(硬件平台)一选择嵌入式操作系统(软件平台)一-开发嵌入式应用软件一-测试通过一(是)一系统测试一--开发结束5、嵌入式系统软件设计流程:代码编程(C/汇编源程序)--—交叉编译(OBJ文件)-一交叉函数库--交叉链接(系统映像文件)一(重定向与下载)一目标板--调试;6、ARM9E处理器有独立的指令缓存(ICACHE)和数据缓存(DCACHE);7、ARM9系列处理器共有37个寄存器,其中31个属于通用寄存器,6个为ARM处理器;8、ARM总共有7种不同的处理器模式,分别是:用户模式,快速中断模式,外部中断模式,管理模式,数据访问中止模式,未定义指令中止模式,系统模式9、R13一般作为栈指针SP;R14被称为连接寄存器LR,作用:一是在通过BL或者BLX指令调用子程序时存放当前子程序的返回地址;二是在发生特别时用来保存该模式基于PC的返回地址;R15是程序计数器PC,用来保存处理器取值的地址;10、流水线技术的工作原理:ARM7采纳的是3级流水线:FETCH/DECODE/EXECUTE.此时在EXECUTE阶段要完成大量的工作,包括寄存器和存储器的读写操作、移位操作、ALU操作等,这导致在执行阶段往往需要多个时钟周期,从而成为系统性能的瓶颈。ARM9采纳5级流水线技术,分别是FETCH/DECODE/EXECUTE/MEMORY/WRITE.FETCH阶段和之前功能相同,即从指令存储器中取值;DECODE阶段除了译码之外,还读取寄存器操作数;EXECUTE阶段执行运算,产生ALU运算结果或产生存储器地址;MEMORY阶段进行存储器的读写操作;WRITE阶段将结果写回寄存器;11>ARM9使用一个统一的TLB来缓存页表信息,TLB主页分为两个部分:主TLB和锁定TLB;12、ARM总共有7种处理器特别:复位特别、未定义指令特别、软件中断特别、指令预取终止特别、数据访问终止特别、外部访问终止特别、快速中断恳求特别13、(1),复位特别和软件中断特别时,处理器进入管理模式;⑵,未定义指令特别时,处理器进入未定义模式;⑶.指令预取终止特别和数据访问终止特别时,处理器进入中止模式;⑷,外部中断恳求时,处理器进入外部中断模式;(5),快速中断恳求时,处理器进入快速中断模式;.ARM运行状态:ARM状态和Thumb状态;ARM指令必需在ARM状态下执行,同样,Thumb指令也必需处于Thumb状态下执行。.ARM状态和Thumb状态切换可以通过BX指令来实现。.ARM指令集有5种形式的位移操作:LSL:规律左移;LSR:规律右移;ASR:算术右移;ROR:循环右移;RRX:带扩展的循环右移;.马上数并不是任意数都是合法的,在马上数寻址中,安排给马上数的空间是12位,8位用于保存一个常数,4位用于保存循环右移基数,而循环右移每次需要移动偶数位,即右移的位数是基数*2;假设常数为A,循环右移位数为N,则最终得到的马上数二A循环右移(N*2位);.ARM指令的寻址方式及特点:⑴马上寻址;⑵.寄存器偏移寻址;⑶,寄存器偏移寻址;⑷.寄存器间接寻址;⑸,基址变址寻址;⑹.多寄存器寻址;⑺,堆栈寻址:满递增堆栈、空递增堆栈、满递减堆栈、空递减堆栈;.LDR和STRLDR指令:从内存读取数据装入寄存器;STR指令:将寄存器中的数据存入内存;.CDP:是协处理器数据处理指令:用来执行特定的数据操作;MCR:将ARM寄存器中的数据传输到协处理器寄存器中;MRC:数据传输方向与MCR指令相反,它将协处理器寄存器中的数据传送到ARM处理器寄存器中;.ADR:小范围的地址读取伪指令,主要用来读取基于PC相对偏移的地址或基于寄存器相对偏移的地址;LDR:大范围伪地址读取伪指令,用于加载32位的马上数或是一个地址值;.Thumb跳转指令:B:是Thumb指令中唯一可以条件执行的指令;BL:带链接的长跳转;BX:指令在跳转的同时,会选择性的切换指令集;BLX:带链接的跳转,并选择性的切换指令集;.MMU:其作用主要有2个方面:一是地址映射,负责将虚拟地址映射成物理地址;二是对地址访问的爱护和限制;供应硬件机制的内存访问授权,大多数使用虚拟存储器的系统都使用一种称为分页机制,虚拟地址空间划分成大小相同的一组页,每个页有一个用来标记它的页号,而相应的物理地址空间也被进行划分,单位帧、页和页帧的大小必需相同,虚拟地址被送往MMU,MMU将虚拟地址转化为物理地址。.进程调度策略可分为:〃抢占式调度〃和〃非抢占式调度〃;25,在用户空间中,进程是由进程标识符(PID)表示的,一个PID在进程的整个生命期间不会更改,但PID可以在进程进行销毁后重新使用;对用户来说,PID是唯一标识一个进程的数字值;.Linux进程还可以通过exec系统调用产生;.Linux操作系统有三种进程调度策略:⑴.分时调度策略;(2).先到先服务的实时调度策略;⑶.时间片轮的实时调度策略;28.嵌入式文件系统分类:⑴.基于Flash的文件系统:JFFS2文件系统;YAFFS文件系统;Cramfs;Romfs;其他文件系统;⑵.基于RAM的文件系统:RamDisk;Ramfs/Tmpfs⑶.网络文件系统NFS29.BootLoader阶段一:1.基本的硬件初始化:a.屏蔽全部中断;b.设置CPU的速度和时钟频率;c.RAM初始化;d.初始化LED;.ARM-Linux内存管理原理:从两方面入手:一是Linux内核对内存的管理(包括最重要的地址映射、内存空间的安排以及地址访问的限制,即爱护机制);二是体系对内存管理方面的特别性;.Linux虚拟内存的实现需要6种机制的支持:地址映射机制、恳求页机制、内存安排回收机制、缓存和刷新机制、交换机制和内存共享机制;.Linux虚拟内存实现机制间的相互关系:地址映射机制--恳求页机制--内存安排和回收机制一交换机制--缓存和刷新机制.进程,又称作任务,是一个动态的执行过程,是处于执行期的程序,进程是系统资源安排的最小单位。.在Linux系统中,全部的进程都是fork出来的,它们有个共同的祖先:0号进程;init是内核启动的第一个用户级进程,也是系统的第一个真正的进程,是其他全部进程的父进程,所以init内核线程(或进程)的标识符为1,init有很多重要的任务,负责完成系统的一些初始化设置任务,以及执行系统初始化程序,init程序使用/etc/inittab作为脚本文件来创建系统中的新进程;.进程的销毁通过以下三个大事驱动:正常的进程结束、信号、exit函数的调用;.进程调度时机可分为:主动调度和被动调度;按细分的话:⑴进程状态转换;⑵当前进程的时间片用完;(3)设施驱动程序;(4)进程从中断、特别以及系统调用返回到用户态;.选择进程的依据:policy、priority、counter>rt_priority;.内核模块全称为动态可加载内核模块,是Linux内核向外部供应的一个插口,简称为模块;.加载模块有两种方法:第一种是通过insmod命令手工将module载入内核;其次种是依据需要载入module;kerneld的主要功能是module载入内核和将它卸载出内核;.中断是一个流程,一般经过三个环节:中断相应、中断处理、中断返回;.ARM-Linux的系统调用原理:系统调用的过程和中断有类似之处,当CPU遇到自陷指令后,跳转到内核态,操作系统首先保存当前运行的信息,然后依据系统调用号来查找相应的函数去执行,执行完了以后恢复原先保存的运行信息返回,比如通常应用程序所用的fork()函数,它是经过包装的函数,其最终的实现是系统调用;.在UNIX系统下有两种方式实现系统调用:通过经过封装的C库或者直接调用;.系统调用的过程和中断有类似之处,当CPU遇到自陷指令后,跳转到内核态,操作系统首先保存当前运行的信息,然后依据系统调用号查找相应的函数去执行,执行完了以后恢复原先保存的运行信息返回;通过不同的向量索引可以使CPU马上转入不同的处理程序;45.init进程是系统全部进程的起点,内核在完成核内参数init二XXX来设置init进程,init进程需要读取/etc/inittab文件作为其行为指针,inittab是以行为为单位的描述性(非执行性)文本;.存储文件系统的设施称为block设施(块设施);.设施驱动的接口API都是从文件管理器API中继承下来的,所以这些设施API都有open().close().read().write().lseek()^Uioctl()等与文件API类似的接口;.Linux也使用文件管理器,但是它的文件管理器使用了VFS(虚拟文件系统),正是VFS让Linux能够支持目前多种文件系统。VFS具备访问各种各样的文件系统的力量,也是由于VFS在内部去适应各种不同文件系统的差异,而供应应用户进程的是统一的文件APIo49JFFS2嵌入式文件系统原理:首先JFFS2是一个日志结构文件系统,包含数据和元数据的节点在闪存上挨次存储。JFFS2定义了三种节点类型:JFFS2_NODETYPEJNODE,JFFS2_NODETYPE_DIREN7;JFFS2_NODETYPE_CLEANMARKERoJFFS2中I节点的信息并没有全部存放在内存,mount操作时,会为节点建立映射表,但是这个映射表并不全部存放在内存中,存放在内存中的节点信息是一个缩小尺寸的结构体。JFFS2使用了多个级别的待回收块队歹上JFFS2写平衡策略是在垃圾收集中实现的,垃圾收集的时候会读取系统时间,使用这个系统时间产生一个伪随机数。采用这个伪随机数结合不同的待回收链表选择要进行回收的链表。50JFFS2克服了JFFS中以下缺点:⑴.使用了基于哈希表的日志节点结构,大大加快了对节点的操作速度;⑵.支持数据压缩;⑶,供应了〃写平衡〃支持;⑷.支持多种节点类型(数据I节点,名目I节点等);⑸.提高了对闪存的采用率,降低了内存的消耗;.系统调用是操作系统内核和应用程序之间的接口,而设施驱动程序则是操作系统内核和机器硬件之间的接口;.Linux支持三类硬件设施:字符设施、块设施、网络设施;.Linux内核设施模型的目的和功能:目的:设施模型供应独立的机制表示设施,并表示其在系统中的拓扑结构,这样使系统具有以下优点:代码重复最小;供应如引用计数这样的统一机制;列举系统中全部设施,观看其状态,查看其连接总线;用树的形式将全部设施结构完整、有效地呈现,包括全部总线和内部连接;将设施和对应驱动联系起来,将设施依据类型分类;从树的叶子向根的方向依次遍历,确保以正确挨次关闭各个设施的电源;初衷是为了节能,有助于电源管理,通过建立表示系统设施拓扑关系的树结构,能够在内核中实现智能的电源管理;功能:将系统中的设施组织成层次结构,然后向用户程序供应内核数据结构信息;.同步机制的分类及特点:⑴.同步锁:适用于保持时间段的状况,可以在任何上下文使用,不行以睡眠,任何时候,只能有一个持有者;⑵.信号量:不能用在内核之外,是一种睡眠锁,适用于锁会被长期持有的状况,允很多个持有者;⑶,原子操作:在执行完毕前绝不会被任何其他任何或时间打断,是最小的执行单位,主要用在资源计数上;⑷.完成大事:适用于需要睡眠和唤醒的情景,不会引起资源竞争;.表示字符设施的设施文件可以通过〃ls-1〃命令输出的第一列中的“c〃来识别,而块设施则用“b〃标识;.devt是一个32位的无符号数,其高12位用来表示主设施号,低20位用来表示次设施号;Register_chrdev_region()函数和alloc_chrdev_region()函数用于安排设施号,这两个函数最终都会调用_register_chrdev_region()函数来注册一组设施的编号范围,它们的区分是后者是以动态的方式安排的,unregister_chrdev_region()函数则用于释放设施号。Alloc_chrdev_region()函数用于动态申请设施号范围,通过指针参数返回实际安排的起始设施号,Dev_ti_rdev:对于设施文件而言,此成员包含实际的设施号;Structcdev*i_cdev:字符设施在内核中是用cdev结构来表示的,此成员是指想cdev结构的指针;57.1/0接口是微掌握器必需具备的最基本外设功能。通常在ARM里,全部I/O都是通用的,称为GPI0(通用输入输出);GPI0接口一般至少会有两个寄存器,即掌握寄存器和数据寄存器;58.同步外设接口是由摩托罗拉公司推出的一种高速的、全双工、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 常识听评课活动记录
- 《麻雀》听评课记录
- 暑假安全教育课件13
- 大学生创业法律指南1教学教材
- 会客室地毯施工方案
- 大学课件:物流学导论
- 高三地理教师教学计划
- 农村卫生工作计划范文大全
- 松原市长岭县2024年八年级上学期《数学》期中试题与参考答案
- 青岛市城阳区2023年八年级上学期《数学》期中试题与参考答案
- 河北专接本公共英语PPT课件
- 高效课堂和有效教学模式研究课题中期报告
- 抗浮桩施工工艺及方法
- 《肉鸡生产性能测定技术规范》(公开征求意见稿)标准文本
- 外加剂检测知识培训讲义ppt课件
- 皮肤科疾病临床评分表
- 有机蔬菜科学用药
- 深圳法人代表证明书下载
- LLJ-4A车轮第四种检查器使用方法
- 绿化工程竣工资料(全套)
- 《会诊制度》PPT课件
评论
0/150
提交评论