资源预览内容
第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
第9页 / 共10页
第10页 / 共10页
亲,该文档总共10页全部预览完了,如果喜欢就下载吧!
资源描述
总复习嵌入式系统什么是嵌入式系统?.嵌入式系统是以应用为中心,以计算机技术为基础,采用可剪裁软硬件,适用于对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统简而言之,它是完成特定任务的计算机系统嵌入式系统组成 一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程 序等四个部分组成嵌入式计算机系统同通用型计算机系统相比嵌入式系统通常是面向特定应用的嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个 行业的具体应用相结合后的产物嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗 余(专用性)嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具 体产品同步进行为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化 在存储器芯片或单片机本身中嵌入式系统本身不具备自主开发能力处理器的选择要考虑的主要因素处理性能(如时钟频率、寄存器大小等)技术指标(外围设备、支持芯片等)功耗 (特别是手持设备等消费类电子产品)软件支持工具是否内置调试工具供应商是否提供评估板RISC架构的ARM微处理器的特点体积小、低功耗、低成本、高性能支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件大量使用寄存器,指令执行速度快大多数数据操作都在寄存器中完成寻址方式灵活简单,执行效率高.采用固定长度的指令格式XScale处理器.XScale处理器是基于ARMv5TE体系结构的解决方案,是一款全性 能、高性价比、低功耗的处理器.ARM-XScale-PXA270.PXA255处理器.采用Xscale内核(微结构体系框架),集成了许多常用的外围接口,是一款 高性能、低功耗、功能强大的嵌入式应用处理器产品。常用的嵌入式操作系统嵌入式Linux,Windows CE,Symbian,VxWorks,QNX, Palm,等常用Linux命令 ls dir tar rmdir cd cP vi XScale微架构处理器的主要特征.采用了7级超级流水线、动态跳转预测和转移目标缓冲器BTB技术(BranchTarget Buffer);.支持多媒体处理技术、新增乘/累加器MAC、40位累加器、兼容ARMV5TE指令 和特定DSP型处理器CP0。采用了 32KB的指令cache o.采用了 32KB的数据cacheo另外增加了微小型数据cache和微小型指令cacheo.指令存储器管理单元I-MMU和数据存储器管理单元D-MMUo7级超级流水线主流水线 MAC流水线内存访问流水线 MMU : Memory Management Unit内存管理单元,提供内存访问保护和虚拟地址到物理地址的转换 BTB : Branch Target Buffer转移目标缓冲器,用来预测分支类型指令的结果,它提供分支类型指令的目标地址的存储和预测下一个出现在指令cache中的地址。XScale的调试模块.通讯控制模块通过JTAG指令来建立目标机和宿主机的握手.硬件断点模块有指令和数据断点寄存器,由协处理器控制跟踪缓冲模块对程序历史记录以实现恢复异常和跳转代码下载模块代码下载到I-Cache,调试代理程序实现读/写电源管理模块运行模式快速模式 (CCCR的N)空闲模式:空闲模式没有改变时钟的产生。应用程序选择 PWRMODE寄存器的M段来选择空闲方式。 33MHz空闲模式:在33MHz空闲模式下其他所有的外设单元都不 能使用包括SDRAM、LCD和DMA控制器睡眠模式:许多处理器内部单元功能关闭,实时时钟和电源管理模 块继续工作。通过使用PWRMODE寄存器来进入睡眠模式脉宽调制(Pulse Width Modulation,PWM)控制电路,通常称 为PWM控制电路,是利用半导体功率晶体管或晶闸管等开关器件的 导通和关断,把直流电压变成电压脉冲列,控制电压脉冲的宽度或周 期以达到变压目的,或者控制电压脉冲宽度和脉冲列的周期以达到变 压变频目的的一种变换电路。 PXA255 的 DMAC DMAC有16个通道,从通道0到通道15BOOTP协议 BOOTP 服务的全称是 BootStrap Protocol使用TCP/IP网络协议中的UDP 67/68两个通讯端口这种协议允许正在启动的主机动提配置而无需用户监督。Bootp主要用于客 户机从服务器获得自己的IP地址,服务器的IP地址以及启动映像文件名称。常用到的DHCP服务就是从BOOTP服务扩展而来的如何配置BOOTP协议? (1)在宿主机上安装xinetd (2)在宿主机上安装BOOTP(3 )生成和设置bootptab文件TFTP协议 TFTP 服务的全称是 Trivial File Transfer Protocol. TFTP可以看成一个简化了的FTP特点 TFTP承载在UDP上,提供不可靠的数据流传输服务,不提供存取授权与认证 机制,使用超时重传方式来保证数据的到达最普遍使用的是第二版TFTP(TFTP Version 2,RFC1350)使用UDP的67端 口 TFTP在安装时一定要设立一个单独的目录作为TFTP服务的根目录, 以减少安全隐患编译.交叉编译.交叉编译就是在一个架构下编译另一个架构的目标文件 MakeXA. make是Linux下的一款程序自动维护工具,配合Makefile的使用,就能够根据程序中模块的修 改情况,自动判断应该对那些模块重新编译,从而保证软件是由最新的模块构成。. Makefile. Makefile用于描述系统中模块之间的相互依赖关系,以及产生目标文件所要执行的命令,所以, 一个makefile由依赖关系、规则指令三部分内容组成.依赖关系由一个目标和一组该目标所依赖的源文件组成.规则用来说明怎样使用所依赖得文件来建立目标文件Bootloader什么是 BootLoader?.Boot Loader就是在操作系统内核运行之前运行的一段小程序.初始化硬件设备和建立内存空间的映射图.将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境主要功能.初始化硬件,例如CPU clock, Memory timing, interrupt, UART 和 GPIO。启动Linux。这是Bootload最重要的功能,它将内核映像复制到SDRAM中并跳转到内核入口 地址处.下载Image。下载内核和文件映像到SDRAM中。下载只能够通过以太网.Flash存储器管理。用write, erase, lock, unlock等命令管理FLASH存储器 Boot Loader的操作模式启动加载模式下载模式 Boot Loader与主机之间的通信设备及协议 最常见的是串口,协议xmodem/ymodem/zmodem以太网,协议tftp操作系统的角度看,Boot Loader的总目标就是正确地调用内核来执行大多数Boot Loader都分为阶段1和阶段2两大部分.阶段1实现依赖于CPU体系结构的代码(汇编)阶段2实现一些复杂的功能 (C语言) Boot Loader的阶段1通常包括以下步骤 1)硬件设备初始化。 2)为加载阶段2准备RAM空间 3)拷贝阶段2到RAM中 4)设置堆栈指针sp 5)跳转到阶段2的C入口点阶段2介绍 1)初始化本阶段要使用到的硬件设备 2)检测系统的内存映射 3)加载内核映像和根文件系统映像 4)设置内核的启动参数 5)调用内核 ARM处理器的7种运行状态(模式)用户状态(User)快中断状态(FIQ,Fast Interrupt Request)中断状态(IR Q, Interrupt Request)监管状态(Supervisor)终止状态(Abort)无定义状态(Undefined)系统状态(System) MMU? MMU,也就是“内存管理单元”,其主要作用是两个方面:地址映射对地址访问的保护和限制 MMU可以做在芯片中,也可以作为协处理器什么是冯诺依曼结构? “哈佛结构”?冯诺依曼结构:程序只是一种数据,对程序也可以像对数据一样加以处理,并且可以和数据存储在同 一个存储器中嵌入式系统中往往采用程序和数据两个存储器、两条总线的系统结构,称为“哈佛结构”. ARM系统中的地址映射方式?. ARM系统结构中,地址映射可以是单层的按“段(section)”映射,也可以是二层的页面映射. Linux虚拟内存的实现需要6种机制的支持:.地址映射机制.内存分配回收机制.缓存和刷新机制.请求页机制.交换机制.内存共享机制.虚拟内存提供以下功能?.广阔的地址空间.进程的保护.内存映射.公平的物理内存分配.共享虚拟内存.中断是一个流程,一般来说要经过三个环节:.中断响应.中断处理.中断返回.GPIO?.GPIO是一个通用的可编程的I/O接口,其接口寄存器中的每一位都可以分别在程序的控制下 设置用于输入或者输出.ARM-Linux系统调用处理过程?.arm处理器有自陷指令SWI.cpu遇到自陷指令后,跳转到内核态.操作系统首先保存当前运行的信息,然后根据系统调用号查找相应的函数去执行.执行完了以后恢复原先保存的运行信息返回.系统的启动和初始化过程?.(1)使用bootloader将内核映像载入.(2)内核数据结构初始化(内核引导第一部分):start_kernel()中调用 了一系列初始化函数,以完成kernel本身的设置.(3)外设初始化.Linux进程有5种状态.TASK_RUNNING.TASK_INTERRUPTIBLE.TASK_UNINTERRUPTIBLE.TASK_ZOMBIE.TASK_STOPPEDLinux进程调度.Linux进程调度由函数schedule()实现的,其基本流程可以概括为 五步,清理当前运行中的进程.选择下一个投入运行的进程.设置新进程的运行环境.执行进程上下文切换.后期整理 Linux调度的时机有两种:.(1)在内核应用中直接调用schedule()等待内核时间而需要将进出那个挂起.(2)被动调用schedule().系统调用结束,内核态- 用户态,且need_resched1与Linux模块相关的命令 Ismod 把现在kernel中已经安装的modules列出来 insmod 把某个module安装到kernel中 rmmod把某个没在用的module从kernel中卸载 depmod 制造 module dependency file,以告诉将来的 insmod 要去哪儿找modules来安装Flash Memory两种技术 NAND 和 NOR什么是JFFS YAFFS文件系统 Linux文件系统有两条独立控制设备驱动的途径通过设备驱动的接口通过文件管理器接口 L
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号