《嵌入式Linux》期末 第0章 嵌入式系统概述

写在前面

  • 嵌入式linux的学习方法(初级,入门,没有硬件)
    1.找一本关于操作系统书,最好一本中文的,一本英文的,从头读到尾,知道一些术语,一些概念
    2.找一本linux c语言的书,<Unix环境下的高级编程>
    3.找一本驱动程序的书,<linux 下驱动程序设计>、
    4.充分利用网络上的资源

  • 嵌入式linux的学习方法(中级,实践)
    1.嵌入式调试流程,
    1)应用程序交叉编译,下载调试
    2)配置Bootloader,linux内核,文件系统以及下载调试
    2.嵌入式应用程序开发,图形用户界面开发,简单的驱动程序开发

  • 嵌入式linux的学习方法(高级,实践)
    1.复杂的驱动程序开发,(比如USB,编解码器外部硬件的控制等)
    2.文件系统的移植(jffs2,yaffs), 内核的移植,Bootloader的移植

第0章 嵌入式系统概述

学习内容
1. 嵌入式系统概述
2. 介绍ARM处理器
3. Linux操作系统
- 常用指令,vi编辑器,Makefile文件
- Linux应用程序编写
- Linux驱动程序编写
4. Android嵌入式APP编程

1.嵌入式系统的概念

1.1国内定义

嵌入式系统是以应用为中心,以计算机技术为基础,采用可剪裁软硬件,适用于对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统,用于实现对其他设备的控制、监视或管理等功能

从以下几个方面来理解国内对嵌入式系统的定义: 

嵌入式系统是面向用户、面向产品、面向应用的,它必须与具体应用相结合才会具有生命力、才更具有优势。可以这样理解上述三个方面的含义,即嵌入式系统是与应用紧密结合的,它具有很强的专用性,必须结合实际系统需求进行合理的裁减利用。

1.2主要应用领域

·国防工业、军事工业、兵器工业
·信息家电、民用设备
·工业
·商业
·办公自动化
·医疗保健设备
·其他领域

1.3嵌入式系统示例

·汽车控制系统
在这里插入图片描述

·基于ARM CortexM0的便携式血糖仪。
在这里插入图片描述

1.4硬件组成

在这里插入图片描述
·中央处理器是嵌入式系统的核心,它负责控制整个系统的执行。
括微处理器、微控制器、DSP处理器、专用处理器、SOC(System on Chip)

·存储器按存储信息的功能可分为只读存储器ROM(Read Only Memory)和随机存储器RAM(Random Access Memory)

·嵌入式系统中的输入形式一般包括触摸屏、语音输入、按键和虚拟键盘

·输出设备则主要有LCD 显示和语音输出

·外围接口主要有GPIO、串口、I2C总线、USB总线和IEEE 1394总线等等

2.嵌入式系统的特点,分类

2.1特点

嵌入式系统本质上就是一个计算机系统,但与通用计算机系统相比,它具有以下一些特点:
(1)嵌入式系统与应用密切相关。
嵌入式系统是面向用户、面向产品、面向应用的。嵌入式处理器的功耗、体积、成本、可靠性、速度、处理能力、电磁兼容性等方面均受到应用要求的制约。
(2)嵌入式系统存储资源有限。
尽管半导体技术的发展使处理器速度不断提高,芯片上存储器容量不断增加,但在大多数应用中,存储空间仍然是宝贵的,另外还有实时性的要求。为此要求程序的编写质量和编译工具的质量要高,以减少程序二进制代码长度,提高执行速度。
(3)嵌入式系统具有实时约束。
嵌入式系统很多是实时系统。在多任务嵌入式系统中,对重要性各不相同的任务进行统筹兼顾的合理调度是保证每个任务及时执行的关键,单纯通过提高处理器速度是无法完成和没有效率的,这种任务调度只能由优化编写的系统软件来完成,因此系统软件的高实时性是基本要求。
(4)需要交叉开发环境和调试工具。
嵌入式系统本身不具备自举开发能力,即使设计完成以后,用户通常也不能对其中的程序功能进行修改,必须有一套开发工具和环境才能进行开发,这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。

2.2分类

在这里插入图片描述

  • 嵌入式微处理器的基础是通用计算机中的CPU。
    在这里插入图片描述
  • 嵌入式微控制器又称单片机,它是将整个计算机系统集成到一块芯片中。
    在这里插入图片描述
  • DSP处理器是专门用于信号处理方面的处理器,其在系统结构和指令算法方面进行了特殊设计,在数字滤波、FFT、谱分析等各种仪器上DSP获得了大规模的应用。
dsp芯片一般具有如下主要特点:
(1)在一个指令周期内可完成一次乘法和一次加法;
(2)程序和数据空间分开,可以同时访问指令和数据;
(3)片内具有快速ram,通常可通过独立的数据总线在两块中同时访问;
(4)具有低开销或无开销循环及跳转的硬件支持;
(5)快速的中断处理和硬件i/o支持;
(6)具有在单周期内操作的多个硬件地址产生器;
(7)可以并行执行多个操作;
(8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。
  • 嵌入式片上系统(SoC) SoC就是System on Chip
    在这里插入图片描述

3.嵌入式操作系统

3.1嵌入式操作系统概念

嵌入式操作系统是嵌入式应用软件的基础和开发平台。嵌入式系统的出现,解决了嵌入式软件开发标准化的难题。

具有操作系统的最基本的功能:

  • 进程调度(没有虚拟内存的管理)
  • 内存管理、 设备管理、文件管理,中断管理
  • 系统功能接口(API调用,如网络功能) 、设备驱动
    嵌入式操作系统具有的特点:
  • 系统可裁减、可配置
  • 系统具有实时性
  • 系统稳定、可靠
3.2嵌入式操作系统的分类

在这里插入图片描述
嵌入式系统按实时性分类

3.2.1实时操作系统
  • 实时系统的定义:能够对外部事件做出及时响应的系统。响应时间要有保证。
    对外部事件的响应包括:
    * 事件发生时要识别出来
    * 在给定时间约束内必须输出结果
  • 实时操作系统必须有以下特征:
    * 多任务
    * 有线程优先级 (是否为进程)
    * 多种中断级别
3.2.2硬实时软实时
  • “软”意味着如果没有满足指定的时间约束并不会导致灾难性的后果,而对于硬实时系统来说却是灾难性的 。
  • 从实践上说,软实时和硬实时之间的区别通常(隐含的和错误的)与系统的时间精度有关:由于这个原因,典型的,软实时任务的调度精度必须大于千分之一秒,而硬实时任务为微秒级。
  • 硬实时 - 代表产品 VxWorks
    例如:中高档汽车中使用的气囊。
    硬实时系统指系统要有确保的最坏情况下的服务时间,即对于事件的响应时间的截止期限是无论如何都必须得到满足。

  • 软实时 - 代表产品 软实时Linux
    例如:IPTV数字电视机顶盒,需要实时的处理(解码)视频流。
    软实时系统就是那些从统计的角度来说,一个任务能够得到有确保的处理时间,到达系统的事件也能够在截止期限到来之前得到处理,但违反截止期限并不会带来致命的错误。

3.3嵌入式操作系统的组成

在这里插入图片描述

3.4常见的嵌入式操作系统

嵌入式Linux
µcLinux
Android
Windows CE
VxWorks
Symbian OS
Palm OS
QNX
µC/OS-II
OSE
Nucleus PLUS

  1. 嵌入式Linux及应用
    ·Linux是开放源码和免费使用的,遍布全球的众多Linux爱好者又是Linux开发的强大技术后盾。
    ·嵌入式Linux(Embedded Linux)是指对Linux经过小型化裁剪后,能够固化在容量只有几百K字节或几兆字节的存储器芯片或单片机中,应用于特定嵌入式场合的专用Linux操作系统。嵌入式Linux的开发和研究是目前操作系统领域的一个热点。主要有RTLinux和CLinux
    ·Linux的内核小、功能强大、API丰富,系统健壮、效率高,易于定制剪裁,在价格上极具竞争力。
    ·Linux不仅支持x86 CPU,还可以支持其他数十种CPU芯片。
    ·近几年Linux在嵌入式领域异军突起,过去的一年中有13%的用户已经开始使用嵌入式Linux系统进行开发工作;有52%的用户决定在未来24个月内开始使用Linux作为嵌入式操作系统的开发原型。

  2. 基于RTLinux的仿人机器人

  3. µcLinux
    在这里插入图片描述

  4. Windows Embedded
    ·Windows CE:一种针对小容量、移动式、智能化、32位、连接设备的模块化实时嵌入式操作系统(缩减的Win95)。
    ·针对掌上设备、无线设备的动态应用程序和服务提供了一种功能丰富的操作系统平台,属于软实时操作系统,
    ·由于其Windows背景,界面比较统一认可。可以使用大多数Windows开发工具(如VB,VC等),大多数Windows应用程序经过移植后就可以运行在WinCE平台上。
    ·操作系统的基本内核需要至少200K的ROM。

  5. 基于Win CE的移动机器人平台

  6. VxWorks
    ·VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),具有良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域牢牢占据着一席之地。
    ·VxWorks所具有的显著特点是:

    • 可靠性、实时性和可裁减性。
    • 它支持多种处理器,如x86、i960、Sun Sparc、Motorola MC68xxx、MIPS 、POWER PC等等。
      ·以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空航天等高精尖技术及实时性要求极高的领域中,如火星探测器(1997年7月4日登陆火星表面)。
  7. 基于VXworks的火星探路者

  8. µC/OS及µC/OS-II
    ·µC/OS—Micro Controller OS
    ·µC/OS简介
    美国人Jean Labrosse 1992年完成,已应用于数百种产品中。
    应用面覆盖了诸多领域,如照相机、医疗器械、音响设备、发动机控制、高速公路电话系统、自动提款机等
    1998年µC/OS-II,目前的版本µC/OS -II V2.72
    2000年,得到美国航空管理局(FAA)的认证,可以用于飞行器中
    是一个源码公开、可移植、可裁减、占用资源少、抢先式的实时多任务操作系统。其绝大部分源码采用ANSI C写的,移植性好。高校教学可免费使用。
    网站www.ucos-II.com(www.micrium.com)

  9. Android
    · Android一词的本义指“機器人”Android是Google在2007年11月5日公布的基于Linux平台的开源智能手机操作系统名称。该平台由操作系统、中间件、用户界面和应用软件组成,首个为移动终端打造的真正开放和完整的移动软件。
    ·Android手机系统最震撼人心之处在于它的开放性和服务免费。Android是一个对第三方软件完全开放的平台,开发者在为其开发程序时拥有更大的自由度,突破了iPhone等只能添加为数不多的固定软件的枷锁;同时与Windows Mobile、Symbian等厂商不同,Android操作系统免费向开发人员提供。
    · Android架构
    在这里插入图片描述

3.5嵌入式系统软件的开发模式——交叉开发

交叉开发:在一台通用计算机上进行软件的编辑、编译,然后下载到嵌入式设备中运行调试的开发方式。
在这里插入图片描述

4 嵌入式系统的设计方法

4.1嵌入式系统的设计准则

嵌入式系统设计不同于桌面系统,它非常受制于功能和具体的应用环境。所以嵌入式系统的设计具有一些特殊的要求。
嵌入式系统的设计要求:

  • 并发处理,及时响应
  • 接口方便,操作容易
  • 稳定可靠,维护简便
  • 功耗管理,降低成本
  • 功能实用,便于升级
4.2嵌入式系统的设计流程

嵌入式系统的软硬件并行设计流程

在这里插入图片描述

练 习 题

  1. 什么是嵌入式系统?
    2.嵌入式系统有哪些特点?
    3.嵌入式系统从所使用的嵌入式处理器进行分类 可分成那几类?
    4.嵌入式系统的组成。
  2. 实时操作系统与非实时操作系统的区别?
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值