嵌入式系统学习(一)——嵌入式基础认识

嵌入式定义

现代计算机技术主要分为两大类,一种是以高速、海量的数值计算为主的计算机系统,一种是嵌入对象体系中、以控制对象为主的嵌入式计算机系统。人们通常称前者为通用计算机系统,把后者称为嵌入式计算机系统。IEEE(the Institute of Electrical and Electronics Engineers)对嵌入式的定义为:嵌入式系统就是用来控制、监视或者辅助机器、设备或装置运行的装置。嵌入式的本质就是将计算机系统嵌入到一个对象体系中去,对宿主进行控制、监视、辅助等。

嵌入式系统分类

根据不同的分类标准,有不同的分类方式,这里主要介绍按照形态差异进行分类。

根据形态差异,可以将嵌入式系统大致分为三类:芯片级(MCU、SoC)、板级(单片机、模块)和设备级(工控机)三级。

嵌入式系统的发展

嵌入式系统发展模式

在嵌入式系统的发展道路上,有过两种主要模式,一种是“ ∑ \sum 模式”,也就是直接将通用计算机直接芯片化,即将通用计算机系统中的基本单元进行剪裁,集成在一个芯片上,构成单片微型计算机;
另外一种是“创新模式”则按照嵌入式应用要求设计全新的、满足嵌入式应用要求的体系结构微处理器指令系统总线方式管理模式等。历史证明,“创新模式”是嵌入式系统独立发展的正确道路。

单片机的技术发展

单片机诞生于20世纪70年代末、经历了SCM、MCU、SoC三大阶段

  • SCM(Single Chip Microcomputer,单片微型计算机)阶段,主要是寻求单片形态嵌入式系统的最佳体系结构。
  • MCU(Microcontroller Unit,微控制器)阶段,主要技术的发展方向在于满足对象系统要求的各种外设电路与接口电路,凸显其智能化控制对象的能力
  • SoC(System on Chip,片上系统)是ASIC(Application Specific Integrated Circuits)设计方法学中产生的一种新技术,是指以嵌入式系统为核心,以IP(Intellectual Property)复用技术为基础,集软硬件一体,并追求产品系统最大包容的集成芯片。狭义的理解,可以将它认为是一个集合了信号采集、转换、储存、处理和I\O等功能的芯片;广义的理解,可以认为它是一种芯片设计技术,可以实现

因此,对于单片机的理解可以从SCM、MCU延伸到SoC。但由于单片机指令少、功能简单、工作频率低、处理速度慢、不适合做较为复杂的计算,难以满足高性能终端设备的计算与处理需要,因此MPU(Micro Processor Unit)诞生了,它是由通用计算机中的CPU演变而来,它的特点是具有32位以上的处理器,拥有较高的主频和运算能力,同时不同于通用计算机系统,它只保留了与嵌入式应用有关的软硬件功能。

嵌入式系统组成

嵌入式系统组成结构
应用软件层
操作系统层
硬件抽象层
硬件层
  • 硬件层:嵌入式系统的底层实体设备,主要包括嵌入式微处理器、外设电路和外部设备。这里外设电路主要指和嵌入式微处理器有紧密联系的设备,如时钟、复位电路、电源以及存储器(NAND Flash、NOR Flash、SDRAM)等。工程上通常是将处理器和外围电路设计成核心板,通过拓展接口与系统其它硬件部分相连。外部设备形式多样,如USB、液晶显示器、键盘、触摸屏等设备及其接口。外部设备及其接口在工程实践中通常设计成系统板(拓展板)的形式与核心板相连。
  • 硬件抽象层:实现设备硬件层与操作系统层的适配,包括引导程序BootLoader、驱动程序、配置文件等。硬件抽象层最常见的表现形式是板级支持包(Board Support Package,BSP)。板级支持包是一个包括启动程序、硬件抽象层程序、标准开发板、相关硬件驱动程序的软件包。
  • 操作系统层:嵌入式系统组成的重要部分,提供了进程管理、内存管理、文件管理、图形界面程序、网络管理等重要系统功能。与通用计算机相比,嵌入式系统具有明显的硬件局限性,这意味着嵌入式操作系统也必须具有编码体积小、可剪裁和易移植、实时性强、可靠性高等特点。嵌入式操作系统与嵌入式应用软件常组合起来对目标对象进行作用。嵌入式系统的应用有高、低端应用两种模式:
    • 低端应用以单片机或者专用计算机芯片为核心所构成的可编程控制器的形式存在,一般没有操作系统的支持,这种系统比较适合专用领域。
    • 高端应用以嵌入式CPU和嵌入式操作系统及各类应用软件所构成的专用计算机系统的形式存在。实际应用中,操作系统常由用户根据系统的实际需求定制出来,体积小巧,功能专一,这是嵌入式操作系统最大的特点。常见的嵌入式操作系统有嵌入式Linux、Windows CE、Symbian、Android、 μ \mu μC/OS-II、VxWorks。
  • 应用软件层:嵌入式系统的最顶层,开发者可以通过多种方式进行功能性开发。

嵌入式操作系统

嵌入式Linux

Linux是一套免费开源的类UNIX操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统,支32位和64位硬件。Linux存在着许多不同的Linux版本,但他们都使用了Linux内核,因此人们习惯了用Linux来代表整个基于Linux内核,并且使用GUN工程各种工具和数据库的操作系统。嵌入式Linux是指对标准Linux经过小型化剪裁处理之后,能够固化在容量只有几兆字节甚至几万字节的存储器或者处理器中,适合于特定嵌入式应用场合的专用Linux系统。Linux对嵌入式系统的支持极佳,主要是由于Linux系统有许多优点,包括Linux内核具有高效性和极强的稳定性、设计架构精巧、具有动态模块加载机制、易剪裁、移植性好,并且由于其开源特性,使得其软件资源也十分丰富,极大减轻开发者的编程压力,避免重复造轮子的问题。

Windows CE

Windows CE 是微软公司开发的一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作,它是精简的 Windows 操作系统。
Windows CE 的用户图形界面相当出色。Windows CE 具有模块化、结构化和基于 Win 32应用程序接口以及与处理器无关等特点。Windows CE 不仅继承了传统的 Windows 图形界面,并且在 Windows CE 平台上可以使用 Windows 上的编程工具(如 Visual Basic、Visual C++等),使绝大多数的应用软件只需简单的修改和移植就可以在 Windows CE 平台上继续使用。

它拥有多线程、多任务、确定性的实时、完全抢先式优先级的操作系统环境,专门面向只有有限资源的嵌入式硬件系统。同时,开发人员可以根据特定硬件系统对 Windows CE 操作系统进行裁剪、定制,所以目前 Windows CE 被广泛用于各种嵌人式智能设备的开发。

μ \mu μC/OS-II

μ \mu μC/OS-II操作系统是一个可剪裁的、抢占式实时多任务内核,具有高度可移植性。特别适用于微处理器和微控制器,是与很多商业操作系统性能相当的实时操作系统。 μ \mu μC/OS-II 是一个免费的、源代码公开的实时嵌入式内核,其内核提供了实时系统所需要的一些基本功能。
其中,但含全部功能的核心部分代码占用8.3KB,全部的源代码约5500行,非常适合初学者进行学习分析。而且由于 μ \mu μC/OS-II是可裁剪的,所以用户系统中实际的代码最少可达2.7KB。由于 μ \mu μC/OS-II的开放源代码特性,还使用户可针对自己的硬件优化代码,获得更好的性能。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值