单片机和linux嵌入式操作系统区别
- 格式:doc
- 大小:73.50 KB
- 文档页数:15
嵌入式系统概述及与单片机区别说明嵌入式的全称是嵌入式系统,英文是Embeded system,是一种“完全嵌入受控器件内部,为特定应用而设计的专用计算机系统”,根据英国电器工程师协会(U.K. Institution of Electrical Engineer)的定义,嵌入式系统为控制、监视或辅助设备、机器或用于工厂运作的设备。
从这里我们可以看出两点,第一,嵌入式并不是一个通用的设备。
第二,嵌入式必须和具体的应用相结合,设计上具有针对性。
所以可以看出来嵌入式是一个系统,嵌入式是需要把这个系统嵌入到设备中去,比如手机主板上的芯片就是嵌入到手机上的一个系统,整合了电脑的主板、CPU、硬盘、内存、网卡、显卡、电源的所有功能。
也就是说嵌入式系统主要是从芯片的使用时的组织形态来命名的,更通俗的解释就是只要是被嵌入到设备中的芯片都可以叫做嵌入式系统。
嵌入式系统这个定义太广泛了,所以我们平时所讲的嵌入式更多的是从狭义上讲的,狭义上讲,嵌入式是为了区别于单片机。
我们经常把芯片中不带MMU(memory management unit)从而不支持虚拟地址,只能跑裸机或RTOS(典型如ucos、华为LiteOS、RT-Thread、freertos等)的system叫单片机(典型如STM32、NXP LPC系列、新的NXP imxRT1052系列等),而把芯片自带MMU可以支持虚拟地址,能够跑Linux、Vxworks、WinCE、Android 这样的操作系统的system叫嵌入式。
单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。
单片机和嵌入式系统linux的区别
在如今高速发展的社会下,电子信息技术的更新迭代相当迅速,想要不被社会淘汰,就要不断更新自己的技术水平。
本文简单分析了单片机与嵌入式系统的联系、组成结构对比等基础知识,并列举了几种适用于PIC18F系列单片机的几种嵌入式技术实时操作系统。
单片机与嵌入式系统的区别单片机和嵌入式linux区别
(1)单片机基本结构
单片机由运算器、控制器、存储器、输入输出设备构成。
(2)嵌入式系统成部分:
嵌入式系统一般由以下几组嵌入式微处理器、外围硬件设备、嵌入式操作系统、特定的应用程序。
嵌入式与单片机的异同及其发展趋势如果说微型机的出现,使计算机进入到现代计算机发展阶段,那么嵌入式计算机系统的诞生,则标志了计算机进入了通用计算机系统与嵌入式计算机系统两大分支并行发展时代,从而导致20世纪末,计算机的高速发展时期。
嵌入式计算机系统走上了一条独立发展的单芯片化道路。
它动员了原有的传统电子系统领域的厂家与专业人士,接过起源于计算机领域的嵌入式系统,承担起发展与普及嵌入式系统的历史任务,迅速地将传统的电子系统发展到智能化的现代电子系统时代。
按照历史性、本质性、普遍性要求,嵌入式系统定义为:“嵌入到对象体系中的专用计算机系统”。
“嵌入性”、“专用性”与“计算机系统”是嵌入式系统的三个基本要素。
对象系统则是指嵌入式系统所嵌入的宿主系统。
嵌入式系统的特点与定义不同,由定义中的三个基本要素衍生出来的。
不同的嵌入式系统其特点会有所差异。
与“嵌入性”的相关特点:由于是嵌入到对象系统中,必须满足对象系统的环境要求,如物理环境(小型)、电气/气氛环境(可靠)、成本(价廉)等要求。
与“专用性”的相关特点:软、硬件的裁剪性;满足对象要求的最小软、硬件配置等。
与“计算机系统”的相关特点:嵌入式系统必须是能满足对象系统控制要求的计算机系统。
与上两个特点相呼应,这样的计算机必须配置有与对象系统相适应的接口电路。
嵌入式系统按形态可分为设备级(工控机)、板级(单板、模块)、芯片级(MCU、SoC)。
嵌入式系统与对象系统密切相关,其主要技术发展方向是满足嵌入式应用要求,不断扩展对象系统要求的外围电路(如ADC、DAC、PWM、日历时钟、电源监测、程序运行监测电路等),形成满足对象系统要求的应用系统。
因此,嵌入式系统作为一个专用计算机系统(满足对象系统要求的计算机应用系统),要不断向计算机应用系统发展。
单片机开创了嵌入式系统独立发展道路.嵌入式系统虽然起源于微型计算机时代,然而,微型计算机的体积、价位、可靠性都无法满足广大对象系统的嵌入式应用要求,因此,嵌入式系统必须走独立发展道路——芯片化道路。
嵌入式系统温习第一章嵌入式系统基础一、嵌入式系统的概念?二、嵌入式系统的组成?3、嵌入式系统的特点?4、嵌入式系统的应用?五、嵌入式处置器的分类,常见的嵌入式处置器有哪些?六、什么是嵌入式操作系统?嵌入式操作系统有哪些类型?7、什么是实时操作系统?实时操作系统的组成和特点。
它有哪些特征?八、常见的嵌入式操作系统有哪些?九、实时操作系统常常利用的任务调试算法有哪几种?10、用什么方式解决优先级反转问题?1一、单片机是不是嵌入式系统?它与ARM嵌入式系统有何异同?1二、嵌入式系统与通用运算机之间的区别。
第二章嵌入式系统开发流程一、嵌入式系统开发进程分为哪几个阶段?每一个阶段的特点是什么?二、嵌入式软件开发流程。
3、嵌入式系统有哪几种调试方式?此刻最流行的是哪一种?利用什么接口?4、什么是板级支持包?它一般应完成哪些工作?第三章ARM的体系结构一、ARM的英文命名是什么?AMR处置器有人材特点?二、运算机中的两种典型体系结构是什么,各自的特点是什么?3、试比较RISC体系结构和CISC体系结构的特点。
4、ARM支持哪些数据类型?五、ARM处置器支持的数据类型有哪些?六、画出别离采用小端格式和大端格式寄存0x的存储器示用意。
设存储器的初始地址为0x4000。
7、在ARM处置器的存储空间中,有一段存储空间中存储的数据如下所示:①假设,存储空间中的数据是以大端存储的,那么地址0x8000中存储的一个字是什么?地址0x8000中存储的一个半字是什么?地址0x8003中存储的一个字节是什么?②若是,存储空间中的数据是小端存储的,上述问题的答案别离是什么?八、在ARM处置器的存储空间中,有一段存储空间中存储的数据如下所示:假设,存储空间中的数据是以小端存储的,R0中的值为0x8000。
回答以下问题:①执行完LDR R1,[R0]后,R1的值是多少?②执行完LDR R1,[R0],#4后,R1的值是多少?③执行完LDR R1,[R0,#2]后,R1的值是多少?④执行完LDMIA R0,{R1-R4}后,R0中的值如何转变?⑤执行完LDR R0,[R1,R2,LSL #3]后,R1的值如何转变?九、ARM处置器一共有几种中工作模式,别离是?那种模式下,专业寄放器最多。
单片机与嵌入式系统的区别与联系简介:单片机和嵌入式系统是现代电子技术中重要的概念。
虽然它们都具有相似之处,但在应用领域和设计理念上存在一些不同之处。
本文将探讨单片机与嵌入式系统的区别和联系。
一、单片机介绍单片机(Microcontroller Unit,MCU)是一种集成了处理器、存储器和外设接口的微型计算机系统。
它通常运行一个特定的程序,以控制和管理外部设备,如电机、感应器和显示屏。
单片机通常用于需要实时控制和响应的应用,例如家电、汽车电子和工业控制等领域。
1.1 单片机的特点单片机具有以下特点:(1)集成度高:单片机由CPU、RAM、ROM、I/O接口等组成于一个芯片;(2)资源有限:存储器和外设资源有限,适合实时响应和简单控制任务;(3)低功耗:单片机通常以低功耗设计,能够长时间稳定运行。
1.2 单片机的应用单片机在各个领域得到广泛应用,如:(1)家电:空调、洗衣机、冰箱等家用电器中的控制单元;(2)汽车电子:发动机控制、车载电子、安全系统等;(3)工业控制:自动化生产线、仪器仪表等。
二、嵌入式系统介绍嵌入式系统(Embedded System)是包含硬件和软件的系统,通常用于特定的应用领域。
与单片机相比,嵌入式系统具有更高的计算能力和更强大的功能。
它们是专门针对特定任务而设计的,既可以包含单片机,也可以包含更复杂的处理器。
2.1 嵌入式系统的特点嵌入式系统具有以下特点:(1)更强大的处理能力:嵌入式系统可以包含多种处理器架构,如ARM、x86等,能够处理更加复杂的任务;(2)丰富的外设接口:嵌入式系统可以通过各种接口连接到更多的外设,如摄像头、触摸屏等;(3)扩展性强:嵌入式系统的设计允许扩展更多的外设和功能。
2.2 嵌入式系统的应用嵌入式系统广泛应用于各个领域,包括但不限于以下几个方面:(1)智能手机:智能手机是一种典型的嵌入式系统,它不仅具备通信功能,还包含多种嵌入式系统,如操作系统、传感器等;(2)网络设备:路由器、交换机等网络设备中的控制系统;(3)医疗设备:心脏起搏器、血糖仪等医疗器械中的控制单元。
singlechip单片机是将多种接口芯片集成到一片芯片的微办理器,这类方式称之为单片电路。
单片机的目的是使单个芯片实现更多的功能,应用更方便、体积更小巧,尽可能不用扩大或许少用外设电路。
适适用于控制独立工作的电器或设施。
2、微机指的是微型计算机也称个人计算机,是多年从前的称呼,此刻称为电脑。
计算机发展早期计算机主要用于计算,以后被发展到各样应用领域,当时有大型计算机和小型计算机之分,为划分随后出现的个人用计算机故此称为微机。
此刻一般的微机都是32位或64位,采纳拥有海量运算能力的通用中央办理器CPU,采纳冯诺依曼构造,也就是数据和程序储存在同一个储存空间中。
一般采纳RISC指令集,还有一些特别的指令集。
而单片机有4、8、16、32等几种,中央办理器的运算能力一般不如微机,并且好多单片机采纳哈佛构造,也就是将储存空间分为程序储存器和数据储存器两部分,数据/程序不可以随意搁置。
指令集既有CISC,也有RISC。
单片机的专用性更强,对环境的适应力比微机好,相对电路也简单,能够用在要求不高的控制场合。
最重点的差异是储存构造的差异。
单板机是好久从前的称号,那时集成电路发展刚起步没多久,不可以将好多的东西集成在一同。
以后,跟着大规模集成电路(ic)的出现,能够把cpu、串口、DA、时钟等功能模块集成在一块芯片中,也就是此刻说的单片机(unit/micro-control-unit/MCU--- 单片机).单片机将过去单板机上的大多数需要依赖好多独立元件的功能模块集成在一块芯片之中了,(单板机上的非IC器件一般无法集成)。
集成后,我们再进行设计时,就能够省略好多外头的器件,由于一片单片机就集成了从前单板机上好多元件的功能啦。
单片机,常用的英文减小是MCU--也即micro-control-unit。
从这个名称就能够看出,它是一个拥有完好的功能的控制模块了。
将单片机与外头电路组成的就是单片机系统了。
这个单片机系统就是一个小型的计算机系统了。
81632DSP:数字信号处理器,处理器采用哈弗结构,工作频率较高,能大幅度提高数字信号处理算法的执行效率。
MCU:微控制器,主要用于控制系统,工作频率一般来说比DSP低,硬件上具有多个IO 端口,同时也集成了多个外设,主要是便于在控制系统中的应用。
至于ARM处理器,个人认为是MCU的高级版本,ARM本身只是一个内核,目前已经有多个版本。
CPLD:复杂可编程逻辑器件FPGA:现场可编程门阵列后两者都是可编程器件,CPLD目前一半采用FLASH技术,而FPGA采用SRAM技术,这就决定了FPGA需要采用特定的配置技术。
同时FPGA的规模要比CPLD大得多,但CPLD应用起来相对要简单的多单片机单片机是集成了CPU ,ROM ,RAM 和I/ O 口的微型计算机。
它有很强的接口性能,非常适合于工业控制,因此又叫微控制器(MCU) 。
它与通用处理器不同,它是以工业测控对象、环境、接口等特点出发,向着增强控制功能,提高工业环境下的可靠性、灵活方便地构成应用计算机系统的界面接口的方向发展。
所以,单片机有着自己的特点。
品种齐全,型号多样自从INTEL 推出51 系列单片机,许多公司对它做出改进,发展成为增强型51 系列,而且新的单片机类型也不断涌现。
如MOTOROLA 和PHIL IPS 均有几十个系列,几百种产品。
CPU 从8 ,16 ,32 到64 位,多采用RISC 技术,片上I/O 非常丰富,有的单片机集成有A/ D ,“看门狗”,PWM ,显示驱动,函数发生器,键盘控制等,它们的价格也高低不等,这样极大地满足了开发者的选择自由。
低电压和低功耗随着超大规模集成电路的发展,NMOS 工艺单片机被CMOS代替,并开始向HMOS 过渡。
供电电压由5V 降到3V ,2V 甚至到1V ,工作电流由mA 降至μA ,这在便携式产品中大有用武之地。
DSP 芯片DSP 又叫数字信号处理器。
顾名思义,DSP 主要用于数字信号处理领域,非常适合高密度,重复运算及大数据容量的信号处理。
嵌入式操作系统的分类关于嵌入式操作系统的分类常见的嵌入式系统有Linux、uClinux、WinCE、PalmOS、Symbian、eCos、uCOS-II、VxWorks、pSOS、Nucleus、ThreadX、Rtems、QNX、INTEGRITY、OSE、CExecutive。
下面店铺为您带来关于嵌入式操作系统的分类,欢迎阅读!嵌入式操作系统的分类篇1第一类、传统的经典RTOS:最主要的便是Vxworks操作系统,以及其Tornado开发平台。
Vxworks因出现稍早,实时性很强(据说可在1ms内响应外部事件请求),并且内核可极微(据说最小可8K),可靠性较高等,所以在北美,Vxworks占据了嵌入式系统的多半疆山。
特别是在通信设备等实时性要求较高的系统中,几乎非Vxworks莫属。
Vxworks的很多概念和技术都和Linux很类似,主要是C语言开发。
像Bell-alcatel、Lucent、华为等通信企业在开发产品时,Vxworks用得很多。
但Vxworks因价格很高,所以一些小公司或小产品中往往用不起。
目前很多公司都在往嵌入式Linux转(听说华为目前正在这样转)。
但无论如何,Vxworks 在一段长时间内仍是不可动摇的。
与Vxworks类似的稍有名的实时操作系统还有pSOS、QNX、Nucleus等RTOS。
第二类、嵌入式Linux操作系统:Linux的前途除作为服务器操作系统外,最成功的便是在嵌入式领域的应用,原因当然是免费、开源、支持软件多、呼拥者众,这样嵌入式产品成本会低。
Linux本身不是一个为嵌入式设计的操作系统,不是微内核的,并且实时性不强。
目前应用在嵌入式领域的Linux系统主要有两类:一类是专为嵌入式设计的已被裁减过的Linux系统,最常用的是uClinux(不带MMU功能),目前占较大应用份额,可在ARM7上跑;另一类是跑在ARM9上的,一般是将Linux2.4.18内核移植在其上,可使用更多的Linux功能(当然uClinux更可跑在ARM9上)。
ucos2与linux的比较随着嵌入式计算机技术的迅猛发展,嵌入式操作系统的应用领域逐步扩大,嵌入式计算机已经深入到人类日常生活和生产的各个角落。
这次通过阅读相关资料,进一步加深了对嵌入式操作系统的了解,以下着重对ucos2和linux进行比较,谈谈对嵌入式操作系统的理解。
首先linux和ucos都是免费使用,源代码公开的操作系统,可供用户自由进行裁剪,添加,移植。
Linux是分时多任务多用户操作系统,ucos是实时多任务操作系统。
两者都可运行于多种平台,适应性好,linux不仅可以运行于32位机,也可运行于64位机,单核,多核也同样适用。
uCOS 2已经移植到近40多种处理器体系上,涵盖了从8位到64位各种CPU(包括DSP)。
内核Ucos内核包括操作系统初始化、操作系统运行、中断进出的前导、时钟节拍、任务调度、事件处理等多部分,能够维持系统基本工作的部分都在这里。
而linux内核包括进程管理,内存管理,设备管理,网络管理四部分。
Ucos没有提供输入输出管理,文件系统,网络等服务。
这些功能可由用户自行添加实现。
Ucos内核支持抢占,即在进行内核服务函数时,允许被中断服务中断,并且中断结束后可以重新进行任务调度。
Linux是非抢占式内核,实时性差。
当进程运行在用户态时,可以被优先级更高的进程抢占,但当他进入核心态时,优先级再高也不能抢占它。
实时性实时任务分为软实时和硬实时,硬实时对响应时间要求较高,且时间不被满足时会导致致命的错误,软实时随对响应时间有要求,但不是强制,不会给系统造成致命错误。
Ucos是一个基于优先级调度的抢占式的实时内核,不仅内核支持抢占,同时支持任务的抢占式调度,优先级低的任务可以被高优先级任务抢占,也可被中断服务抢占。
这就保证了系统可以尽可能快的对外部事件做出响应。
通用Linux主要考虑调度的公平性和吞吐量等指标,尽管系统可以通过把实时事件赋予高优先级的方法来实时响应实时事件,但效果有限,对于响应时间要求比较高的硬实时任务,无法满足要求。
简单的说,嵌入式是嵌入式系统的简称,所谓嵌入式系统是指嵌入到应用对象中的专用计算机系统。
这里的对象就是指产品,比如日常使用的冰箱、空调、洗衣机,或者手机、游戏机等。
这些产品中都有计算机系统,这类计算机系统就是嵌入式计算机系统。
至于单片机、ARM、FPGA、DSP等都是实现嵌入式系统的硬件平台。
根据对象体系的功能复杂性和计算处理复杂性,提供的不同选择。
对于简单的家电控制嵌入式系统,采用简单的8位单片机就足够了,价廉物美,对于手机和游戏机等,就必须采用32位的ARM和DSP等芯片了。
FPGA是一种更偏向硬件的实现方式。
所以要学习嵌入式,要从单片机开始,然后学习ARM和DSP之类我个人认为你说的刚好相反。
不是别的,FPGA就是自己构建硬件电路,而DSP有内嵌的硬件乘法模块。
单片机应该是偏软的,比如说吧, 现在基本上可以完全用高级语言(如C)来编写单片机程序,而DSP 确还是要用到汇编。
你要知道,汇编可以说就是硬件语言。
呵呵,希望对你有用————ARM、FPGA和DSP的特点和区别是什么?发布时间:2009-5-8 14:25 发布者:ARM 阅读次数:833 DSP(digital singnal processor)是一种独特的微处理器,有自己的完整指令系统,是以数字信号来处理大量信息的器件。
一个数字信号处理器在一块不大的芯片内包括有控制单元、运算单元、各种寄存器以及一定数量的存储单元等等,在其外围还可以连接若干存储器,并可以与一定数量的外部设备互相通信,有软、硬件的全面功能,本身就是一个微型计算机。
DSP采用的是哈佛设计,即数据总线和地址总线分开,使程序和数据分别存储在两个分开的空间,允许取指令和执行指令完全重叠。
也就是说在执行上一条指令的同时就可取出下一条指令,并进行译码,这大大的提高了微处理器的速度。
另外还允许在程序空间和数据空间之间进行传输,因为增加了器件的灵活性。
其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。
一、单片机嵌入式系统概述嵌入式系统一、一、嵌入式系统1、什么是嵌入式系统按计算机的非嵌入式应用和嵌入式应用将其分为通用计算机系统和嵌入式计算机系统。
PC机电梯控制柜通用计算机具有计算机的标准形态,通过装配不同的应用软件,以类同面目出现,并应用在社会的各个方面。
现在我们在办公室里、家庭中,最广泛普及使用的PC机就是通用计算机其最典型的代表。
而嵌入式计算机则是以嵌入式系统的形式隐藏在各种装置、产品和系统中的。
在许多的应用领域中,如工业控制、智能仪器仪表、家用电器、电子通信设备等电子系统和电子产品中,对计算机的应用有着不同的要求。
这些要求的主要特征为:(1)面对控制对象。
面对物理量传感器变换的信号输入;面对人机交互的操作控制;面对对象的伺服驱动和控制。
(2)嵌入到应用系统。
体积小、低功耗、价格低廉,可方便地嵌入到应用系统和电子产品中。
(3)能在工业现场环境中可靠运行。
(4)优良的控制功能。
对外部的各种模拟和数字信号能及时地捕捉,对多种不同的控制对象能灵活地进行实时控制。
我们将具备高速计算能力和海量存储,用于高速数值计算和海量数据处理的计算机称为通用计算机系统。
而将面对工控领域对象,嵌入到各种控制应用系统、各类电子系统和电子产品中,实现嵌入式应用的计算机系统称之为嵌入式计算机系统,简称嵌入式系统。
2、嵌入式系统的特点与应用(1)嵌入式系统就是指用于实现独立功能的专用计算机系统。
(2)嵌入式系统是以应用为核心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、安全性、成本、体积、重量、功耗、环境等方面有严格要求的专用计算机系统。
(3)嵌入式计算机系统在应用数量上远远超过了各种通用计算机系统。
(4)通用计算机系统和嵌入式计算机系统形成了计算机技术的两大分支。
二、嵌入式系统的种类嵌入式计算机系统的构成,根据其核心控制部分的不同可分为几种不同的类型:(1)各种类型的工控机(2)可编程逻辑控制器PLC(3)以通用微处理器或数字信号处理器构成的嵌入式系统(4)单片嵌入式系统(5)FPGA嵌入式系统以单片机作为控制核心的单片嵌入式系统大部分应用于专业性极强的工业控制系统中。
详细剖析嵌入式和单片机的区别什么是单片机首先明确概念,什么是单片机,单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。
从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。
比如最经典的51系列单片机,外观只是一块一个拇指大小的长方体芯片,共40个引脚,里面包含了逻辑运算单元。
实际上也就是一个cpu。
在最开始接触单片机的时候,还曾经有过一个疑问,为什么单片机是黑色的而不可以是别的颜色,后来才知道是单片机材料的限制。
对单片机而言,其实一个芯片就是全部,其他的比如单片机最小系统都是为了单片机的正常运作而加入其他元件,比如晶振,5v电源,电感电阻等。
当然最小系统只能保证单片机正常运行,几乎实现不了基于单片机的任何应用。
为了使单片机实现应用,必须要加入其他外设。
比如按键,led灯,led 屏,蜂鸣器,各种sensor。
这也就是市面上很多公司都在做的单片机开发板。
总结,单片机就是完成运算、逻辑控制、通信等功能的单一模块。
也就是单片机真的姓“单”。
DSP芯片也可以认为是一个单片机。
当然它们性能很强大,但是功能依然很单一,总之就是处理数据、逻辑。
什么是嵌入式那么什么是嵌入式呢,一般说嵌入式都是指嵌入式系统,IEEE(InsTItuteof Electrical and ElectronicsEngineers,美国电气和电子工程师协会)对嵌入式系统的定义:“用于控制、监视或者辅助操作机器和设备的装置”。
嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。
通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。
(完整版)通用P C系统与嵌入式系统的区别-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN通用PC系统与嵌入式系统的区别.txt精神失常的疯子不可怕,可怕的是精神正常的疯子!一什么是嵌入式系统嵌入式系统一般指非pc系统,有计算机功能但又不称之为计算机的设备或器材。
它是以应用为中心,软硬件可裁减的,适应应用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统。
简单地说,嵌入式系统集系统的应用软件与硬件于一体,类似于pc中bios的工作方式,具有软件代码小、高度自动化、响应速度快等特点,特别适合于要求实时和多任务的体系。
嵌入式系统主要由嵌入式处理器、相关支撑硬件、嵌入式操作系统及应用软件系统等组成,它是可独立工作的“器件”。
嵌入式系统几乎包括了生活中的所有电器设备,如掌上pda、移动计算设备、电视机顶盒、手机上网、数字电视、多媒体、汽车、微波炉、数字相机、家庭自动化系统、电梯、空调、安全系统、自动售货机、蜂窝式电话、消费电子设备、工业自动化仪表与医疗仪器等。
嵌入式系统的硬件部分,包括处理器/微处理器、存储器及外设器件和i/o端口、图形控制器等。
嵌入式系统有别于一般的计算机处理系统,它不具备像硬盘那样大容量的存储介质,而大多使用eprom、eeprom或闪存 (flash memory)作为存储介质。
软件部分包括操作系统软件(要求实时和多任务操作)和应用程序编程。
应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用。
二嵌入式处理器嵌入式系统的核心是嵌入式微处理器。
嵌入式微处理器一般具备4个特点:(1)对实时和多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时操作系统的执行时间减少到最低限度;(2)具有功能很强的存储区保护功能,这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断;(3) 可扩展的处理器结构,以能迅速地扩展出满足应用的高性能的嵌入式微处理器;(4)嵌入式微处理器的功耗必须很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,功耗只能为mw甚至μw级。
嵌入式系统与非嵌入式的主要区别是什么?嵌入式系统与非嵌入式的主要区别是什么?嵌入式软体就是嵌入在硬体中的作业系统和开发工具软体。
非嵌入式软体和嵌入式软体正好相反,其是指可以跨平台甚至跨系统使用的软体系统。
1、嵌入式软体就是嵌入在硬体中的作业系统和开发工具软体,它在产业中的关联关系体现为:晶片设计制造→嵌入式系统软体→嵌入式电子装置开发、制造。
2、嵌入式系统是指用于执行独立功能的专用计算机系统。
它由包括微处理器、定时器、微控制器、储存器、感测器等一系列微电子晶片与器件,和嵌入在储存器中的微型作业系统、控制应用软体组成,共同实现诸如实时控制、监视、管理、移动计算、资料处理等各种自动化处理任务。
嵌入式系统以应用为中心,以微电子技术、控制技术、计算机技术和通讯技术为基础,强调硬体软体的协同性与整合性,软体与硬体可剪裁,以此满足系统对功能、成本、体积和功耗等要求。
3、最简单的嵌入式系统仅有执行单一功能的控制能力,比如说微控制器的应用,在唯一的ROM 中仅有实现单一功能控制程式,无微型作业系统。
复杂的嵌入式系统,例如个人数字助理(PDA)、手持电脑(HPC)等,具有与PC几乎一样的功能。
实质上与PC的区别仅仅是将微型作业系统与应用软体嵌入在ROM、RAM 和/或FLASH储存器中,而不是存贮于磁碟等载体中。
很多复杂的嵌入式系统又是由若干个小型嵌入式系统组成的。
4、非嵌入式软体和嵌入式软体正好相反,其是指可以跨平台甚至跨系统使用的软体系统。
嵌入式系统与非嵌入式二者,主要区别分别如下:1、嵌入式系统安装于主机板的ROM只读储存器中,系统是定制在ROM中的,能够瞬间启动,启动效果类似于PC的待机恢复(软体留在记忆体),优点:耗能底,效率高,反应快,系统稳定,缺点:ROM记忆体不能释放,所以不能安装太多的功能。
2、非嵌入式系统安装于硬碟或固态硬碟(如记忆体卡),系统可以DIY,启动时从硬碟读取系统资料,在RAM建立一个临时的作业系统环境,关机后消失,每次启动都要重新建立一个临时系统环境。
单片机在嵌入式系统中的应用单片机是一种集成电路,它集中了微控制器、时钟、存储器、IO 等功能模块,因此在嵌入式系统中有着广泛的应用。
实际上,单片机是一个小型计算机,能够通过程序对外部和内部环境进行监测和控制,并按照预先设定的逻辑进行操作。
一、单片机的优点1、体积小、功耗低由于单片机是集成电路,体积极小,通常只有数平方厘米,而且功耗也非常低,可以通过电池等小型供电设备进行供电,这使得单片机在移动设备、嵌入式系统中得到广泛应用。
2、易编程、灵活性强单片机的编程方式与普通计算机相似,只需要一台普通计算机和编译器即可完成程序设计。
而且,单片机可以通过编程修改自身的功能,具有极强的灵活性。
3、专用性强、成本低由于单片机只有少量的指令码和寄存器,因此一般只能实现特定的功能,但是这种特殊应用也广泛存在,如电动玩具、小电器,而且这种专用性应用的成本非常低,特别是在大量生产时。
二、单片机的应用1、家用电器现在,家用电器中嵌入单片机已经是一个趋势。
电冰箱、洗衣机、电视机等家用电器都采用了单片机控制,实现了更加智能化的功能。
2、汽车电子汽车电子中也广泛应用了单片机,如电子点火、自动挡等功能。
3、医疗器械一些医疗器械和医疗设备也采用了单片机控制,如呼吸机、心电图机等。
4、安防系统现代的安防系统也采用了单片机控制,如门禁系统、监控摄像机等。
5、教育领域单片机应用的另一个领域是教育。
单片机通过可编程控制、实时监测和反馈控制等方式,提高了教育效果,使得学习更加直观、生动。
三、单片机的发展趋势1、芯片技术不断提高随着芯片技术的不断提高,单片机的功能也越来越强大。
芯片工艺的发展使得芯片能够集成更多的功能,使得单片机成本更低,而且能够实现更多的功能。
2、物联网的发展物联网的发展对单片机的应用有着非常大的促进作用。
随着物联网的不断普及,越来越多的设备需要进行互联和控制。
而单片机具有低功耗、低成本、小型化等优点,能够很好地适应物联网应用。
DSP 、单片机以及嵌入式微处理器都是嵌入式家族的一员。
最大区别是DSP能够高速、实时地进行数字信号处理运算。
数字信号处理运算的特点是乘/加及反复相乘求和(乘积累加)。
为了能快速地进行数字信号处理的运算,(1)DSP设置了硬件乘法/累加器,(2)能在单个指令周期内完成乘/加运算。
(3)为满足FFT、卷积等数字信号处理的特殊要求,目前DSP大多在指令系统中设置了“循环寻址”及“位倒序”寻址指令和其他特殊指令,使得寻址、排序的速度大大提高。
DSP完成1024复点FFT的运算,所需时间仅为微秒量级。
高速数据的传输能力是DSP高速实时处理的关键之一。
新型的DSP设置了单独的DMA总线及其控制器,在不影响或基本不影响DSP处理速度的情况下,作并行的数据传送,传送速率可达每秒百兆字节。
DSP内部有流水线,它在指令并行、功能单元并行、多总线、时钟频率提高等方面不断创新和改进。
因此,DSP与单片机、嵌入式微处理器相比,在内部功能单元并行、多DSP核并行、速度快、功耗小、完成各种DSP算法方面尤为突出。
单片机也称微控制器或嵌入式控制器,它是为中、低成本控制领域而设计和开发的。
单片机的位控能力强,I/O接口种类繁多,片内外设和控制功能丰富、价格低、使用方便,但与DSP相比,处理速度较慢。
DSP具有的高速并行结构及指令、多总线,单片机却没有。
DSP处理的算法的复杂度和大的数据处理流量更是单片机不可企及的。
嵌入式微处理器的基础是通用计算机中的CPU(微处理器)。
是嵌入式系统的核心。
为满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强。
与工业控制计算机相比,嵌入式微处理器具有体积小、质量轻、成本低、可靠性高的优点,但是在电路板上必须包括ROM、RAM、总线接口、各种外设等器件,从而降低了系统的可靠性,技术保密性也较差。
在应用设计中,嵌入式微处理器及其存储器、总线、外设等安装在专门设计的一块电路板上,只保留和嵌入式应用有关的母板功能,可大幅度减小系统的体积和功耗。
单片机和linux嵌入式操作系统区别随着嵌入式行业硬件平台的性能增强,项目需求和功能日益复杂,ARM公司推出的 CORTEX-M3,更是让以往做单片机的工程师在芯片和技术选型面临两难选择,本专题将从芯片价格、整个系统的硬件软件设计及维护的成本等各个方面给您提供一个参考,并从技术角度分析单片机和带操作系统的系统的软件开发的异同点。
● 1.单片机与ARM等新处理器的价格比较● 2.带操作系统与不带操作系统的软件开发的区别● 2.1.驱动开发的区别● 2.2.应用程序开发的区别1. 单片机与ARM等新处理器的价格比较表1自己不熟悉的芯片和技术,最后的成本也可能更高。
2. 带操作系统与不带操作系统的软件开发的区别用通俗的话来说,一个处理芯片不运行操作系统,我们就把它称为单片机,而单片机编程就是写裸板程序,这个程序直接在板子上运行;相对的,另一种程序就是基于操作系统的程序,说得简单点就是,这种程序可以通过统一的接口调用“别人写好的代码”,在“别人的基础上”更快更方便地实现自己的功能。
2.1. 驱动开发的区别驱动开发的区别我总结有两点:能否借用、是否通用。
2.1.1 能否借用基于操作系统的软件资源非常丰富,你要写一个Linux设备驱动时,首先在网上找找,如果有直接拿来用;其次是找到类似的,在它的基础上进行修改;如果实在没有,就要研究设备手册,从零写起。
而不带操作系统的驱动开发,一开始就要深入了解设备手册,从零开始为它构造运行环境,实现各种函数以供应用程序使用。
举个例子,要驱动一块LCD,在单片机上的做法是:①首先要了解LCD的规格,弄清楚怎么设置各个寄存器,比如设置LCD的时钟、分辨率、象素②划出一块内存给LCD使用③编写一个函数,实现在指定坐标描点。
比如根据x、y坐标在这块内存里找到这个象素对应的小区域,填入数据。
基于操作系统时,我们首先是找到类似的驱动,弄清楚驱动结构,找到要修改的地方进行修改。
下面是单片机操作LCD的代码:①初始化:void Tft_Lcd_Init(int type){/** 设置LCD控制器的控制寄存器LCDCON1~5* 1. LCDCON1:* 设置VCLK的频率:VCLK(Hz) = HCLK/[(CLKVAL+1)x2]* 选择LCD类型: TFT LCD* 设置显示模式: 16BPP* 先禁止LCD信号输出* 2. LCDCON2/3/4:* 设置控制信号的时间参数* 设置分辨率,即行数及列数* 现在,可以根据公式计算出显示器的频率:* 当HCLK=100MHz时,* Rate =1/[{(VSPW+1)+(VBPD+1)+(LIINEVAL+1)+(VFPD+1)}x* {(HSPW+1)+(HBPD+1)+(HFPD+1)+(HOZVAL+1)}x * {2x(CLKVAL+1)/(HCLK)}]* = 60Hz* 3. LCDCON5:* 设置显示模式为16BPP时的数据格式: 5:6:5* 设置HSYNC、VSYNC脉冲的极性(这需要参考具体LCD 的接口信号): 反转* 半字(2字节)交换使能*/LCDCON1 = (CLKVAL_TFT_320240<<8) | (LCDTYPE_TFT<<5) | \(BPPMODE_16BPP<<1) | (ENVID_DISABLE<<0);LCDCON2 = (VBPD_320240<<24) |(LINEVAL_TFT_320240<<14) | \(VFPD_320240<<6) |(VSPW_320240);LCDCON3 = (HBPD_320240<<19) | (HOZVAL_TFT_320240<<8) | (HFPD_320240);LCDCON4 = HSPW_320240;// LCDCON5 = (FORMAT8BPP_565<<11) | (HSYNC_INV<<9) | (VSYNC_INV<<8) | \// (HWSWP<<1);LCDCON5 = (FORMAT8BPP_565<<11) |(HSYNC_INV<<9) | (VSYNC_INV<<8) | (VDEN_INV << 6) | \(HWSWP<<0);/** 设置LCD控制器的地址寄存器LCDSADDR1~3* 帧内存与视口(view point)完全吻合,* 图像数据格式如下:* |----PAGEWIDTH----|* y/x 0 1 2 239* 0 rgb rgb rgb ... rgb* 1 rgb rgb rgb ... rgb* 1. LCDSADDR1:* 设置LCDBANK、LCDBASEU* 2. LCDSADDR2:* 设置LCDBASEL: 帧缓冲区的结束地址A[21:1]* 3. LCDSADDR3:* OFFSIZE等于0,PAGEWIDTH等于(240*2/2)*/LCDSADDR1 = ((LCDBUFFER>>22)<<21) |LOWER21BITS(LCDBUFFER>>1);LCDSADDR2 = LOWER21BITS((LCDBUFFER+ \(LINEVAL_TFT_320240+1 )*(HOZVAL_TFT_320240+1)*2)>>1);LCDSADDR3 = (0<<11) | (LCD_XSIZE_TFT_320240*2/2);/* 禁止临时调色板寄存器 */TPAL = 0;fb_base_addr = LCDBUFFER;bpp = 16;xsize = 320;ysize = 240;}②描点:/** 画点* 输入参数:* x、y : 象素坐标* color: 颜色值* 对于16BPP: color的格式为0xAARRGGBB (AA = 透明度),* 需要转换为5:6:5格式* 对于8BPP: color为调色板中的索引值,* 其颜色取决于调色板中的数值*/void PutPixel(UINT32 x, UINT32 y, UINT32 color){UINT8 red,green,blue;switch (bpp){case 16:{UINT16 *addr = (UINT16*)fb_base_addr + (y * xsize + x);red = (color >> 19) & 0x1f;green = (color >> 10) & 0x3f;blue = (color >> 3) & 0x1f;color = (red << 11) | (green << 5) | blue; // 格式5:6:5*addr = (UINT16) color;break;}case 8:{UINT8 *addr = (UINT8 *)fb_base_addr + (y * xsize + x);*addr = (UINT8) color;break;}default:break;}}下面是在Linux的LCD驱动里修改的地方(arch\arm\mach-s3c2440\mach-smdk2440.c):/* 320x240 */static struct s3c2410fb_mach_info smdk2440_lcd_cfg__initdata = {.regs = {.lcdcon1 = S3C2410_LCDCON1_TFT16BPP | \S3C2410_LCDCON1_TFT | \S3C2410_LCDCON1_CLKVAL(0x04),.lcdcon2 = S3C2410_LCDCON2_VBPD(1) | \S3C2410_LCDCON2_LINEVAL(239) | \ S3C2410_LCDCON2_VFPD(5) | \S3C2410_LCDCON2_VSPW(1),.lcdcon3 = S3C2410_LCDCON3_HBPD(36) | \S3C2410_LCDCON3_HOZVAL(319) | \S3C2410_LCDCON3_HFPD(19),.lcdcon4 = S3C2410_LCDCON4_MVAL(13) | \S3C2410_LCDCON4_HSPW(5),.lcdcon5 = S3C2410_LCDCON5_FRM565 |S3C2410_LCDCON5_INVVLINE |S3C2410_LCDCON5_INVV |S3C2410_LCDCON5_INVVDEN |S3C2410_LCDCON5_PWREN |S3C2410_LCDCON5_HWSWP,},.gpccon = 0xaaaa56aa,.gpccon_mask = 0xffffffff,.gpcup = 0xffffffff,.gpcup_mask = 0xffffffff,.gpdcon = 0xaaaaaaaa,.gpdcon_mask = 0xffffffff,.gpdup = 0xffffffff,.gpdup_mask = 0xffffffff,.fixed_syncs = 1,.type = S3C2410_LCDCON1_TFT,.width = 320,.height = 240,.xres = {.min = 320,.max = 320,.defval = 320,},.yres = {.max = 240,.min = 240,.defval = 240,},.bpp = {.min = 16,.max = 16,.defval = 16,},};这并不表示代码Linux的驱动程序就比单片机的驱动程序好写,怎么在几万个文件中找到要修改的代码,这也是需要艰苦的学习的。
基于操作系统的驱动开发,既要懂得芯片的具体操作,也要理解操作系统的软件结构。
2.1.2 是否通用有些单片机厂家也给客户提供了大量的驱动程序,比如USB HOST驱动程序,这可以让客户很容易就可以在它的上面编写程序读写U盘。
但是客户写的这些程序,只能在这种芯片、这个驱动程序上使用;更换另一种芯片后,即使芯片公司也提供了驱动程序,但是接口绝对不一样,客户又得重新编写应用程序。
基于操作系统的驱动程序要遵循统一的接口,比如对于不同的芯片的USB HOST驱动,它们都要向上提供一个相同的数据结构,在里面实现了各自的USB操作。