嵌入式系统定义和使用,嵌入式系统和桌面通用系统的区别,嵌入式系统结构组成,嵌入式软件组成

嵌入式系统定义和使用

一、嵌入式系统
1、定义:用于控制、监视或者辅助操作机器和设备的装置,嵌入式系统的前提是有一个需要被控制的机器。
2、含义:嵌入式系统就是将计算机的硬件或软件嵌入其他机电设备或应用系统中,构成新的系统,即嵌入式系统
3、构造原则:嵌入式系统是以应用为中心,以计算机技术为基础,采用可剪裁软硬件,适用于对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统,用于实现对其他设备的控制监视或管理功能,让机器变得智能。

二、嵌入式系统使用场合
1、监测控制:数控机床,单电机,仪表
2、小型化,微型化期间,设备:通讯,医疗,移动,办公
3、大吞吐量型号处理:视频流处理
4、移动媒体信号处理:DC,MP3,MP4
5、多机电协同工作:汽车电子,航空电子
6、基本上不是计算机但是有类似计算机能提供的服务的设备都属于嵌入式了。

嵌入式系统和桌面通用系统的区别

一、任务专一
1、嵌入式系统
1.1、嵌入式系统中的任务是专用而确定的
1.2、如:心脏监视器只需运行信号输入,信号处理,心电图显示任务
1.3、如果要更改任务,需要对整个系统进行重新设计或在线维护
2、桌面通用系统
2.1、桌面通用系统需要支持大量的、需求多样的应用程序
2.2、对系统中运行的程序不做假设
2.3、程序升级,更新很方便

二、响应实时
1、嵌入式系统
1.1、嵌入式系统对实时性有较高要求
1.2、实时性:指系统能在限定的响应时间内提供所需水平的服务。(POSIX 1003.b)
1.3、嵌入式实时系统可分为:
A、强实时性:响应时间us~ms级
B、一般实时:响应时间ms~s级
C、弱实时:响应时间s级以上

三、实时性操作系统
1、嵌入式系统中使用的操作系统一般是实时操作系统
1.1、嵌入式实时操作系统如:VxWorks,Windows CE,PSOS,QNX
1.2、国产嵌入式实时操作系统如:HOPEN,DeltaOS,SmartOS

四、运行环境
1、嵌入式系统运行需要高可靠性保障,比桌面系统的故障容忍能力弱很多
2、嵌入式系统需要在长时间无人看守的条件下运行
3、嵌入式系统运行的环境恶劣

五、功耗要求
1、嵌入式系统大多有功耗约束
2、如:珍贵文物微气象环境检测,要求一分钟采样一次,每个节点采用电池供电,一年更新一次。采用常规方法,能量只能持续工作5天,引入间歇工作方式降低功耗,节省能量

六、资源更少
1、嵌入式系统比桌面通用系统的可用资源少的多,为了降低系统成本,降低功耗,嵌入式系统的资源配置遵循够用就行。
2、嵌入式系统的开发需要专用工具和特殊方法
2.1、开发:交叉编译,交叉链接
2.2、调试:仿真器,虚拟机
2.3、更新:在线升级等

七、综合性
1、嵌入式系统开发是一项综合的计算机应用技术
1.1、系统结构:状态控制器,中断控制器处理
1.2、汇编语言:操作外围设备、端口
1.3、操作系统:设置通讯任务、通讯、互斥
1.4、编译原理:交叉编译、BootLoader加载

嵌入式系统结构组成

一、组成
1、嵌入式微处理器
2、外围硬件设备
3、嵌入式操作系统(可选)
4、用户应用软件

一个典型的嵌入式系统应用

上图中包括:
一、硬件层(开发板形式)
ARM处理器
MMU内存管理系统
DSP数字型号处理单元,或叫浮点运算器
GPIO通用目的的IO接口
IIS音频接口
USB接口
LCD接口,嵌入式系统中LCD用的比VGA多一些
ADC/DAC接口,用于AD或DA的转换
FPGA/CPLD:可编程逻辑阵列
UART和IrDA:串口和红外
DMA:直接存储访问
以太网:网络
CAN总线:常用于工业控制
Timer/RTC:提供时间
电源管理:供电方式,直流电交流电
内存:包括flash存储,EEPROM,SDRAM,SRAM
看门狗复位电路:watchdog,系统出现异常时自动复位reset
人机交互接口:LCD,触摸屏,键鼠等
输入输出接口:传感器,网络之类

二、软件层:
1、驱动层,
1.1、设备驱动程序,
1.2、HAL硬件抽象层,对硬件有一个抽象的描述
1.3、BSP,板机支持包,支持这个硬件开发板的软件包
2、操作系统OS层,通常运行一个实时操作系统RTOS
3、应用层:文件系统,图形用户应用程序接口等

三、嵌入式微处理器分类
1、嵌入式微控制器MCU,8位为主,8051之类的
2、嵌入式DSP处理器:
3、嵌入式微处理器MPU,32位为主,ARM之类的
4、嵌入式片上系统system on chip

四、外围硬件设备
1、片外总线:连接各个部件,进行互联和传输信息的信号线
1.1、ESIA总线、SCSI总线、PCI总线
1.2、AMBA总线:ARM研发的总线规范
1.3、专用总线:CompactPCI总线用于工业控制,CAN总线用于汽车电子总线,1553B总线用于航空工业总线。

2、电子盘(电子硬盘,不是磁盘,磁盘对环境要求高):采用flash芯片存储数据,体积小、功耗低、抗震,不过读写次数有限,要避免频繁读写。
2.1、DOC:Dist on chip
2.2、DOM:IDE电子盘
2.3、CF:CompactFlash
2.4、SM:Smart Media
2.5:MS:Memory stick

3、IO设备
3.1、A/D,D/A转换
3.2、中断控制器
3.3、UART,串口
3.4、LCD,连接显示器的接口

4、通讯设备
4.1、有线通讯:IEEE1394,USB
4.2、无线通讯:IaDA(短距离高速红外),Bluetooth,802.11b/g

五、嵌入式实时操作系统
1、典型的实时操作系统RTOS
1.1、近200种,VxWorks(航天航空,可靠性性能最强)、QNX(欧美航天航空)、WinCE(简单用)、PalmOS
1.2、面向SOC的操作系统:Symbian的Epoc、Express Logic的ThreadX、ATI的Nucleus
1.3、开放源码的操作系统:Linux系列,uC/OS(最小)

2、典型的性能指标
2.1、内核大小:几k~几百k
2.2、调度时间片:1ms
2.3、实时任务响应时间:20~40微秒
2.4、一般任务响应时间:20微秒~几百毫秒

嵌入式软件组成

一、混合编程
1、嵌入式软件经常需要直接控制外设,进行寄存器操作等,因而使用较多的高级语言+汇编语言混合编程。

二、固定内存地址访问
1、嵌入式系统经常要求访问某特定的内存地址,这点区别于进程访问的虚拟地址
2、嵌入式系统上运行的应用是固定的,所以会将应用和内存地址直接绑定

三、存储限定符volatile
1、编译器优化工作中的一个假设
2、在多任务共享变量、中断与任务共享变量时,必须使用volatile限定符,强制读取内存中的值

四、代码共享和可重入
1、在嵌入式系统中,多个任务使用一个子程序的一个单一拷贝很常见,这些子程序称为共享代码
2、由于实时系统的任务是可抢占的,因而必须保证共享代码同时被几个任务调用而不发生冲突,这就是代码的可重入

五、位运算
1、嵌入式系统经常要求对变量或寄存器进行位操作。
2、如:给定一个整型变量a,写两段代码,第一个设置a的bit 3,第二个清除a的bit 3,在以上两个操作中,要保持其它位不变

六、看门狗定时器
1、对于要求高可靠性的嵌入式应用场合,系统往往提供看门狗watchdog机制,以防止用户程序进入死循环。
2、程序能够生成一个看门狗,并交付执行动作,如果应用程序在指定的时间内不能将看门狗置位,将触发指定的程序。
3、看门狗执行动作包括:系统重启,任务重启,跳出循环

嵌入式系统,嵌入式系统定义和使用,嵌入式系统和桌面通用系统的区别,嵌入式系统结构组成,嵌入式软件组成相关推荐

  1. 嵌入式系统与通用计算机系统的区别,嵌入式操作系统和通用计算机系统的区别是什么...

    描述 (文章来源:OFweek) 嵌入式系统与通用计算机系统有着完全不同的技术要求和技术发展方向.通用计算机系统的技术要求是高速.海量的数值计算,其技术发展方向是总线速度的无限提升.存储容量的无限扩大 ...

  2. 嵌入式系统与通用计算机系统的区别,嵌入式操作系统和通用计算机系统两者有什么不同之处...

    (文章来源:OFweek) 嵌入式系统与通用计算机系统有着完全不同的技术要求和技术发展方向.通用计算机系统的技术要求是高速.海量的数值计算,其技术发展方向是总线速度的无限提升.存储容量的无限扩大:而嵌 ...

  3. 《嵌入式 Linux应用程序开发标准教程(第2版)》——1.1 嵌入式Linux基础

    本节书摘来异步社区<嵌入式 Linux应用程序开发标准教程(第2版)>一书中的第1章,第1.1节,作者:华清远见嵌入式培训中心,更多章节内容可以访问云栖社区"异步社区" ...

  4. 嵌入式计算机与pc机区别,嵌入式工控主板与计算机pc主板的区别是什么

    (文章来源:华清远见) 目前我们的生活中到处都是嵌入式产品,什么手机,智能家居等,这些都是应用了嵌入式,嵌入式领域很广,当然除了生活中的一些消费品以外,还有工业方面,工业上嵌入式也应用很多.今天我们就 ...

  5. Django博客系统注册(定义用户模型类)

    1. Django默认用户认证系统 Django自带用户认证系统 它处理用户账号.组.权限以及基于cookie的用户会话. Django认证系统位置 django.contrib.auth包含认证框架 ...

  6. android界面布局题,【填空题】Android 系统中, 用于定义布局显示在界面上的风格。...

    [填空题]Android 系统中, 用于定义布局显示在界面上的风格. 更多相关问题 [37]A.anotherB.each otherC.the otherD.one another Tabor ma ...

  7. 【STM32】【C】【嵌入式】分享一下我的项目经验--基于stm32桌面主从机械臂设计(二弹)

    本文为原创文章,转载需要注明转载出处 前言:嵌入式开发是相比其他IT行业是比较难的行业,它不仅需要你去掌握软件的经验,还要去学习一些硬件的知识, 它是软件和硬件的一个粘合剂,起到一个至关重要的地位 下 ...

  8. linux下查看系统自身宏定义

    跨平台程序,经常要用到区分系统的宏定义,比如windows中的WIN32, WIN64, Linux中的 unix, linux等等系统自定义宏 那么在linux下面,怎么查看系统有哪些自定义宏咧,用 ...

  9. 针对车载系统相关的功能分析(车载OS、芯片、导航、DC、总线系统等)

    关于车载显示系统相关的功能分析 前言 1 基本介绍 2 关于车载操作系统 2.1 华为鸿蒙车载OS 2.2 阿里AliOS 2.3 Microsoft WinCE 2.4 BlackBerry QNX ...

最新文章

  1. Hyper-V内存获取模式 内存权重
  2. hdu1978 简单记忆化搜索
  3. NFVI融合架构解决方案的四大特点—Vecloud微云
  4. 电子商务(电销)平台中用户模块(User)数据库设计明细
  5. python 判断是否是润年及函数封装的2种方法
  6. Dubbo简介与基本概念
  7. 几何分布的期望_超几何分布与二项分布的数学期望
  8. 【机器人】从机械臂示教器导出编码器数据到U盘中的操作步骤
  9. 孙鑫VC学习笔记:第十二讲 (一) 介绍常量指针、指针常量,文本、二进制文件
  10. CC(Context Capture)软件安装及空三过程中的十大常见报错与解决方法
  11. 基于C# 的 WinForm 开发 (一、C# 快速入门)
  12. 人脸识别示例代码解析(二)——人脸识别解析
  13. 『图解』深度可分离卷积
  14. librdkafka
  15. 高清美图和GIF动图素材网站推荐,拿走不谢!
  16. 武汉科技大学计算机专业怎样,武汉科技大学计算机专业就业情况如何
  17. Java实现 蓝桥杯 算法提高 学霸的迷宫
  18. lesson5画表情包
  19. JavaScript之赛车游戏
  20. java 清除警告的注解_忽略警告注解@SuppressWarnings详解

热门文章

  1. laravel-admin 批量操作
  2. scikit-learn学习笔记-bili莫烦
  3. next在java什么意思_Java中,一个类里面的关键字 next 是什么意思
  4. Matlab应变片仿真,应变片组的命名规则
  5. mysql locate不走索引_索引失效的情况及原因定位
  6. 好嗨游戏:20款史上最佳的MMORPG游戏,看看有没有你知道的?
  7. 弹出框PopuoWindow
  8. 学习随笔---数据库管理系统DBMS
  9. 自己动手搭建一个简单的网站
  10. web前端网页制作课作业——用DIV+CSS技术设计的家乡旅游主题网站