嵌入式技术与软件技术的区别是什么?

初夏gkd


在当前的技术体系结构下,嵌入式开发涉及到三方面内容,分别是设备、网络和平台,设备所包含的范围比较广泛,既可以是各种传感器设备,也可以是各种可穿戴设备、家用电器、平板电脑等等,这些设备通常具备感测和反馈的功能。

虽然嵌入式开发所面对的设备比较丰富,但是总体上的结构包括输入设备、微控制器主板、输出设备三大部分。在学习嵌入式开发的过程中需要选择一款微控制器主板,可以选择传统的H8型主板,也可以选择Arduino、Raspberry Pi(树莓派)、Beagle Bone Black和intel Edison,这些都是比较常见的选择。作为嵌入式开发人员来说,掌握设备的基本知识对于嵌入式开发是比较重要的。

软件开发主要涉及到数据、网络和计算三部分,在当前的大数据时代背景下,数据的边界得到了一定程度的拓展,软件开发人员既需要掌握传统的Sql数据库知识,还需要掌握NoSql数据库知识。在云计算技术的推动下,未来软件开发过程与云计算的结合会越来越紧密,尤其是在当前PaaS和SaaS快速发展的背景下,掌握相关的技术会在很大程度上提升软件开发的效率。软件开发的计算环节主要涉及到算法设计和数据结构两大核心内容,目前分布式计算已经随着大数据和云计算技术得到了逐渐的普及。

总的来说,嵌入式开发的重点在于如何利用设备资源完成具体的控制操作,而软件开发技术则是如何完成各种数据资源的管理和应用。如果以物联网体系结构来整合嵌入式开发和软件开发的话,嵌入式开发关注于设备、网络和物联网平台,而软件开发则关注于物联网平台、数据分析和数据运用。

在就业岗位方面,嵌入式开发的岗位主要集中在与设备关系密切的岗位上,在产业互联网阶段,嵌入式相关的开发岗位还是比较多的。软件开发岗位相对于嵌入式开发岗位来说,要更丰富一些,涉及到的场景也更多,比如Web开发、移动互联网开发(Android、iOS)、大数据开发、人工智能开发等等。

我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。

如果有互联网、大数据、人工智能等方面的问题,或者是考研方面的问题,都可以在评论区留言!


IT人刘俊明


我先阐述嵌入式技术与软件技术的定义,然后从不同的角度阐述他们的区别与联系,阐述完后你自然就知道方向是什么了。

1、定义:

(1)、嵌入式技术

嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。

(2)、软件技术

是计算机科学的一个分支,和软件科学与技术专业相比较,软件技术专业的侧重点在开发和技术的实际应用,而对软件开发的理论要求没有那么高。计算机软件在现代社会经济生活中占有极其重要的地位,在各个领域中发挥着越来越重要的作用。

2、区别

(1)层次不同:

嵌入式技术是偏底层,需要熟悉一些硬件知识和操作系统知识,硬件知识要求熟悉里面的比如寄存器操作,Flash/SDRAM等,并且能够熟悉Linux内核,对其进行裁剪,移植,把程序烧入到SDRAM中等等;而软件技术可以不要求掌握底层次技术,可以纯做一个应用软件等;

(2)使用技术点不同:

嵌入式技术技术点是熟悉嵌入式微处理器,外围设备通信,USB,串口,PCIE,linux内核,系统裁剪移植,系统方向要求FPGA等技术;而软件技术则要求应用技术,比如C++,go,JAVA,C#,Android,IOS, python,要求的开发平台有linux,windows,要求的IDE有VS开发环境,eclipse等,要求的脚本有shell,python,lua等,当然这些技术不是要求全部掌握,而是根据自己的方向进行选择。

(3)市场需求范围不同

嵌入式技术的相对小一些,软件技术因为偏上层,需求量特别大,当然从事这方面的人也特别多;嵌入式技术方面,往往是有核心技术的制造业(研发出硬件产品),而应用技术方面的范围就宽了,从制造业到互联网,每时每刻都需要这方面的人才。

(4)入门的难易系统不同

一般来说嵌入式技术的难度系数要比软件技术要大很多。

3、联系

往往二者是相辅相成的,一套系统即离不开嵌入式,也离不开应用软件


IT达人说


嵌入式相对于纯软件技术要更底层一点。

嵌入式一方面要驱动不同的硬件,比如屏幕,内存等,使这些硬件能工作。另一方面需要完成一定的软件功能,也就是让这些硬件按照既定的目标进行工作。比如安卓手机,嵌入式就是在安卓系统里面加上各种不同硬件的驱动,使安卓系统成为一个完全匹配该硬件的系统。然后纯软件技术就是在安卓系统上开发APP。

事实上这两者的就业完全不一样。嵌入式的工作方向一定是有一个实物产品的,它没有办法脱离硬件。可以做的方向很多,家电,智能控制,定位,医疗器械,电动汽车航空飞机,等等只要有实物产品又涉及到电子控制的都会有嵌入式。软件就不一样,互联网,APP开发,网站开发这种,脱离了硬件的限制,而是基于某一平台进行开发。

我现在就是从事的嵌入式开发,我感觉嵌入式要涉及的方面会多一点。比如你首先要精通编程语言,一般是C或者C++,然后得懂硬件,外围电路,芯片架构等等。然后英语也得好,因为每一款MCU都不一样,资料基本都是英文的。而且光MCU不能工作啊,还得有各种各样的外围芯片,这些资料都得看。可以说每一个产品都要看很多内容。我觉得软件就不一样,比如JAVA开发,只要会一个编程语言,熟悉某一平台就可以进行各种开发,可能往深里学就是各种算法啥的。

总体而言我感觉纯软件的就业待遇会比嵌入式的收入要高一点。但是做嵌入式可能会更稳一点,因为有实体产品的公司在发展上可能会比纯软件的公司要更谨慎。至少最近一年一来听说很多互联网公司倒闭,裁员啥的,嵌入式这行里面至少我周边好像并没有,反倒是招人不好招,薪水普遍都有增长。


一禾嵌入式


你说的嵌入式技术,我认为是现在很多智能设备必须的技术,因为很多算法都是专用的程序,例如,语音识别与处理是很复杂的算法 ,要做为一个专用程序放在系统里,每次使用都要先装入内存,再被调用,要花费更多的时间 ,处理起来要经过CPU中央处理器,占用系统核心资源,工作效率低下,而且时间延迟,非常影响高性能的任务。嵌入式技术就是把像语音识别处理的算法和软件完整地做成一个芯片,将这种芯片嵌入硬件系统中,可以实现系统硬件之间的直连,实现软件硬件化,还可以大大提高执行速度。所以,嵌入式技术应用会越来越多,如人脸识别,雷达信号的数字处理,指纹识别等都要求嵌入式技术。而一般软件会单独写出,有通用性,像手机中的APP就是,这些程序没必要也不可能做成嵌入式,不然你的系统就会大得不可想象了!


上善若水3991798753


做了五年的嵌入式,发现做嵌入式的,不如做微信小程序的。


码师傅


嵌入式,自动化方向

软件,计算机方向


分享到:


相關文章: