嵌入式系统:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。IP核:具有知识产权的、功能具体、接口规范、可在多个集成电路设计中重复使用的功能模块,是实现系统芯片(SOC)的基本构件。嵌入式系统的特点:系统内核小、专用性强、系统精简、高实时性的操作系统软件、嵌入式软件开发使用多任务的操作系统、嵌入式系统开发需要专门的开发工具和环境。嵌入式系统的存储器包含Cache、主存和辅助存储器。Cache是一种容量小、速度快的存储器阵列,它位于主存和嵌入式处理器内核之间,存放的是最近一段时间处理器使用最多的程序代码和数据。硬件层和软件层之间为中间层,也成为硬件抽象层(HAL)或板级支持包(BSP)。系统软件层由实施多任务操作系统(RTOS)、文件系统、图形用户接口(GUI)、网络系统及通用组件模块组成。嵌入式处理器的特点:对实施多任务操作系统具有很强的支持能力;具有功能很强的存储区保护功能;处理器结构可扩展;低功耗。嵌入式处理器分成4类:嵌入式微处理器(MPU)、嵌入式微控制器(MCU)、嵌入式DSP处理器(DSP)、嵌入式片上系统(SOC)。嵌入式微控制器的典型代表是单片机。DSP处理器是专门用于信号处理方面的处理器。嵌入式微处理器是由通用计算机中的CPU演变而来的。片上系统SOC是追求产品系统最大包容的集成器件。目前嵌入式系统的软件主要有两大类:实时系统和分时系统。其中实时系统又分为两类:硬实时系统和软实时系统。硬实时系统:系统对响应时间有严格的要求,如果响应时间不能满足,这是绝对不允许的,可能会引起系统的崩溃或致命的错误。软实时系统:系统对响应时间有要求,如果响应时间不能满足,将带来额外的代价,不过这种代价通常能够接受。嵌入式系统技术应用领域:工业控制、交通管理、信息家电、家庭智能管理系统、POS网络及电子商务、环境监测、机器人。冯·诺依曼体系结构:一种将程序指令存储器和数据存储器合并在一起的存储器结构。哈佛体系结构:一种将程序指令存储和数据存储分开的体系结构。小端字节顺序存储法:低字节数据存放在内存低地址处,高字节数据存放在内存高地址处。大端字节顺序存储法:高字节数据存放在低地址处,第字节数据存放在高地址处。无操作系统的嵌入式软件主要有两种实现方式,即循环轮转和前后台系统。有操作系统的嵌入式软件开发方式的有点:1.提高了系统的可靠性2.提高里系统的开发效率,降低了开发成本,缩短了开发周期3.有利于系统的扩展和移植。内核:指系统当中的一个组件,它包含了操作系统(OS)的主要功能,即OS的各种特性及其相互之间的依赖关系。这些功能包括任务管理、存储管理、输入输出(I/O)设备管理和文件系统管理。商用型实时嵌入式操作系统:VxWorks、WindowsEmbedded、pSOS、PalmOS、OS-9、LynxOS、QNX。免费型实时操作系统:嵌入式Linux、μC/OS。嵌入式系统的调试有四种基本方法:模拟调试、软件调试、BDM/JTAG调试、全仿真调试。ARM采用32位的地址总线,所支持的最大寻址空间为4GB(2^32字节)。ARM微处理器的工作状态有两种:ARM状态,此时处理器执行32位的字对齐的ARM指令;Thumb状态,此时处理器执行16位的、半字对齐的Thumb指令。ARM微处理器共有37个32位寄存器,其中31个为通用寄存器,6个状态寄存器。寄存器R13在ARM指令中常用做堆栈指针。在Thumb指令集中,某些指令强制性要求使用R13作为堆栈指针。R14也称作子程序链接寄存器或连接起存期LR。当执行BL自程序调用指令时,从R14中得到R15(程序计数器PC)的备份。程序计数器PC(R15):寄存器R15用作程序计数器(PC)。ARM体系结构包含一个当前程序状态寄存器(CPSR)和5个备份的程序状态寄存器(SPSR)。ARM微处理器7种运行模式:1.用户模式(USR)2.快速中断模式(FIQ)3.外部中断模式(IRQ)4.管理模式(SVC)5.数据访问终止模式(ABT)6.系统模式(SYS)7.未定义指令终止模式(UND)。对异常的响应:1.将下一条指令的地址保存到响应连接寄存器LR,一边程序在异常处理反悔时能从正确的位置重新开始执行。若异常是从ARM状态进入,LR寄存器中保存的是下一条指令地址;若异常是从Thumb状态进入,则在LR寄存器中保存当前PC的偏移量。2.将CPSR复制到相应的SPSR中。3.根据一场类型,强制设置CPSR的运行模式位。4.强制PC从相关的一场响亮地址去下一条指令执行,从而跳转到相应的异常处理程序处。从异常返回:1.将连接寄存器LR的值减去相应的偏移量后送到PC中。2.将SPSR复制回CPSP中。3.若在进入异常处理时设置了中断禁止位,要在此清除。异常优先级最高为复位。ARM指令的寻址方式:1.寄存器寻址ADDR0,R1,R2;R1值加R2的值结果保存在R0中2.立即寻址ADDR3,R3,#2;R3的值加上2,结果保存在R3中3.寄存器间接寻址LDRR0,[R3];将R3指向的存储单元数据读出,保存到R0中4.寄存器变址寻址LDRR0,[R1,#4];将R1+4指向的存储单元数据读出,保存到R0中5.多寄存器寻址LDMIAR0,{R1,R2,R3,R4};R1←[R0];R2←[R0+4];R3←[R0+8];R4←[R0+12]6.相对寻址Brel;程序跳转到REL处执行7.堆栈寻址引导程序BootLoader是在操作系统内核运行之前运行的一段小程序。μC/OS-Ⅱ可以管理64个任务,用户可以有56个应用任务。μC/OS-Ⅱ为每一个任务分配了一个独立的堆栈空间。μC/OS-Ⅱ是抢占式试试多任务内核,采用基于优先级的任务调度。嵌入式应用系统中任务之间的关系:相互独立、任务互斥、任务同步、任务通信。μC/OS-Ⅱ任务间通信分两种类型:1.低级通信:只能传递状态和整数值等控制信息。2.高级通信:能够传送任意数量的数据,主要包括共享内存和消息传递。μC/OS-Ⅱ提供了3中任务通信机制:信号量、邮箱、消息队列。μC/OS-Ⅱ正常工作的要求:1.处理器的C编译器能产生可重入代码2.在程序中可以打开或者关闭中断3.处理器支持中断,并且能产生定时中断(通常在10~1000Hz之间)4.处理器支持能够容纳一定量数据的硬件堆栈5.处理器有将堆栈指针和其他CPU寄存器存储、读出到堆栈(或者内存)的指令用C语言编写6个操作系统相关的函数:1.任务堆栈初始化函数OSTaskStklnit2.OSTaskCreateHook3.OSTaskDelHook4.OSTaskSwHook5.OSTaskStatHook6.OSTimeTickHook三星公司推出的16/32位RISC处理器S3C2410A为手持设备和一般类型应用提供了低价格、低功耗、高性能小型微控制器的解决方案。S0:CPU寄存器保存来自Cache的字内存管理单元(MMU)在CPU和物理内存之间进行地址转换。3种基本的通信模式:1.单工通信:数据仅能沿着从A到B的单一方向传播2.半双工通信:数据可以沿着从A到B,也可以从B到A,但不能同一时刻传播3.全双工通信:数据在同一时刻可以从A到B,或者从B到A进行双向传播I/O接口的编址方式:1.I/O接口独立编址2.I/O接口与存储器统一编址方式。液晶显示是一种被动的显示,它不能发光,只能使用周围环境的光。JTAG是一种国际标准测试协议,主要用于芯片内部测试。由模式选择、时钟、数据输入和输出这四条线组成。UART:通用异步收发器DMA:直接内存存取TCP/IP协议的典型分层和协议分层每层上的协议应用层(Application)BSD套接字(BSDSockets)传输层(Transport)TCP、UDP网络层(Network)IP、ARP、ICMP、IGMP数据链路层(DataLink)IEEE802.3EthernetMAC物理层(Physical)CISC与RISC的特点类别CISC(复杂指令集计算机)RISC(精简指令集计算机)指令系统指令数量很多较少,通常少于100执行时间有些指令执行时间很长,如整块的存储器内容复制;或将多个寄存器的内容复制到存储器没有较长执行时间的指令编码长度编码长度可变,1~15字节编码长度固定,通常为4个字节寻址方式寻址方式多样简单寻址操作可以对存储器和寄存器进行算术和逻辑操作只能对寄存器进行算术和逻辑操作,Load/Store体系结构编译难以用优化编译器生成高效的目标代码程序采用优化编译技术,生成高效的目标代码程序小端存储法示例地址0x80000x80010x80020x8003数据(十六进制表示)0x670x450x230x01数据(二进制表示)01100111010001010010001100000001大端存储法示例地址0x80000x80010x80020x8003数据(十六进制表示)0x010x230x450x67数据(二进制表示)00000001001000110100010101100111ARM7到ARM11流水线结构的发展ARM7预取译码执行ARM9预取译码执行访存写入ARM10预取发送译码执行访存写入ARM11预取预取译码发送转换执行访存写入