嵌入式系统初探

2016年7月11日星期一嵌入式课程学习第一天

以下是自己整理的上课内容以及知识点的详细解释和补充----

嵌入式系统定义

以应用为中心、以计算机技术为基础,软硬件可裁剪,应用系统对功能、可靠性、成本、体积、功耗和应用环境有特殊要求的专用计算机系统。是将应用程序、操作系统和计算机硬件集成在一起的系统(技术角度)

嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统(系统角度)

特点

功耗限制

嵌入式系统中,尤其是在用电池供电的嵌入式系统中,这是一个主要考虑的因素。大耗电量直接影响到硬件费用,并影响电源寿命以及带来散热问题。

低成本

包含硬件成本和软件成本。硬件成本主要决定于所使用的微处理器、所需的内存及相应的外围芯片;软件成本通常难于预测,但一个好的设计方法有利于降低软件成本。

多速率

系统同时运行多个实时性任务,系统必须同时控制这些动作,但这些动作有些速度慢,有些速度快。

环境相关性

嵌入式系统不是独立的,而是与其被嵌入的设备紧密相关联。

系统内核小

由于嵌入式系统一般是应用于小型电子装置的,系统资源相对有限,所以内核较之传统的操作系统要小得多。

比如ENEA公司的OSE实时OS,内核只有5K,而Windows的内核则要大得多。

专用性强

嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植。

同时针对不同的任务,往往需要对系统进行较大更改,程序的编译下载要和系统相结合,这种修改和通用软件的“升级”是完全不同的概念。

不可垄断性

PC有WinTel垄断

嵌入式系统工业的基础是以应用为中心的“芯片”设计和面向应用的软件产品开发。

产品相对稳定性

普通处理器18月

嵌入式处理器8-10年

一丶嵌入式微处理器分类

根据微处理器的字长宽度:微处理器可分为4位、8位、16位、32位、64位。一般把16位及以下的称为嵌入式微控制器,32位以上的称为嵌入式微处理器。

根据微处理器系统集成度,可划分为两类:一般用途的微处理器,即微处理器内部仅包含单纯的中央处理单元;单芯片微控制器,即将CPU、Rom、RAM及I/O等部分集成到同一个芯片上。

根据嵌入式微处理器的用途:可分为以下几类:

1、嵌入式微控制器(MCU)

又称为单片机。微控制器的片上外设资源通常比较丰富,适合于控制,因此称为微控制器。微控制器芯片内部集成有ROM/EPROM、RAM、总线、总线逻辑、定时/计数器、看门狗、I/O、串行口、脉宽调制输出(PWM)、A/D、D/A、Flash、EEPROM等各种必要功能和外设。微控制器的最大特点是单片化,功耗成本低,可靠性高。常用的有8051、MCS系列、C540、MSP430系列等,目前,微控制器占嵌入式 系统的约70%的市场份额。

2、嵌入式 微处理器(EMPU)

由通用计算机中的CPU发展而来,主要特点是具有32位以上的处理器,具有比较高的性能,价格也较高。与计算机CPU不同的是,在实际嵌入式 应用中,只保留和嵌入式 应用紧密相关的功能硬件,去除其它的冗余功能部分,因此其体积小、重量轻、功耗低、成本低及可靠性高。通常嵌入式微处理器把CPU、ROM、RAM及I/O等元件 做到同一个芯片上,也称为单板计算机。目前,主要的嵌入式 微处理器有ARM、MIPS、POWER PC和基于X86的386EX等。

3、嵌入式DSP处理器

它是专门用于信号 处理方面的处理器,茏在系统结构和指令算法方面进行了特殊设计 ,具有很高 的编译效率和指令执行速率,主要用在数字滤波、FFT、频谱分析等各种仪器上。DSP内部采用程序和数据分开存储和传输的哈佛结构,具有专门硬件乘法器,广泛采用流水线操作,提供特殊 的DSP指令,可用来快速的实现 各种数字信号处理算法,加之集成电路的优化设计,速度甚至比最快的CPU还快数倍。

4、嵌入式 片上系统(SOC)

它是追求产品系统最大包容的集成器件。SOC最大的特点是成功实现了软硬件无缝结合 ,直接 在处理器片内嵌入操作系统的代码模块。体积小,功耗低,可靠性高。

二丶死锁

如果多个进程同时占有对方需要的资源而同时请求对方的资源,而它们在得到请求之前不会释放所占有的资源,那么就会导致死锁的发生,也就是进程不能实现同步。

 

产生死锁的原因可归结为如下两点:

 

(1)竞争资源。当系统中供多个进程共享的资源如打印机、公用队列等,其数目不足以满足进程的需要时,会引起诸进程的竞争而产生死锁。

 

(2)进程间推进顺序非法。进程在运行过程中,请求和释放资源的顺序不当,也同样会导致产生进程死锁。

 

死锁条件

 

1.互斥条件(Mutualexclusion):资源不能被共享,只能由一个进程使用。

 

2.请求与保持条件(Holdand wait):已经得到资源的进程可以再次申请新的资源。

 

3.非剥夺条件(Nopre-emption):已经分配的资源不能从相应的进程中被强制地剥夺。

 

4.循环等待条件(Circularwait):系统中若干进程组成环路,该环路中每个进程都在等待相邻进程正占用的资源。

 

预防死锁

 

1、采用资源静态分配策略,破坏

三丶进程同步

在多道程序环境下,进程是并发执行的,不同进程之间存在着不同的相互制约关系。

 

进程间制约关系

在多道程序环境下,系统中各进程以不可预测的速度向前推进,进程的异步性会给系统造成混乱,造成了结果的不可再现性。为防止这种现象,异步的进程间推进受到二种限制:

(1)资源共享关系

多进程共享资源,例如各进程争用一台计算机,这时各进程使用这台打印机时有一定的限制。如各进程随意使用打印机,会造成打印机结果交织在一起难以区分。所以必须由系统统一分配,每次只允许一个进程使用一段时间打印机,等该进程使用完毕后再将打印机分配给其它进程。这种使用原则称为互斥使用。

(2)相互合作关系

在某些进程之间还存在合作关系,例如图2-2程序并发执行图中一个程序的输入、计算、打印三个程序段作为三个进程并发执行,由于这三个进程间存在着相互合作的关系,即先输入再计算、最后再打印的关系,所以这三个进程在并发执行时推进序列受到限制,要保证其合作关系正确,进程间这种关系称为同步关系。

临界资源

上面分析了进程间共享打印机这类资源时要受到限制,象打印机这类资源一次只允许一个进程使用的资源称为临界资源。属于临界资源有硬件打印机、磁带机等,软件在消息缓冲队列、变量、数组、缓冲区等。当然还有一类象磁盘等资源,它允许进程间共享,即可交替使用,所以它称为共享资源,而临界资源又称独享资源。

四丶进程互斥

两个或两个以上的进程,不能同时进入关于同一组共享变量的临界区域,否则可能发生与时间有关的错误,这种现象被称作进程互斥· 也就是说,一个进程正在访问临界资源,另一个要访问该资源的进程必须等待。

 

在多道程序环境下,存在着临界资源,它是指多进程存在时必须互斥访问的资源。也就是某一时刻不允许多个进程同时访问,只能单个进程的访问。我们把这些程序的片段称作临界区或临界段,它存在的目的是有效的防止竞争条件又能保证最大化使用共享数据。而这些并发进程必须有好的解决方案,才能防止出现以下情况:多个进程同时处于临界区,临界区外的进程阻塞其他的进程,有些进程在临界区外无休止的等待。除此以外,这些方案还不能对CPU的速度和数目做出任何的假设。只有满足了这些条件,才是一个好的解决方案。

实现进程互斥

为实现进程互斥,可以利用软件的方法,也可以在系统中设置专门的同步机制来协调多个进程,但是所有的同步机制应该遵循四大准则:

1.空闲让进当临界资源处于空闲状态,允许一个请求进入临界区的进程立即进入临界区,从 而有效的利用资源。

2.忙则等待已经有进程进入临界区时,意味着相应的临界资源正在被访问,所以其他准备进 入临界区的进程必须等待,来保证多进程互斥。

3.有限等待对要求访问临界资源的进程,应该保证该进程能在有效的时间内进入临界区,防 止死等状态。

4.让权等待当进程不能进入临界区,应该立即释放处理机,防止进程忙等待。

早期解决进程互斥问题有软件的方法和硬件的方法,如:严格轮换法,Peterson的解决方案,TSL指令,Swap指令都可以实现进程的互斥,不过它们都有一定的缺陷,这里就不一一详细说明,而后来Dijkstra提出的信号量机制则更好的解决了互斥问题。

解决进程互斥还有管程,进程消息通信等方式。

五丶单片机的最小硬件系统

单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统,一般包括电源,晶振,复位电路三部分。

六丶嵌入式的最小硬件系统

时钟系统,存储器系统,供电系统(电源),复位及其配置系统,调试测试接口系统。

七丶主频

CPU的主频,即CPU内核工作的时钟频率(CPU Clock Speed)。通常所说的某某CPU是多少兆赫的,而这个多少兆赫就是“CPU的主频”。很多人认为CPU的主频就是其运行速度,其实不然。CPU的主频表示在CPU内数字脉冲信号震荡的速度,与CPU实际的运算能力并没有直接关系。由于主频并不直接代表运算速度,所以在一定情况下,很可能会出现主频较高的CPU实际运算速度较低的现象

八丶嵌入式系统的应用领域

1工业控制

2军事国防

3消费电子

4网络

九丶接口类型

RS-232接口(串口),IrDA(红外),SPI(串行设备接口),I²C,USB,Ethernet,普通接口。

 

 

【注释】以上是嵌入式学习第一天的全部内容,有的来自老师课堂讲解知识点,有的是知识的拓展,也有一部分来自自己的学习,比如网上的资料查找,论坛的咨询等等,深刻发现嵌入式的学习不是一个一步登天的过程,是日积月累的学习。看着博客上面大神们发的博客,觉得自己要学的东西太多。有不足的地方还希望大家及时帮助纠正,一起在这条“不归路”上走下去。。。。。。

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值