嵌入式软件开发主要针对计算能力有限的CPU进行的软件开发,比如INTEL的CPU芯片时钟频率可以达到1G HZ,虽然INTEL的CPU运算能力强大,但是体积大,发热大,不适合使用在某些场合,这个时候就要使用一些体积小,功耗低,运算能力有限的专用CPU,比如手机上使用的CPU处理器,在这种CPU上运行的 *** 作系统就是嵌入式 *** 作系统,这些 *** 作系统占用比较小的硬件资源,但是却有相对较高的执行调度效率。
嵌入于宿主设备,智能地完成宿主设备功能的计算机就是嵌入式计算机,或简称为嵌入式。嵌入式计算机的构成:可以是单片的微控制器(MC-micro-controller),在我国习惯于称做单片机;也可以是由微处理器(MP-microprocessor)另加存储器及外部设备构成;还可以在MC/MP的基础上附加数字信号处理器(DSP)核心部件,构成多核MP/MC。
新一代嵌入式计算机的主要特征:是继承了整个PC机时期的技术成就,特别是进入90年代后的全球万维网(Web)技术(产品有可接入万维网的手持式PDA设备等)和多媒体技术(产品有高质量数字音响、数字视盘播放器,数码静态相机、数码视频摄像机等等)。这类嵌入式的目标是想把桌面PC机上成熟的技术拆解下来,放入手持设备或移动设备,供用户随时随地进行消费。全球网中行之有效的众多通信协议,多媒体的MP3、JPEG、MPEG等所采用的标准数据格式及各种库函数都使用32位格式和32位的编程软件,所以嵌入式也注定要使用32位的微处理器。
为顺应形势发展的需要,32位手持设备用的嵌入式 *** 作系统应运而生,著名的有Windows CE、Epoch、 Palm OS等等,可见今日嵌入式的立点水平是很高的。
新一代嵌入式主要面向手持或移动消费类设备,电池供电和低价位是重要考虑因素,这就从根本上决定了它不可能照搬PC机上原来使用的微处理器。下面先介绍嵌入式32位微处理器的技术进步,然后再举一些新型嵌入式微处理器的实例,使读者对新一代嵌入式有一个较清晰的认识。
由上述可见,当前嵌入式所用MP多是32位RISC DSP双核或RISC/DSP单核结构。过去比较著名的RISC生产厂家起着基石作用。许多新兴的嵌入式厂家购买他们的RISC专利嫁接到自己的DSP核上。一些著名的生产CISC微处理器的厂家不甘心丢失嵌入式市场,也纷纷向RISC及DSP靠拢。
从1981年Ready System发展了世界上第1个商业嵌入式实时内核(VRTX32),到今天已经有近20年的历史。20世纪80年代的产品还只支持一些16位的微处理器,如68k,8086等。这时候的RTOS还只有内核,以销售二进制代码为主。当时的产品除VRTX外,还有IPI公司的MTOS和80年代末ISI公司的PSOS。产品主要用于军事和电信设备。进入20世纪90年代,现代 *** 作系统的设计思想,如微内核设计技术和模块化设计思想,开始渗入RTOS领域。老牌的RTOS厂家如Ready System(在1995年与Microtec Research合并),也推出新一代的VRTXsa实时内核,新一代的RTOS厂家Windriver推出了Vxwork。另外在这个时期,各家公司都有力求摆脱完全依赖第三方工具的制约,而通过自己收购、授权或使用免费工具链的方式,组成1套完整的开发环境。例如,ISI公司的Prismt、著名的Tornado(Windriver)和老牌的Spectra(VRTX开发系统)等。
进入20世纪90年代中期,互联网之风在北美日渐风行。网络设备制造商、终端产品制造商都要求RTOS有网络和图形界面的功能。为了方便使用大量现存的软件代码,他们希望RTOS厂家都支持标准的API,如POSIX, Win32等,并希望RTOS的开发环境与他们已经熟悉的UNIX,Windows一致。这个时期代表性的产品有Vxwork,QNX, Lynx和WinCE等。
软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程。软件开发是一项包括需求捕捉、需求分析、设计、实现和测试的系统工程。软件一般是用某种程序设计语言来实现的。通常采用软件开发工具可以进行开发。软件分为系统软件和应用软件,并不只是包括可以在计算机上运行的程序,与这些程序相关的文件一般也被认为是软件的一部分。 软件设计思路和方法的一般过程,包括设计软件的功能和实现的算法和方法、软件的总体结构设计和模块设计、编程和调试、程序联调和测试以及编写、提交程序。
呵呵,我做了嵌入式十年了,应该不算菜鸟吧。我来回答你的问题。
1:嵌入式系统有那些?
常用企业常用的有linux、wince、vxworks,还有一些手机的系统也算是嵌入式的系统android(google基于linux)、symbian、windows mobile,还有一些uC/OS、RTLinux、eCos、uclinux、QNX、LynxOS、EEOS。基本上常见我都列出来了。
2:嵌入式开发环境是什么?
linux uclinux ecos uc/os android RTlinux这些都可以用GCC来编译程序,具体是什么GCC和你的处理器有关系,比如arm,就用arm-linux-gcc,mips的处理可能就是用mips-linux-gcc,名字不固定,但是一般都是基于gcc来开发和移植的。还有wince主要是用platform builder来开发的。
在企业的应用中,当然开发环境其实不是固定的,关键是看芯片厂商根据不同的嵌入式系统提供的不同的开发环境。
3:嵌入式处理器有那些?
主流的处理器,如arm,目前ARM处理器主要有6大系列:ARM7、ARM9、ARM9E、ARM10、ARM11,SecurCore。还有与Intel合作实现的StrongARM和XScale处理器。
还有其他的处理器。比如MIPS处理器、PowerPC处理器,这些是市场上主流的。
当然,国产也有一些芯片,比如龙芯,但是这些其实不算什么分类,都是类MIPS的。
4:其实这些都是一些基本的介绍,如果你想深入了解这些东西,那需要一定的时间的。关于这些方面的知识,该怎么学习呢?我刚才看到一篇很不错的文章,是一个专科生介绍自己如何自学嵌入式,并找到嵌入式的工作,里面介绍了他的学习方法和学习过程,希望对你有帮助。
专科生学嵌入式到找到工作的前前后后--学习的榜样
先做个自我介绍,我07年考上一所很烂专科民办的学校,学的是生物专业,具体的学校名称我就不说出来献丑了。09年我就辍学了,我在那样的学校,一年学费要1万多,但是根本没有人学习,我实在看不到希望,我就退学了。
退学后我也迷茫,大专都没有毕业,我真的不知道我能干什么,我在纠结着我能做什么。所以辍学后我一段时间,我想去找工作,因为我比较沉默寡言,不是很会说话,我不适合去应聘做业务。我想应聘做技术的,可是处处碰壁。
一次偶然的机会,我才听到嵌入式这个行业。那天我去新华书店,在计算机分类那边想找本书学习。后来有个女孩子走过来,问我是不是读计算机的,有没有兴趣学习嵌入式,然后给我介绍了一下嵌入式现在的火热情况,告诉我学嵌入式多么的有前景,给我了一份传单,嵌入式培训的广告。听了她的介绍,我心里痒痒的,确实我很想去学会一门自己的技术,靠自己的双手吃饭。
回家后,我就上网查了下嵌入式,确实是当今比较热门的行业,也是比较好找工作的,工资也是相对比较高。我就下决心想学嵌入式了。于是我去找嵌入式培训的相关信息,说真的,我也很迷茫,我不知道培训是否真的能像他们宣传的那样好,所以我就想了解一段时间再做打算。
后来,我在百度知道看到一篇让我很鼓舞的文章《如何学习嵌入式》,是一个嵌入式高手介绍没有基础的朋友怎么自学入门学嵌入式,文章写的很好,包含了如何学习,该怎么学习。他提到一个方法就是看视频,因为看书实在太枯燥和费解的,很多我们也看不懂。这点我真的很认同,我自己看书往往看不了几页。
我在想,为什么别人都能自学成才,我也可以的!我要相信自己,所以我就想自学,如果实在学不会我再去培训。
主意一定,我就去搜索嵌入式的视频,虽然零星找到一些嵌入式的视频,但是都不系统,我是想找一个能够告诉我该怎么学的视频,一套从入门到精通的视频,一个比较完整的资料,最好能有老师教,不懂可以请教的。
后来我又找到一份很好的视频,是在嵌入式学习网推出的一份视频《从零基础开始学嵌入式》,网址:>
嵌入式 *** 作系统是一段在嵌入式系统启动后首先执行的背景程序,用户的应用程序是运行于其上的各个任务,它根据各个任务的要求,进行资源(包括存储器、外设等)管理、消息管理、任务调度、异常处理等工作。在有嵌入式 *** 作系统支持的系统中,每个任务有一个优先级,根据各个任务的优先级,动态地切换各个任务,保证对实时性的要求。经过多年的发展,比较流行的嵌入式 *** 作系统如下:
1、VxWorks
VxWorks *** 作系统是美国WindRiver公司于1983年设计开发的一种实时嵌入式 *** 作系统(RTOS),由于具有高性能的系统内核和友好的用户开发环境。
VxWorks的突出特点:可靠性、实时性和可裁减性。它是目前嵌入式系统领域中使用最广泛、市场占有率最高的 *** 作系统。它支持多种处理器,如x86、i960、Sun Sparc、Motorola Mc68xxx、MIPS RX000、Power PC等。大多数的VxWorks API是专有的,采用GNU的编译和调试器,具有集成开发环境Tornado 系列。
它属于商业型 *** 作系统,目前国内很多大的公司都采用此 *** 作系统进行嵌入式系统的开发,如中兴通讯、华为等。
2、pSOS
该系统是一个模块化、高性能的实时 *** 作系统,专为嵌入式微处理器设计,提供一个完全的多任务环境,在定制的或者商业化的硬件上具有高性能和高可靠性,可以让开发者根据 *** 作系统的功能和内存需求定制每一个应用所需的系统。开发者可以利用它来实现从简单的单个独立设备到复杂的、网络化的多处理器系统。
3、Windows Embedded
Windows Embedded 产品家族是Microsoft的产品,主要是用于建立支持具有丰富应用程序和服务的32嵌入时系统,从而针对广泛的用户需求提供灵活解决方案。此外,同支持更快的“产品上市速度”并降低开发成本,Windows Embedded 产品家族还能保证开发人员立于竞争前沿。目前Windows Embedded产品家族主要有Windows CE 30 和Windows NT Embedded 40。
4、Palm OS
Palm OS是著名的网络设备制造商3COM旗下的Palm Computing掌上电脑公司的产品,在PDA市场上占有很大的市场份额。它具有开放的 *** 作系统应用程序接口(API),开发商可以根据需要自行开发所需要的应用程序。
从全球范围来看,由于Handspring公司和SONY公司也被授权使用Palm OS *** 作系统,致使Palm OS的市场份额占到将近90%。Palm OS的优势在于可以让用户灵活方便地定制 *** 作系统以适合自己的习惯,而且其市场运作经验丰富,资本雄厚,目前也正在通过第三方软件商进行软件的中文化工作。
5、OS-9
Microwave的OS-9是为微处理器关键实时任务而设计的` *** 作系统,广泛应用于高科技产品中,包括消费电子产品、工业自动化、无线通信产品、医疗仪器、数字电视/多媒体设备。它提供了很好的安全性和容错性。与其它的嵌入式系统相比,它的灵活性和可升级性非常突出。
6、LynxOS
Lynx Real-time Systems 的LynxOS式一个分布式、嵌入式、可规模扩展的实时 *** 作系统,它遵循PosIXla、PosIXlb和PosIX1c标准。LynxOS支持线程的概念,提供256个全局用户线程优先级;提供一些传统的、非实时系统的服务特性,包括基于调用需求的虚拟内存、一个基于Motif的用户图形界面、与工业标准兼容的网络系统以及应用开发工具。
7、QNX
QNX是加拿大QNX公司的产品。QNX是在x86体系上开发出来的,这和别的RTOS不太一样,别的大多RTOS都是从68K的CPU上开发成熟,然后再移植到x86体系上来的,但是QNX是直接在x86上面开发,只是近年才在68K等CPU上使用。
QNX是一个实时的、可扩充的 *** 作系统,它部分遵循PosIX相关标准,如PosIX1b实时扩展。它提供了一个很小的微内核以及一些可选的配合进程。其内核仅提供4种服务:进程调度、进程间通信、底层网络通信和中断处理。其进程在独立的地址空间运行。所有其它OS服务,都体现为协作的用户进程,因此QNX内核非常小巧(QNX 4x大约为12KB),而且运行速度极快。这个灵活的结构可以使用户根据实际的需求,将系统配置成微小的嵌入式 *** 作系统或者包括几百个处理器的超级虚拟机 *** 作系统。
由于QNX具有强大的图形界面功能,因此很适合作为机顶盒、手持设备(掌上电脑、手机)、GPS设备的实时 *** 作系统使用。
8、嵌入式Linux
自由免费软件Linux的出现对目前商用嵌入式 *** 作系统带来了冲击。它可以移植到多个有不同结构的CPU和硬件平台上,具有很好的稳定性、各种性能的升级能力强,而且开发更容易。
国际上许多大型跨国企业,已经选中了Linux *** 作系统作为开发嵌入式产品的工具。如韩国三星公司、美国Transmeta公司等。国内也有很多厂家推出了基于Linux的嵌入式系统,如中科红旗软件技术有限公司既开发了嵌入式Linux系统基本开发平台,有提供了可供裁减的嵌入式Linux图形用户界面、窗口系统和网络浏览器,并与其它厂商合作开发了许多产品,包括PDA、机顶盒、**机等。
9、μC/OS-II
μC/OS-II是源代码公开的实时嵌入式内核,是由美国人Jean J Labrosse撰写,其性能完全可以与商业产品竞争。它是基于μC/OS的,在1992年以来已经有很多成功的商业应用。它可在绝大多数8位、16位、32位甚至64位微处理器、微控制器、数字信号处理器(DSP)上运行。
目前嵌入式系统的开发工具平台主要包括以下几种:
(1)实时在线仿真系统ICE(In-Circuit Emulator)
(2)高级语言编译器(Compiler Tools)
(3)源程序模拟器(Simulator)
流行的嵌入式 *** 作系统可以分为两类:
一类是从运行在个人电脑上的 *** 作系统向下移植到嵌入式系统中,形成的嵌入式 *** 作系统,如微软公司的WindowsCE及其新版本,SUN公司的Java *** 作系统,朗讯科技公司的Inferno,嵌入式Linux等。这类系统经过个人电脑或高性能计算机等产品的长期运行考验,技术日趋成熟,其相关的标准和软件开发方式已被用户普遍接受,同时积累了丰富的开发工具和应用软件资源。
另一类是实时 *** 作系统,如WindRiver公司的VxWorks,ISI的pSOS,QNX系统软件公司的QNX,ATI的Nucleus,中国科学院凯思集团的Hopen嵌入式 *** 作系统等,这类产品在 *** 作系统的结构和实现上都针对所面向的应用领域,对实时性高可靠性等进行了精巧的设计,而且提供了独立而完备的系统开发和测试工具,较多地应用在军用产品和工业控制等领域中。
Linux是90年代以来逐渐成熟的一个开放源代码的 *** 作系统。PC机上的Linux版本在全球数以百万计爱好者的合力开发下,得到了非常迅速的发展。90年代末uClinux,RTLinux等相继推出,在嵌入式领域得到了广泛的关注,它拥有大批的程序员和现成的应用程序,是我们研究开发工作的宝贵资源。
智慧团建软件工程师。
qnxs是qnx的软件工程师。软件工程师是从事软件开发相关工作的人员的统称。软件工程师包括软件设计人员、软件架构人员、软件工程管理人员、程序员等一系列岗位,技术要求除了最基础的编程语言、数据库技术等,还有诸多如JAVASCRIPT、AJAX、HIBERNATE、SPRING等前沿技术。
通过智慧团建将实现对团组织、团员、团干部基本信息的动态采集,构建全团大数据,实现对团员团干部的网络化管理,对团的组织生活的数字化记录,对团的工作的扁平化推进,实现团组织面向社会和团员青年的信息发布、工作展示和服务供给,实时掌握团员青年需求,吸引和凝聚团员青年,实现团组织之间、团组织和团员之间、团员相互之间经常性即时工作对接和联系交流。
以上就是关于嵌入式软件开发和软件开发有区别吗全部的内容,包括:嵌入式软件开发和软件开发有区别吗、嵌入式系统、软件开发环境、嵌入式处理器、嵌入式 *** 作系统有哪些等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)