什么是嵌入式软件开发,具体点
嵌入式是嵌入式系统的缩写,包含这么几层:硬件层,驱动层,系统层,应用层。
嵌入式软件主要的是走驱动和系统层级的开发。
就不说概念了,直接说例子吧。
手机,就是嵌入式设备。
整个手机去除那些游戏,美图,移动等服务和硬件就是嵌入式软件要干的活。
在说简单点,就是手机需要播放音乐,能看视频,能存电影,能上网,能用BT等等功能都是嵌入式软件需要完成的,硬件负责将芯片,元器件组合成手机,接下来用户用到的功能(不是游戏,是上面说的那些功能)都是软件,如果没有软件,手机就是砖头。
嵌入式软件开发就业前景如何,学习的难度又有多大?
本人本科电子信息工程专业嵌入式方向,目前已经硕士毕业,工作一年;
学习工作中接触到的更多的是基于linux系统的嵌入式开发,涉及到系统移植,驱动编写,软件编程等等。
上承接软件工程师,下对电子工程师。
这个行业标准的入门难,起薪高,成长快,(一年跳完三年跳,工资连翻倍)不过毕竟是程序员,以后工作环境应该也是男多女少,朝九晚五,也不可避免的有加班出差。
(建议毕业前就找好女朋友)
学习方面,数电模电是基础,入门练下单片机,ARM版,深入学下FPGA,多参加电子竞赛,(利用别人打游戏的时间做做无人机、智能车,暮然回首时,才会觉得无愧时光)有丰富经验的可以反超名校渣渣和部分工作一年的划水党。
虽然现在人工智能更火,但是在智能也不能凭空运行,算法设计完成后也回归现实,智能硬件就是你的战场。
什么是嵌入式软件开发
嵌入式软件开发主要针对计算能力有限的CPU进行的软件开发,比如INTEL的CPU芯片时钟频率可以达到1G HZ,虽然INTEL的CPU运算能力强大,但是体积大,发热大,不适合使用在某些场合,比如你的手机里面安装一个奔腾芯片再加一个大风扇,可能吗?这个时候就要使用一些体积小,功耗低,运算能力有限的专用CPU,比如手机上使用的CPU处理器大概频率在30M左右(好象是这个频率),在这种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等。
嵌入式软件开发工资怎么样?二本毕业好找工作吗?
我现在就处于这个行业。
嵌入式行业也不算很新的行业了,缺口大谈不上,但是人才确认比较缺。
现在职业培训越来越多,到处是卖开发板的,这说明嵌入式行业还是比较繁荣的,不过入门门槛也是在慢慢降低。
毕业后,工资嘛,普遍来说,我觉得比做纯软件开发要稍好一些,不过不会高多少,毕竟相比之下,嵌入式行业人才比PC上软件开发人才要缺一些。
我觉得嵌入式市场不会出现人才饱和的,能不能找到好工作关键看你编程及电路方面的基本功和实际动作经验。
如果你想提升自己的竞争力,就要多动作编程,可以买个开发板玩玩,有机会参加一些公司的比赛就更好了。
另外,我看到你问语言入门方面的书籍,嵌入式行业,首选当然是C语言,C++次之,所以你要把C语言学好,C语言的书籍太多了,挑一本看看就行,关键是动手编程。
考证方面,可以先考计算机等级考试二级三级,然后尝试软件设计师或者嵌入式软件工程师的考试,这个考试难度比较高,我觉得还是有一定含金量的。
加油吧,路长着呢~!