嵌入式系统总结课件

上传人:痛*** 文档编号:181856406 上传时间:2023-01-18 格式:PPT 页数:45 大小:709KB
返回 下载 相关 举报
嵌入式系统总结课件_第1页
第1页 / 共45页
嵌入式系统总结课件_第2页
第2页 / 共45页
嵌入式系统总结课件_第3页
第3页 / 共45页
点击查看更多>>
资源描述
嵌入式系统总结 按照章节进行分类嵌入式系统总结嵌入式系统总结 嵌入式系统的概念及现实中的实例两种比较合理定义:从技术的角度定义:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。从系统的角度定义:嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统。第一章嵌入式系统概述第一章嵌入式系统概述嵌入式系统总结2.1 ARM简介 ARM公司简介 ARM是Advanced RISC Machines的缩写,它是一家微处理器行业的知名企业,该企业设计了大量高性能、廉价、耗能低的RISC(精简指令集)处理器。公司的特点是只设计芯片,而不生产。它将技术授权给世界上许多著名的半导体、软件和OEM厂商,并提供服务。嵌入式系统总结 ARM两大处理器状态特点及其关系 ARM7TDMI处理器内核包含2套指令系统,分别为ARM指令集和Thumb指令,并且各自对应1种处理器的状态:ARM状态:32位,处理器执行字方式的ARM指令,处理器默认为此状态;Thumb状态:16位,处理器执行半字方式的Thumb指令。嵌入式系统总结第3章 ARM7TDMI(-S)指令系统 简介 ARM处理器是基于精简指令集计算机(RISC)原理设计的,指令集和相关译码机制较为简单。ARM7TDMI(-S)具有32位ARM指令集和16位Thumb指令集,ARM指令集效率高,但是代码密度低;而Thumb指令集具有较高的代码密度,却仍然保持ARM的大多数性能上的优势,它是ARM指令集的子集。所有的ARM指令都是可以有条件执行的,而Thumb指令仅有一条指令具备条件执行功能。ARM程序和Thumb程序可相互调用,相互之间的状态切换开销几乎为零。嵌入式系统总结第3章 ARM7TDMI(-S)指令系统 ARM指令集与Thumb指令集的关系Thumb指令集具有灵活、小巧的特点ARM指令集支持ARM核所有的特性,具有高效、快速的特点嵌入式系统总结3.1 ARM处理器寻址方式 寻址方式分类 寻址方式是根据指令中给出的地址码字段来实现寻找真实操作数地址的方式。ARM处理器具有8种基本寻址方式。1.寄存器寻址;2.立即寻址;3.寄存器移位寻址;4.寄存器间接寻址;5.基址寻址;6.多寄存器寻址;7.堆栈寻址;8.相对寻址。嵌入式系统总结3.2 指令集 常用指令的使用嵌入式系统总结3.2 指令集介绍 ARM存储器访问指令单寄存器存取装载指令:存储指令:存储器源地址目标寄存器存储器目标地址源寄存器嵌入式系统总结 思考与练习?1.MOV指令与LDR指令都是往目标寄存器中传送数据,但是它们有什么区别吗?MOV指令用于将数据从一个寄存器传送到另一个寄存器中,或者将一个常数传送到一个寄存器中,但是不能访问内存。LDR指令用于从内存中读取数据放入寄存器中。嵌入式系统总结3.2 指令集介绍 算术逻辑运算指令 算术逻辑运算指令包括“加/减”以及“与/或/异或”等指令,它们的格式如下:运算寄存器第二操作数运算符结果寄存器嵌入式系统总结 1.LPC2000系列简介 2.引脚描述 3.存储器寻址 4.系统控制模块 5.存储器加速模块 (MAM)6.外部存储器控制器(EMC)7.引脚连接模块 8.GPIO第四章LPC2000系列ARM硬件结构 9.向量中断控制器 10.外部中断输入 11.定时器0和定时器1 12.SPI接口 13.I2C接口 14.UART(0、1)15.A/D转换器 16.看门狗 17.脉宽调制器(PWM)18.实时时钟嵌入式系统总结4.3.1 片内存储器 片内Flash编程方法1.使用JTAG仿真/调试器,通过芯片的JTAG接口下载程序;2.使用在系统编程技术(即ISP),通过UART0接口下载程序;3.使用在应用编程技术(即IAP),在用户程序运行时对进行擦除和/或编程操作,实现数据的存储和固件的现场升级。ARM7处理器核外设控制器RAMBootBlockFLASHJTAGUART0串口并口JTAGJTAGUART0嵌入式系统总结4.3.1 片内存储器 片内Flash编程方法2.使用在系统编程技术(即ISP),通过UART0接口下载程序;3.使用在应用编程技术(即IAP),在用户程序运行时对进行擦除和/或编程操作,实现数据的存储和固件的现场升级。1.使用JTAG仿真/调试器,通过芯片的JTAG接口下载程序;嵌入式系统总结4.3.2 片外存储器 片外Flash编程方法 Flash的擦写操作需要配合一段符合Flash编程时序的代码,这段代码称为装载程序,一般由用户编写。程序代码(源)程序代码(目标)Loader目标板CPUBUSFlash串口 下载用户代码时,首先得在CPU内运行装载程序,通过它把从串口(或其它接口)接收的代码写到片外Flash中。嵌入式系统总结 概述4.3.3 存储器映射 ARM芯片可以存在片内和片外存储器,这些存储器本身不具有地址信息,它们在芯片中的地址是由芯片厂家或用户分配的,那么给物理存储器分配逻辑地址的过程称为存储器映射。通过这些逻辑地址就可以访问到相应存储器的物理存储单元。嵌入式系统总结4.3.5 存储器重映射及引导块 存储器重映射 将已经过映射的存储器再次映射的过程称为存储器重映射,它使同一物理存储单元出现多个不同的逻辑地址。这些存储单元主要包括引导块“Boot Block”和用于保存异常向量表的少量存储单元。Addr1程序所见存储器.Addr2Addr1存储器管理部件0 x12340 x1234实际物理存储器0 x1234 注意:存储器重映射并不是对映射单元的内容进行了复制,而只是将多个地址指向了同一个存储单元,这种效果是通过芯片内部的“存储器管理部件”实现的。实际物理存储单元通过存储器管理部件进行存储器映射,获得逻辑地址Addr1。1 实际物理存储单元通过存储器管理部件进行存储器重映射,获得逻辑地址Addr2。此时,逻辑地址Addr1和Addr2可以访问同一实际物理存储单元。2嵌入式系统总结4.4.2 时钟系统 时钟系统结构 LPC2000系列微控制器的时钟系统包括四个部分:晶体振荡器、唤醒定时器、锁相环(PLL)和VPB分频器。外接晶体或外接时钟源产生稳定的时钟信号将Fosc提升到合适的频率PLL晶体振荡器VPB分频器FCCLKFPCLKfOSCFOSCCPU内核芯片外设唤醒定时器ON/OFFON/OFF1342 为系统提供基本的时钟信号(Fosc)。1 在复位或处理器从掉电模式被唤醒时,为输入的时钟信号做计数延时,使芯片内部部件有时间进行初始化。2 把Fosc信号提高到一个符合用户需要的频率(Fcclk)其中Fcclk用于CPU内核。3 用于把Fcclk信号降低到一个合适的Fpclk值(也可以不降低),该信号用于外设部件。4嵌入式系统总结4.5 存储器加速模块(MAM)概述 LPC2000微控制器扩展了器件内部Flash总线宽度为128位,用于提高处理器的指令执行速度。这个接口通过存储器加速模块(MAM)来控制。嵌入式系统总结Flash组2Flash组1CPU 执行指令取指阶段 等待 指令提供指令1提供指令3.取指阶段提供指令4取指阶段 等待3 等待取指阶段提供指令2取指阶段 等待124 关闭MAM指令执行情况 从Flash组1中读取指令,CPU处于等待状态。1 CPU从1组指令缓存区中获取指令并执行。2 从Flash组2中读取指令,CPU处于等待状态。3 CPU从2组指令缓存区中获取指令并执行。4 所有存储器操作请求都会直接对Flash操作,由此产生了CPU停止,等待若干周期的情况。嵌入式系统总结Flash组2Flash组1CPU 执行指令 开启MAM指令执行情况.1413提供指令13 14 15 16取指阶段1211109取指阶段提供指令910 11 128765取指阶段提供指令56784321提供指令12345678取指阶段取指阶段 等待 指令.两组指令缓存区中不存在指令,启动Flash存储器指令读取周期,CPU停止,等待若干周期。1 CPU执行Flash组1指令缓存区中的指令。2 CPU执行Flash组2指令缓存区中的指令,同时从Flash组1中读取指令。3 只要指令存在两个组的指令缓存区中,CPU的指令执行是连续的,由此大大提高了指令执行效率。嵌入式系统总结4.9 向量中断控制器 概述 ARM7TDMI内核具有两个中断输入,分别为IRQ中断和FIQ中断。向量中断控制器(VIC)负责管理芯片的中断源,最多可以管理32个中断输入请求。CPU 内核ARM7TDMI-S嵌入式系统总结4.9 向量中断控制器 FIQ中断硬件处理流程将当前的程序状态寄存器的内容备份即,SPSR_fiq=CPSR处理器切换到FIQ模式禁止IRQ和FIQ中断,即,I=F=1保存返回地址LR_fiq=PC设置FIQ异常入口地址PC=0 x1C发生FIQ异常事件说明:ARM7不支持FIQ中断嵌套嵌入式系统总结4.9 向量中断控制器 IRQ中断相应流程将当前的程序状态寄存器的内容备份即,SPSR_irq=CPSR处理器切换到IRQ模式禁止IRQ中断,即,I=1保存返回地址LR_irq=PC设置IRQ异常入口地址PC=0 x18发生IRQ异常事件说明:ARM7不支持IRQ中断嵌套嵌入式系统总结4.10 外部中断输入概述LPC2000系列ARM具有4路外部中断,可以设置为2种类型:边沿触发:上升沿触发 下降沿触发 电平触发:高电平触发 低电平触发嵌入式系统总结4.12 SPI接口(Serial Peripheral Interface-串行外设接口)SPI总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。外围设置FLASHRAM、网络控制器、LCD显示驱动器、A/D转换器和MCU等。SPI总线系统可直接与各个厂家生产的多种标准外围器件直接接口,该接口一般使用4条线:串行时钟线(SCK)、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOSI和低电平有效的从机选择线SS(有的SPI接口芯片带有中断信号线INT或INT、有的SPI接口芯片没有主机输出/从机输入数据线MOSI)。嵌入式系统总结SCLSDACPU ACPU BLCD驱动器E2PROMADC4.13 I2C接口 概述 I2C总线是Philips推出的串行传输总线,它以2根连线实现了完善的全双工同步数据传送,可以极方便地构成多机系统和外围器件扩展系统。嵌入式系统总结 I2C总线采用了器件地址的硬件设置方法,通过软件寻址完全避免了期间的片选线寻址方法,从而使硬件系统具有最简单而灵活的扩展方法。I2C总线的两根线(串行数据SDA,串行时钟SCL)连接到总线上的任何一个器件,每个器件都应有一个唯一的地址,而且都可以作为一个发送器或接收器。此外,器件在执行数据传输时也可以被看作是主机或者从机。嵌入式系统总结I2C总线规范传输协议 主机发送数据到从机 主机从机主机发送起始信号,开始数据传输对从机进行寻址,同时R/W=0发送应答信号发送1字节数据发送应答信号发送1字节数据发送停止信号,结束数据通信嵌入式系统总结I2C总线规范传输协议 主机读取从机数据主机从机发送停止信号,结束数据通信主机发送起始信号,开始数据传输对从机进行寻址,同时R/W=1发送应答信号发送1字节数据发送应答信号发送1字节数据发送应答信号发送非应答信号嵌入式系统总结 复合格式发送停止信号,结束数据通信再次发送起始信号对从机进行寻址,同时R/W=1发送应答信号发送应答信号发送1字节数据发送应答信号发送非应答信号主机发送起始信号,开始数据传输对从机进行寻址,同时R/W=0发送1字节数据主机从机发送应答信号发送应答信号发送应答信号发送1字节数据发送1字节数据嵌入式系统总结UART简介 UART:Universal Asynchronous Receiver/Transmitter,通用异步接收/发送装置,UART是一个并行输入成为串行输出的芯片,通常集成在主板上,多数是16550AFN芯片。因为计算机内部采用并行数据,不能直接把数据发到Modem,必须经过UART整理才能进行异步传输,其过程为:CPU先把准备写入串行设备的数据放到UART的寄存器(临时内存块)中,再通过FIFO(First Input First Output,先入先出队列)传送到串行设备,若是没有FIFO,信息将变得杂乱无章,不可能传送到Modem。嵌入式系统总结 应用示例LPC2000的I/O电压为3.3V,连接时须注意电平的匹配。LPC2000其它通信设备TxD0RxD0TxD0RxD0与PC机相连时,由于PC机串口是RS232电平,所以连接时需要使用RS232转换器。LPC2000PC机串口232电平转换TxD0RxD0TxD0RxD0RxD1RTSCTSDSR1DTR1TxD1LPC2000ModemTxDRxDDCDRI1RTSCTSDSR1DTR1DCD1RI1RS232电平转换当使用Modem接口时,需要一个RS232转换器将信号转换为RS232电平后,才能与Modem连接。嵌入式系统总结4.16 看门狗 看门狗简介 在嵌入式应用中,CPU必须可靠工作,即使因为某种原因进入了一个错误状态,系统也应该可以自动恢复。看门狗的用途就是使微控制器在进入错误状态后的一定时间内复位。其原理是在系统正常工作时,用户程序每隔一段时间执行喂狗动作(一些寄存器的特定操作),如果系统出错,喂狗间隔超过看门狗溢出时间,那么看门狗将会产生复位信号,使微控制器复位。嵌入式系统总结4.16 看门狗 看门狗简介看门狗分硬件看门狗和软件看门狗。硬件看门狗是利用一个定时器电路,其定时输出连接到电路的复位端,程序在一定时间范围内对定时器清零(俗称“喂狗”),因此程序正常工作时,定时器总不能溢出,也就不能产生复位信号。如果程序出现故障,不在定时周期内复位看门狗,就使得看门狗定时器溢出产生复位信号并重启系统。嵌入式系统总结4.17 脉宽调制器 PWM简介 LPC2000的PWM基于标准的定时器模块,具有定时器的所有特性,它是定时器匹配功能的扩展。使用PWM功能,可以在指定引脚输出需要的波形。输出波形可分为两类:单边沿输出;双边沿输出。嵌入式系统总结5.1 最小系统 框图嵌入式控制器时钟系统调试测试接口复位及其配置系统存储器系统供电系统(电源)可选,因为许多面向嵌入式领域的微控制器内部集成了程序和数据存储器可选,但是在样品阶段通常都会设计这部分电路嵌入式系统总结C/OS-II程序设计基础September,2007嵌入式系统总结任务设计任务设计|C/OS-II程序设计基础程序设计基础任务的分类任务的分类按照执行方式分类嵌入式系统总结一般的操作系统都提供时间管理的函数,最基本的就是延时函数,C/OS-II也不例外,C/OS-II所具有的时间管理函数见下表。C/OS-II具有简单的动态内存管理能力。C/OS-II的动态内存管理函数见下表。任务管理函数是操作与任务相关功能的函数,详见下表。系统管理函数是一些与C/OS-II内核或功能相关的一些函数,详见下表。C/OS-II的初始化函数有2个:OSInit()和OSStart(),它们不能在任何任务和中断服务程序中使用,仅在main()函数中按照一定的规范被调用,其中OSInit()函数初始化C/OS-II内部变量,OSStart()函数启动多任务环境。C/OS-II把信号量等都称为事件,管理它们的就是事件管理函数。C/OS-II V2.52具有的事件有普通信号量、互斥信号量、事件标志组、消息邮箱和消息队列,这些都是C/OS-II用于同步与通讯的工具,本章后述的内容将会详细介绍。系统函数概述系统函数概述|C/OS-II程序设计基础程序设计基础系统函数的分类系统函数的分类初始化初始化任务管理任务管理时间管理时间管理内存管理内存管理根据功能分类事件管理事件管理函数名功能备注OSStatInit()使能任务统计功能复位一次只能调用一次,并且必须在任务中调用,在调用时其它用户任务不能处于就绪状态OSIntEnter()进入中断处理必须由中断服务程序按照规范调用,使用本公司的模版就不需要调用它们OSIntExit()退出中断处理OSSchedLock()锁调度器必须配对使用,一般情况不需要使用。事实上,C/OS-II不推荐使用它们OSSchedUnlock()解锁调度器OS_ENTER_CRITICAL()进入临界区必须配对使用,一般通过禁止中断和允许中断来实现的。对于一些移植代码来说,不能嵌套调用函数名功能函数名功能OSTaskChangePrio()改变任务优先级OSTaskSuspend()挂起任务OSTaskCreate()建立任务OSTaskResume()恢复任务OSTaskCreateExt()建立任务,比OSTaskCreate()控制任务属性更多OSTaskStkChk()检查堆栈OSTaskDel()删除任务OSTaskQuery()获得任务信息OSTaskDelReq()请求删除任务,有特殊用途系统管理系统管理备注以时钟节拍为单位延时以钟时分秒毫秒为单位延时OSTimeDlyHMSM()可能需要多次才能恢复以时钟节拍为单位以时钟节拍为单位由时钟节拍中断处理程序调用,用户很少使用函数名功能OSMemCreate()初始化一个堆OSMemGet()从指定堆中获得一个内存块OSMemPut()从指定堆中释放一个内存块OSMemQuery()查询指定堆的状态嵌入式系统总结C/OS-II程序设计基础程序设计基础互斥信号量互斥信号量 简介 资源同步 函数列表 123嵌入式系统总结互斥信号量互斥信号量|C/OS-II程序设计基础程序设计基础简介简介 互斥信号量也称为mutex,专用于资源同步。互斥信号量具有一些特性:占用一个空闲优先级,以便解决优先级反转问题。在日常生活中,出租车是一种常用的共享资源,当出租车载客时,从外面可以看到标识为载客;当空闲时,标识为空车。这样等车的人就可以根据标识知道出租车的当前状态,判断是否能够座上这辆车。这个标识牌就是一个二值信号量。由于这种二值信号量可以实现对共享资源的独占式处理,所以叫做互斥信号量。载客载客空车空车二值信号量可以实现对共享资源的独占式处理互斥信号量 嵌入式系统总结互斥信号量互斥信号量|C/OS-II程序设计基础程序设计基础简介简介 优先级列表任务1任务2任务3高低共享资源 假设任务1和任务3共享一个资源,任务2为优先级介于任务1和任务3之间的一个与该共享资源无关任务,分析优先级反转问题。任务2优先级高于任务3而进入运行状态任务1申请共享资源而处于等待状态此时,虽然任务1比任务2优先级更高,但却在任务2之后运行,这种现象就是优先级反转。任务3得到共享资源而处于运行状态嵌入式系统总结互斥信号量互斥信号量|C/OS-II程序设计基础程序设计基础简介简介 综上所述,可以说能防止优先级反转现象的信号就是互斥信号量。优先级列表互斥信号量任务1任务2任务3高低互斥信号量任务3互斥信号量 假设任务1和任务3共享一个资源,使用互斥信号量进行资源同步,任务2为优先级介于任务1和任务3之间的一个与该共享资源无关任务,通过互斥信号量解决优先级反转问题。任务2优先级不够高无法获得CPU任务1申请互斥信号量而处于等待状态任务3此时,任务2无法在任务1之前得到运行,不发生优先级反转互斥信号量任务1任务3获得CPU,且优先级升到互斥信号量优先级任务1获得CPU,且优先级升到互斥信号量优先级嵌入式系统总结
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 成人自考


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!