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