嵌入式系统开发是(shi)对于除了电脑之外的所有电子设(she)备上操作系统的开发,比如手机,掌上电脑,机电系统等,以(yi)应用为中心,以计算机技术为基础,并(bing)且软硬件可裁剪,适用于应用系(xi)统对功能、可靠(kao)性、成本、体积、功(gong)耗有严格要求的专用计算机(ji)系统。它一般由嵌(qian)入式微处理器、外围硬件设备、嵌入式(shi)操作系统以及用 户的应用程序等四个(ge)部分组成,用于实现对其他设备的(de)控制、监视或管理等功能。
嵌入式计算机系统同通用型计算机(ji)系统相比具有以下特点:
1.嵌入式(shi)系统通常是面向特定应用(yong)的嵌入式CPU与通用型的最大不同(tong)就是嵌入式CPU大多工作在为特定用(yong)户群设计的系统中,它通常都(dou)具有低功耗、体积小、集(ji)成度高等特点,能够(gou)把通用CPU中许多由板卡完成的任(ren)务集成在芯片内部,从而有利(li)于嵌入式系统设计(ji)趋于小型化,移动能力(li)大大增强,跟网络的耦合也越来越紧密(mi)。
2.嵌入式系统是(shi)将先进的计算机(ji)技术、半导体技术和电子(zi)技术与各个行业的具体应用相(xiang)结合后的产物。这一点就决定了它(ta)必然是一个技术密集、资金密集、高(gao)度分散、不断创新的知识集(ji)成系统。
3.嵌入式系统的硬件和软件都必须高效(xiao)率地设计,量体裁衣、去除冗余(yu),力争在同样的硅片面积上实现更高的(de)性能,这样才能在(zai)具体应用中对处理器的选择更(geng)具有竞争力。
4.嵌入(ru)式系统和具体应用有机地结合在一起,它的升级换代也是(shi)和具体产品同步进行,因此嵌入式系统(tong)产品一旦进入市场,具有较长的(de)生命周期。
5.为了提高执行速度和系(xi)统可靠性,嵌入式(shi)系统中的软件一般都固化(hua)在存储器芯片或单片机(ji)本身中,而不是存贮于磁盘等载(zai)体中。
6.嵌入式系(xi)统本身不具备自举开发能力,即使设计完成以后用户通常也(ye)是不能对其中的程序功能(neng)进行修改的,必须有一套开发工具(ju)和环境才能进行开发。嵌入式就是开发(fa)一些MP4,手机,电子(zi)仪器还有一些停车场系统等的(de)软件。这些软件主要是在LINUX、UNIX等其他的一些操作系统上(shang)运行。做嵌入式开发(fa)需要很强的底层语言开发能力,如(ru)C语言、汇编语言,还需要很(hen)强的电子电路设计能力。 在嵌(qian)入式学习上,可以去(qu)看看星创客视频还不错,推(tui)荐看下会对嵌入式有更深(shen)的了解。你认为中国(guo)是在这其中的空白?龙芯的操(cao)作系统,是咋回事?
一个基于Linux的系统上,中国已经做了(le)很多。
基于Linux的系统,如果(guo)没有,那么它不应该Android系统。
如果你是完全脱离了(le)Linux系统(tong)的,中国不是没有人做到这一点,去(qu)年我还看到有人(ren)公开CSDN的代码,同样的系统,如(ru)DOS,没有漂亮的贝壳(ke),但可以调度任务和分配内存,基本驱动那里,他是按照(zhao)仿制小步舞曲OS系统的概念,你真的要来了壳(ke)牌也不困难,因为小步舞曲OS是(shi)开源的,但也有类似于Windows的外壳,但也是一个汇编(bian)程序,您可以使用系统编写(xie)汇编应用程序,该应用程序的界面是直(zhi)接调用到整个系统中断来(lai)实现,装配看起(qi)来很漂亮,但小步舞曲OS或Windows有很多的想法考(kao)虑进去,如文件系统上采用的(de)是FAT32的(de)。
一个新的操作(zuo)系统并不意味着任(ren)何东西,包括编(bian)译器。不要写你自己的交叉编译器?要(yao)知道,编译器和系统相连,是编(bian)写编译器或先写系(xi)统?要改变需要(yao)多长时间来改变一个良好的组基本的编(bian)译器和系统可以用吗?此外,还有(you)那么多司机写的,这么多的结(jie)构构建,这么多的工(gong)具来开发,而不是一个复杂庞大的团(tuan)队没有这样做,这是一个(ge)现代的应用程序,它想(xiang)知道这么多系统接口很多,更何况(kuang)没有储备资源,使所有的重头写。即(ji)使人们不得不写出来,以适应,最重要(yao)的是不能与现有系(xi)统兼容,因为整(zheng)个想法是新的。填补国内空白(bai),所付出的代价,这不是一个普通的(de)公司可以接受个人的可能性较小。
的Linux,Windows是能够发展到今天,也重Uinux,该做什么所以从(cong)“古”慢慢后代,如果不(bu)能够超越现代或当代的替代(dai)产品出现,不希望(wang)人们回去到新石(shi)器时代?没有人可以接受它(ta)。除非你有办法挖了一批这样的人来搞(gao)依靠其储备来完成(cheng)这项工作,或在自己的小技(ji)术是根本不现实的事情。
指不依赖于任何GIS工具软件,从空间数据的采集、编(bian)辑到数据的处理分析及结果输出,所有(you)的算法都由开发者独立设计,然后选用某种程(cheng)序设计语言,如Visual C十十、Delphi等,在一定的操作(zuo)系统平台上编程实现。这种方式的(de)好处在于无须依赖任何商业GIS工具软件,减少了开发成本,但(dan)一方而对于大多数开发一者来说,能力、时间、财力方而(er)的限制使其开发出来的产品很(hen)难在功能上与商业化GIS工具软件相(xiang)比,而且在购买GIS工具软件上省(sheng)下的钱可能还抵不上开发者(zhe)在开发过程中绞尽脑汁所花的代价(jia)。
宿主型二(er)次开发
指(zhi)基于GIS平台软件上进行应(ying)用系统开发。大多数GIS平台软件(jian)都提供了可供用户进行二次开发的脚本(ben)语言,如ESRI的ArcView提供了Avenue语言,MapInfo公司(si)的MapInfo Professional提供了MapBasic语言(yan)等等。用户可以利用这些脚本语(yu)言,以原GIS软件为(wei)开发平台,开发(fa)出自己的针对不同应用对(dui)象的应用程序。这(zhe)种方式省时省心,但进行二次开发的脚(jiao)本语言,作为编程语言,功能极弱,用(yong)它们来开发应用程(cheng)序仍然不尽如人意,并(bing)且所开发的系统不能脱(tuo)离GIS平台软件,是解释执行(xing)的,效率不高。
基(ji)于GIS组件的二次开(kai)发
大多数GIS软(ruan)件产商都提供商业化的GIS组件,如ESRI公司的MapObjects, Maplnfo公司的MapX等,这些组件都具备GIS的(de)基本功能,开发人员可以基(ji)于通用软件开发工具尤其是可视化(hua)开发工具,如Delphi, Visual C++, Visual Basic, Power Builder等为开发平台,进行二次开发(fa)。
利用GIS工具软件生产厂家提供的建立在(zai)OCX技术基础上的GIS功能控(kong)件,如ESRI的
MapObjects, Maplnfo公司的MapX等(deng),在Delphi等编程工具编制(zhi)的应用程序中,直接(jie)将GIS功能嵌入其中,实现(xian)地理信息系统的各种功能。
三种实现方式(shi)的分析与比较
由于独(du)立开发难度太大,单纯二次开发受GIS工具提供的编(bian)程语言的限制差强人意,因此结合GIS工具软件与当(dang)今可视化开发语言的集成(cheng)二次开发方式就成为GIS应用(yong)开发的主流。它的优点是既可(ke)以允分利用GIS 工具软件对空间数据库的(de)管理、分析功能,又可以利用其它可(ke)视化开发语言具有的高效、方(fang)便等编程优点,集二者之所长,不仅能(neng)大大提高应用系统的开发效率(lu),而且使用可视化软件开(kai)发工具开发出来(lai)的应用程序具有更(geng)好的外观效果,更强(qiang)大的数据库功能,而且可靠性好、易(yi)于移植、更于维护。尤其是使用(yong)OCX技术利用GIS功能组件进行集(ji)成开发,更能表现出这些优势(shi)。gis开发方式:
1、独立开发模式:顾名思义就是平(ping)台啦什么的,数据采集,编辑、入库(ku)等各种工具都是独立开发的,自己设计(ji)算法。这种开发很少见了吧
2、宿主型开发模式(shi):一般都是基于某个gis平台(tai)或gis的工具软件,用那个平台的自带的(de)语言进行开发。
3、组件式开发模式:就是用某些商业软(ruan)件或公司已经开发好的components,利用那个组件进行(xing)开发。我用过的mo,常用的有ao、ae等。
独立开发
指不依(yi)赖于任何gis工(gong)具软件,从空间数(shu)据的采集、编辑到数据的处理(li)分析及结果输出,所有的算法都由开发者独立设计,然后选用某种程(cheng)序设计语言,如visual c十十、delphi等(deng),在一定的操作系统平(ping)台上编程实现。这种方式的好处在于无须依赖(lai)任何商业gis工具(ju)软件,减少了开发成本,但一方(fang)而对于大多数开发一者来说,能力、时间、财力方而的限制使其(qi)开发出来的产品很难在功(gong)能上与商业化gis工具软件相(xiang)比,而且在购买gis工(gong)具软件上省下的钱可能(neng)还抵不上开发者(zhe)在开发过程中绞尽(jin)脑汁所花的代价。
宿主型二次开发
指基于gis平台软(ruan)件上进行应用系统开发。大多数gis平台软件都提供了可供用(yong)户进行二次开发的脚本语言(yan),如esri的arcview提供了avenue语言,mapinfo公司的mapinfo professional提供了mapbasic语言(yan)等等。用户可以利用(yong)这些脚本语言,以原gis软件为开发平台,开发出自己的(de)针对不同应用对象的应(ying)用程序。这种方式省时省心,但进行二次开发的脚本语言,作(zuo)为编程语言,功能极弱,用它(ta)们来开发应用程序仍然不尽如人(ren)意,并且所开发的系(xi)统不能脱离gis平台软件,是解释(shi)执行的,效率不高。
基(ji)于gis组件的二次开(kai)发
大多数gis软件产商都提供商业化的gis组(zu)件,如esri公司的mapobjects, maplnfo公司的(de)mapx等,这些组件都具备gis的基本功能,开发人员可以基于通用(yong)软件开发工具尤其是可视化开(kai)发工具,如delphi, visual c++, visual basic, power builder等(deng)为开发平台,进行(xing)二次开发。
利用(yong)gis工具软件(jian)生产厂家提供的建立在ocx技术(shu)基础上的gis功能控件,如esri的
mapobjects, maplnfo公司的mapx等,在delphi等编程工具编制的应(ying)用程序中,直接(jie)将gis功能嵌入其中,实(shi)现地理信息系统(tong)的各种功能。
三(san)种实现方式的分析与比较
由于独立开发难度太大,单(dan)纯二次开发受gis工具提供的编程语言的限制差(cha)强人意,因此结合(he)gis工具软件与当今可视化开发(fa)语言的集成二次开发方式就成(cheng)为gis应用开发的主流。它的优点是(shi)既可以允分利用gis 工具软件(jian)对空间数据库的管理、分(fen)析功能,又可以利用其它可视化开(kai)发语言具有的高效、方(fang)便等编程优点,集二者之所长(chang),不仅能大大提高应用系(xi)统的开发效率,而且使用可视化软件(jian)开发工具开发出(chu)来的应用程序具有更好的外(wai)观效果,更强大(da)的数据库功能,而且可靠性好、易(yi)于移植、更于维护。尤其是(shi)使用ocx技术利用gis功能组件(jian)进行集成开发,更能表现出这些优(you)势。