feisky

云计算、虚拟化与Linux技术笔记
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

嵌入式系统的基本概念

Posted on 2009-01-02 11:05  feisky  阅读(391)  评论(0编辑  收藏  举报
1.前后台系统
应用程序一般是个无限循环,循环中的函数看做后台行为,而终端服务程序看作前台行为。
2.操作系统
3.实时操作系统RTOS
4.代码的临界区
不允许被打断的那部分
5.资源
6.共享资源
7.任务(线程)
8.任务切换
9.内核
10.调度
11.占先式内核,非占先式内核
12.任务优先级
13.中断
14.时钟节拍:周期性中断
前后台系统 Foreground/Background System
应用程序是一个无限的循环,循环中调用相应的函数完成相应的操作,这部分可以看成后台行为(background)。中断服务程序处理异步事件,这部分可以看成前台行为(foreground)。后台也可以叫做任务级。前台也叫中断级。

代码的临界段
代码的临界段也称为临界区,指处理时不可分割的代码。一旦这部分代码开始执行,则不允许任何中断打入。为确保临界段代码的执行,在进入临界段之前要关中断,而临界段代码执行完以后要立即开中断。
资源
任何为任务所占用的实体都可称为资源。资源可以是输入输出设备,例如打印机、键盘、显示器,资源也可以是一个变量,一个结构或一个数组等。
共享资源
可以被一个以上任务使用的资源叫做共享资源。
任务
一个任务,也称作一个线程,是一个简单的程序,该程序可以认为CPU完全只属该程序自己。实时应用程序的设计过程,包括如何把问题分割成多个任务,每个任务都是整个应用的某一部分,每个任务被赋予一定的优先级,有它自己的一套CPU寄存器和自己的栈空间。
每个任务都处在以下5种状态之一的状态下,这5种状态是休眠态,就绪态、运行态、挂起态(等待某一事件发生)和被中断态
休眠态相当于该任务驻留在内存中,但并不被多任务内核所调度。
就绪意味着该任务已经准备好,可以运行了,但由于该任务的优先级比正在运行的任务的优先级低,还暂时不能运行。
运行态的任务是指该任务掌握了CPU的控制权,正在运行中。
挂起状态也可以叫做等待事件态WAITING,指该任务在等待,等待某一事件的发生
发生中断时,CPU提供相应的中断服务,原来正在运行的任务暂不能运行,就进入了被中断状态。

内核(Kernel)
多任务系统中,内核负责管理各个任务,或者说为每个任务分配CPU时间,并且负责任务之间的通讯。内核提供的基本服务是任务切换。
调度(Scheduler
调度(Scheduler),英文还有一词叫dispatcher,也是调度的意思。就是要决定该轮到哪个任务运行了。
多数实时内核是基于优先级调度法的。每个任务根据其重要程度的不同被赋予一定的优先级。
基于优先级的调度法指,CPU总是让处在就绪态的优先级最高的任务先运行。然而,究竟何时让高优先级任务掌握CPU的使用权,有两种不同的情况,这要看用的是什么类型的内核,是不可剥夺型的还是可剥夺型内核。
不可剥夺型内核(Non-Preemptive Kernel
不可剥夺型内核允许每个任务运行,直到该任务自愿放弃CPU的控制权。中断可以打入运行着的任务。中断服务完成以后将CPU控制权还给被中断了的任务。任务级响应时间要大大好于前后系统,但仍是不可知的,商业软件几乎没有不可剥夺型内核。

可重入性(Reentrancy
可重入型函数可以被一个以上的任务调用,而不必担心数据的破坏。可重入型函数任何时候都可以被中断,一段时间以后又可以运行,而相应数据不会丢失。可重入型函数或者只使用局部变量,即变量保存在CPU寄存器中或堆栈中。如果使用全局变量,则要对全局变量予以保护。
时间片轮番调度法
当两个或两个以上任务有同样优先级,内核允许一个任务运行事先确定的一段时间,叫做时间额度(quantum,然后切换给另一个任务。也叫做时间片调度。内核在满足以下条件时,把CPU控制权交给下一个任务就绪态的任务:l当前任务已无事可做l当前任务在时间片还没结束时已经完成了。目前,μC/OS-Ⅱ不支持时间片轮番调度法。应用程序中各任务的优先级必须互不相同
静态优先级
应用程序执行过程中诸任务优先级不变,则称之为静态优先级
动态优先级
应用程序执行过程中,任务的优先级是可变的,则称之为动态优先级。
TTL和CMOS电平
1,TTL电平:
=2.0V,输入低电平<=0.8V,噪声容限是0.4V。
2,CMOS电平:
1逻辑电平电压接近于电源电压,0逻辑电平接近于0V。而且具有很宽的噪声容限。3TTLCOMS电路比较:
1)TTL电路是电流控制器件,而coms电路是电压控制器件。
2)TTL电路的速度快,传输延迟时间短(5-10ns),但是功耗大。COMS电路的速度慢,传输延迟时间长(25-50ns),但功耗低。COMS电路本身的功耗与输入信号的脉冲频率有关,频率越高,芯片集越热,这是正常现象。
ISPIn System Programming),即在系统编程。它允许MCU还在产品电路板上时,对其下载新的程序。这种技术的一个明显优点是,不需要把MCU芯片从你的电路板上拆下来,再装到传统的编程器上来写入新的程序。你尽可以把具有ISP功能的MCU芯片焊接在电路板上,应用更加可靠、方便。
IAPIn Application Programming),即在应用中程序。就是说,MCU自己可以获取新的代码并对自己重新编程。这是一个极为有用的技术,比如可以通过Internet、程控电话网等给你的产品远程升级,就像常见的杀毒软件可以自动升级一样。有了这项技术,你就可以利用现在的程控电话网、互联网等实现你的嵌入式系统远程自动升级,而无须传统的那种给客户邮寄芯片而带来的不便。
ISPIAP的核心技术是相同的,都是调用内部的标准程序对Flash存储器进行擦除和重新编程。区别在于:ISP由片内固化的一个默认的串行加载程序(Boot Loader)来完成这一动作;而IAP则由用户在自己的程序中完成这一调用,这就为产品的远程升级提供了可能,甚至可以说是MCU应用技术的一个里程碑。
先进微控制器总线架构AMBA是ARM公司为高性能片上微控制器定义的一套总线标准,是一种中央多路选择器互连方案,它读数据和写数据的总线分开,完成片上数据传送。AMBA包括先进高性能总线(AHB)、先进系统总线(ASB)和先进外设总线(APB)。AHB和ASB都是高性能总线,采用高性能、高带宽系统设计,它支持多个主 (Master)设备和多个从(Slave)设备,ARM公司推荐使用AHB。APB实际上是二级总线,为AHB/ASB 提供一个低功耗和接口简单的扩展。它从整体上说是一个从设备。APB通过桥与AHB/ASB连接。




无觅相关文章插件,快速提升流量