嵌入式软件开发和软件开发有区别吗
现在的嵌入式软件开发 分工也很细的。
如果是上层应用开发,那么基本可以做到与硬件无关,不用太关心硬件接口。
如果是偏底层的,那么软件开发和硬件开发的界线就很模糊了,特别是驱动那一层的。有好多工作都涉及芯片管脚的操作,设置bit位,GPIO读写,I2C总线操作,寄存器读写,等等,都需要阅读了解硬件spec。
当然,硬件开发在做设计时要考虑更多,要考虑板子的布局(要与结构工程师交流)、器件的选型等。做硬件开发对经验要求很高,要更加慎重,毕竟一次rework那可是要付出很大代价的,尤其是依赖供应商的情况下,时间上很难掌控。
作为一名资深的嵌入式开发人员,我可以负责人的告诉你,高嵌入式开发软硬件都要懂,有的时候还要比较清楚,当然起步价软件比较高,硬件比较低,因为在国内高嵌入式硬件的基本就是抄来抄去的模式,真正投入研发的企业也是有的,但是比较少,因为一款硬件从设计到稳定定型需要投入的比较多周期也比较长,软件就不一样了。但是硬件要是做好了,很吃香,所以嵌入式硬件工程师,要么就是拿初级工程师的薪资,要么就是拿高级工程师的薪资,而嵌入式软件只要你干个两三年,搞的好的话年薪20W不成问题,当然前提是你要干的不错,这个一般就是系统级或者驱动级的那种,还有就是搞软件好找工作,因为需求比较大,而硬件一旦定型,就不会动了。所以建议搞嵌入式软件开发,祝你好运!
操作系统不一样,嵌入式软件开发属于软件开发的一种。嵌入式软件开发主要针对计算能力有限的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等。
软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程。软件开发是一项包括需求捕捉、需求分析、设计、实现和测试的系统工程。软件一般是用某种程序设计语言来实现的。通常采用软件开发工具可以进行开发。软件分为系统软件和应用软件,并不只是包括可以在计算机上运行的程序,与这些程序相关的文件一般也被认为是软件的一部分。 软件设计思路和方法的一般过程,包括设计软件的功能和实现的算法和方法、软件的总体结构设计和模块设计、编程和调试、程序联调和测试以及编写、提交程序。
操作系统不一样,嵌入式软件开发属于软件开发的一种。
嵌入式软件开发主要针对计算能力有限的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等。
软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程。软件开发是一项包括需求捕捉、需求分析、设计、实现和测试的系统工程。软件一般是用某种程序设计语言来实现的。通常采用软件开发工具可以进行开发。软件分为系统软件和应用软件,并不只是包括可以在计算机上运行的程序,与这些程序相关的文件一般也被认为是软件的一部分。 软件设计思路和方法的一般过程,包括设计软件的功能和实现的算法和方法、软件的总体结构设计和模块设计、编程和调试、程序联调和测试以及编写、提交程序。
当然有,嵌入式软件开发主要是开发底层,与芯片交互相关的,用的基本是C语言,熟悉底层芯片架构。软件开发通常指的是开发电脑端\手机端APP或者一些大型网站前后台系统,主要用Java等语言,不管底层驱动等。
从事多年嵌入式软件开发,我想说从编程角度来说差别不大,最本质的区别在于嵌入式你需要了解更多的跟硬件设备相关的知识, 一般跟底层硬件驱动打交道会多些,当然嵌入式软件也有偏应用层的开发,这个可以根据自己兴趣选择。希望回答能起到帮助!
嵌入式软件开发是软件开发中的一个分支
什么是嵌入式开发和软件开发?
1、嵌入式软件开发指的是针对单片机、ARM、FPGA的编程,没有window或linux操作系统,即使有,也是功能较为简单的操作系统,比如ucos。总之嵌入式软件开发和硬件关系比较紧密,一般需要编写硬件驱动。2、软件开发一般指在已经安装了像window或linux的电路板上编写应用,软件开发不直接编写硬件驱动,因为驱动已经...
嵌入式软件开发和java的区别
嵌入式软件开发和Java开发是两个不同领域,有一些显著的区别:1.**应用领域:-**嵌入式软件开发:**主要应用于嵌入式系统,这些系统通常是实时、资源受限的环境,如微控制器、传感器、嵌入式系统-on-chip(SoC)等。-**Java开发:**Java是一种通用的编程语言,可用于多种应用领域,包括Web开发、桌面...
什么是嵌入式开发和软件开发
1、嵌入式开发就是指在嵌入式操作系统下进行开发,包括在系统化设计指导下的硬件和软件以及综合研发。除暂且分离硬件的EDA研发以外,侧重的就是在一定硬件条件下的系统化设计和软件研发。2、软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程。软件开发是一项包括需求捕捉、需求分析、设计、...
嵌入式软件开发需要学习哪些课程
3.C\/C++编程语言:掌握C\/C++编程语言是嵌入式软件开发的基础。这两种语言通常用于嵌入式系统的底层编程。4.微控制器和微处理器:学习微控制器和微处理器的工作原理、架构和编程方法。了解如何使用这些芯片进行嵌入式系统的开发。5.嵌入式系统设计:学习嵌入式系统的设计原理,包括硬件和软件的协同工作。
嵌入式软件开发和软件开发有区别吗
操作系统不一样,嵌入式软件开发属于软件开发的一种。嵌入式软件开发主要针对计算能力有限的CPU进行的软件开发,比如INTEL的CPU芯片时钟频率可以达到1G HZ,虽然INTEL的CPU运算能力强大,但是体积大,发热大,不适合使用在某些场合,这个时候就要使用一些体积小,功耗低,运算能力有限的专用CPU,比如手机上使用...
嵌入式软件开发和安卓开发哪个前景好
嵌入式软件开发:前景:嵌入式系统在各个领域都有广泛应用,包括家电、汽车、医疗设备、工业控制等。随着物联网(IoT)的发展,嵌入式系统的需求不断增加,因此嵌入式软件开发的前景也较为广阔。挑战:嵌入式开发需要对硬件和软件的结合有深入的理解,需要处理资源受限的环境,同时需要考虑实时性和稳定性等...
嵌入式软件的开发分类
从底层硬件到上层应用,嵌入式软件的开发可以分为以下三类:1、嵌入式操作系统开发 嵌入式操作系统EOS(Embedded Operating System)是一种被广泛使用的系统软件。过去,它主要用于工业控制和国防系统领域。 EOS负责分配和调度嵌入式系统的所有软件和硬件资源,控制和协调并发活动。它必须体现其所在系统的特征,...
嵌入式软硬件工程师哪个更有前途?
嵌入式软硬件工程师都是非常重要的职位,各有其独特的前途和机会。以下是对两者的简要比较:嵌入式软件工程师:嵌入式软件工程师主要负责嵌入式系统的软件开发和维护。他们需要掌握C\/C++等编程语言,熟悉嵌入式操作系统、驱动程序开发、应用程序开发等技能。随着物联网、智能家居、自动驾驶等新兴领域的快速...
什么是嵌入式软件开发?
这意味着嵌入式系统通常被设计为执行特定的任务,而不是提供多种功能。嵌入式系统通常包括硬件和软件两个部分:硬件是物理设备,如微处理器、内存和输入\/输出设备;软件则是控制硬件操作的程序。嵌入式软件开发的目标是实现嵌入式系统的特定功能。这可能涉及到编写代码来控制硬件设备,处理数据,以及与用户或...
软件开发与嵌入式开发的区别
软件开发与嵌入式开发最大的一个不同点在与嵌入式开发经常要用到硬件方面的知识,比如做嵌入式驱动开发你就得看懂一些电路图,主要是通过硬件方面的知识知道如何控制和使用一些集成芯片
撒适美开: 操作系统不一样,嵌入式软件开发属于软件开发的一种. 嵌入式软件开发主要针对计算能力有限的CPU进行的软件开发,比如INTEL的CPU芯片时钟频率可以达到1G HZ,虽然INTEL的CPU运算能力强大,但是体积大,发热大,不适合使用在某...
彭山县18571693507: 嵌入式软件开发与软件开发有什么区别 - ?
撒适美开: 1、嵌入式软件开发指的是针对单片机、ARM、FPGA的编程,没有window或linux操作系统,即使有,也是功能较为简单的操作系统,比如ucos.总之嵌入式软件开发和硬件关系比较紧密,一般需要编写硬件驱动. 2、软件开发一般指在已经安装了像window或linux的电路板上编写应用,软件开发不直接编写硬件驱动,因为驱动已经被操作系统实现了,软件开发注重逻辑功能的实现,比如要实现拍照,只需调用摄像头驱动即可.
彭山县18571693507: 嵌入式软件开发与软件开发有什么不同 - ?
撒适美开: 我正好是做嵌入式的.嵌入式主要是处理软硬结合部分,主要是基于linux上C开发,要求懂一定的硬件知识,能够看懂原理图,知道常用的通信接口,I2C,SPI等等,出问题还需要调时序.基于某款芯片开发产品时,要看数据手册,了解地址映射,地址划分,知道寄存器功能,定义好各种功能接口.要移植bootloader,内核,制作文件系统,编写自家设备驱动等等,汇编也需要有一定了解.入门不易,精通很难.
彭山县18571693507: 软件开发与嵌入式开发的区别?
撒适美开: 软件开发与嵌入式开发最大的一个不同点在与嵌入式开发经常要用到硬件方面的知识,比如做嵌入式驱动开发你就得看懂一些电路图,主要是通过硬件方面的知识知道如何控制和使用一些集成芯片
彭山县18571693507: 嵌入式开发和一般的软件开发有什么区别啊,学习嵌入式开发需要什么基础? - ?
撒适美开: 嵌入式开发主要针对硬件开发,开发的软件用在单片机、ARM,上,嵌入式开发要了解硬件的结构,工作原理,开发语言现在主流用C语言. 一般的软件开发多指面向对象,.net开发,做网站,做系统等等,这方面流行的语种比较多.VC、VB、PB、JAVA、ASP、JSP. 就业都很好就业,就看你学的怎么样啦!
彭山县18571693507: 嵌入式应用软件开发 和 软件开发 哪个好些 ? - ?
撒适美开: 嵌入式应用软件开发是相对来说是电子设备的多一点,软件开发包罗万象……,
彭山县18571693507: 电子的【嵌入式应用软件开发】与软件工程的【软件开发】有什么区别吗? - ?
撒适美开: 嵌入式应用软件是针对特定应用领域,基于某一固定的硬件平台,用来达到用户预期目标的计算机软件.由于用户任务可能有时间和精度上的要求,因此有些嵌入式应用软件需要特定嵌入式操作系统的支持.目前我国市场上已经出现了各式各样的嵌入式应用软件,包括浏览器、Email软件、文字处理软件、通讯软件、多媒体软件、个人信息处理软件、智能人机交互软件、各种行业应用软件等.软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程.软件开发是一项包括需求捕捉,需求分析,设计,实现和测试的系统工程.软件一般是用某种程序设计语言来实现的.常见的软件开发语言:JAVA、C/C++/JSP/ASP/PB/DELPHI/.NET等
彭山县18571693507: 嵌入式系统软件开发和嵌入式应用软件开发有什么区别 - ?
撒适美开: 式系统开发是软件开发的一种,嵌入式系统开发就是对于除了电脑之外的所有电子设备上操作系统的开发,开发对象有手机,掌上电脑,机电系统等.嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功...
彭山县18571693507: 单片机嵌入式开发和普通电脑软件开发有什么区别... - ?
撒适美开: 1嵌入式开发就是设计特定功能的计算机系统,手机,mp3、mp4.mp5自动供水系统,洗衣机,油井监控系统等等都是嵌入式系统,形象的说就是开发一种嵌入在一个机器上实现特定功能的一个系统.单片机开发是简单的嵌入式开发,一般的单...
彭山县18571693507: 西嵌教育所谓的嵌入式软件开发和纯软件开发有什么区别呢!?嵌入式的就业会比纯软件好吗!? - ?
撒适美开: 这个你得搞清楚嵌入式软件开发是什么,其实它也还是开发软件,只是它开发的是基于嵌入式系统的软件,所以叫做嵌入式软件开发,什么是嵌入式系统呢?就是具有特定功能的计算机系统,比如ATM,PDA等,做这些上面的软件开发就是所谓的嵌入式软件开发,至于说那个好,这个从大的方面来说的话嵌入式好,因为嵌入式市场太大了,手机市场,现在好多东西都讲究智能化,智能化了就是嵌入式系统的地盘了,但就软件工程师个人来说的话,这个属于一通百通的,只要你技术精,都好,技术一般,那个都工资一般