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