嵌入式没必要存在的学科,设置不科学

2018-06-15 04:08:04 +08:00
 freedom3

嵌入式涉及的东西太多,太杂。主要涉及操作系统、驱动、算法这是软件方面,底层是当然是硬件,数字电路、集成电路、FPGA、CPU 等等。

先说软件方面,就操作系统这一块如果是非常小型的还能 hold 的住,如果是 pc 级别的 linux 操作系统,要 hold 的住并不是一件非常简单的事情;其次,算法方面就涉及数学方面了,难度自不必说,信号处理、图像处理、AI、等等难度是相当的高,所以软件方面难度超高,如果要弄精通。再说硬件方面,数字电路和集成电路、FPGA 这些对物理和数学的要求也是非常高的,所以硬件方面难度也是奇高,要把这两个都搞精通,难度可想而知。

再说说市场的嵌入式做的什么东西,大部分基本就是看着参考文档,写一点底层的代码,添加或者修改一点驱动而已,技术含量比较低,怎么说昵,可不可以理解为这根本不是嵌入式开发,按照嵌入式的定义来说,可以说是软件开发。

嵌入式含义太广,完全误导初学者,嵌入式涉及的东西,都被分解为其他学科了,都自称体系了。市场方面也是如此,所以说嵌入式根本就是一个伪概念,如果涉及硬件涉及,那就是微电子方面,如果涉及软件,算法方面,那肯定是软件学科。

个人初步看法,欢迎探讨,总之感觉嵌入式就是鸡肋,伪概念。

7889 次点击
所在节点    程序员
52 条回复
lzhCoooder
2018-06-15 10:22:07 +08:00
哪里设置了嵌入式这个学科呢,
你说的什么操作系统,算法数据结构 信号处理,模电数电,不都是, 计算机,通信,电子,自动化专业的基础课吗
大学学的东西广度比这广多了,好好读过信息类专业入门很轻松吧,互联网兴起之前我们自动化大部分师兄都去当了焊板子,现在也不少啊
shijingshijing
2018-06-15 10:23:36 +08:00
说的没错,嵌入式工程师是以前硬件成本较高为了降低成本而形成的职业,要求你既懂理论又懂实现,职位对应的工作本质应该是一个系统工程师,一个软件工程师和一个硬件工程师合起来完成的一个项目,但由于成本的需要而交给了一个嵌入式工程师来实现。随着通用 SoC 的普及以及半导体器件成本不断下降,以后各种个样的需求都会尽可能的利用通用平台来实现。就好比以前各个企业的 IT 系统有选 IBM 方案的,有选 intel+微软方案的,还有开源方案的,以后都会走上 x86 集群+开源系统。

按现在的趋势,以后硬件就是 ARM 一统天下,软件要么 Linux,要么 Android。

确切地说,嵌入式是特定时期的特定产物,以后的情形是不管是嵌入式还是 cs 还是金融,所有涉及技术的行业万佛朝宗---都给学数学的打工。
shijingshijing
2018-06-15 10:26:09 +08:00
嵌入式最明显的例子就是手机了,以前有 mp3,有 mp4 播放器,有数码相机,有电话,都是独立的,后来只有手机了。
zj299792458
2018-06-15 10:28:22 +08:00
@shijingshijing 手机内存比我电脑还大了,动不动就 8 核,感觉跑 windows 完全没问题,只是因为用了 arm 精简指令集就叫嵌入式么?
shijingshijing
2018-06-15 10:39:39 +08:00
@zj299792458 不是,现在的情况是嵌入式与通用平台之间的界限已经越来越模糊了,嵌入式本身就是一个胶水一样的东西,现在能用通用平台的基本上都用通用平台了,不能用的一般都是有某种特殊需求的,比如强实时性,这个时候会上 FPGA,而 FPGA 其实也是写程序;比如有的对能耗要求极度苛刻,这时候不如干脆定制 ASIC,比如苹果的 airpod 就自己弄了个 w1

以前那种 PIC,c51 单片机包打天下的时代基本已经 over 了,哪怕现在还有需求,以后也是江河日下。
onepunch
2018-06-15 10:49:45 +08:00
我才听说写驱动叫没技术含量,不是只有大牛才能写的吗?你做过嵌入式吗?

嵌入式开发与 pc 开发、web 开发的数据栈本来也不一样 为什么不能独立出来呢 ,不是很懂
justff
2018-06-15 11:16:42 +08:00
嵌入式是特定时期的特定产物 这句话很中肯,他确实过时了
shijingshijing
2018-06-15 12:02:02 +08:00
@onepunch 驱动,BSP 这种大厂的 firmware engineer 负责搞定,最后出个 SDK 打包代码、文档、demo 就 ok 了。系统工程师做好系统功能设计和分解之后,软件工程师直接调用 SDK 接口函数实现。
freedom3
2018-06-15 12:07:39 +08:00
@OneNian
@EvanG
我不是学习嵌入式的,我是搞软件开发的,只不过感觉这个是鸡肋,貌似没什么用途,听起来高大上,
其实没什么用,说的直白点,和前端没多大区别,个人认为。
shuizhengqi
2018-06-15 12:45:02 +08:00
计科或者软件工程的根本就搞不了嵌入式,只有通信工程或者电子信息工程的,才能全面的了解嵌入式的东西,软硬都学。这个学科存在即合理,只是你的接触面太小
huluhulu
2018-06-15 12:46:32 +08:00
我怕回复呵呵被举报……只能说楼主不懂,知识还太浅……
nonkr
2018-06-15 12:52:01 +08:00
你的感觉不对,还是需要多接触这个行业。
freedom3
2018-06-15 12:56:04 +08:00
@huluhulu
或许是吧,但是感觉想要搞精通,真的难,但是到底怎么样才算是精通
Baymaxbowen
2018-06-15 12:56:05 +08:00
不多说
mfhh
2018-06-15 13:48:21 +08:00
给楼主出个题,如果搞明白了,或许有点启发。
问:
arduino,Raspberry Pi 和 nodemcu 有什么异同?
airqj
2018-06-15 13:58:04 +08:00
搞过嵌入式的上手软件工程的活儿不就是几天的事情吗
Alexhex
2018-06-15 15:29:06 +08:00
机械电子方向了解一下。
runylin
2018-06-15 15:37:26 +08:00
@airqj 还真不是 可以说差别很大了
smdbh
2018-06-15 15:41:24 +08:00
嵌入式感觉主要还是 MCU - M 类的,没有像 x86 一样的公版底层,一般都一家一个样,也就没有什么统一的驱动。原厂可以给库,但实际用还是要看手册,更何况还要操作实际硬件,又是和产品相关的,就是上下都要会。
但是这个赚钱的确和互联网 IT 没法比。
bluefalconjun
2018-06-15 16:15:55 +08:00
混在嵌入式开发里面 15 年了...
水确实很深... 东西也比较杂...
但是现在已经越来越明朗了...

目前国内几家能做 arm/mips license 芯片的公司, 还是需要养一批做嵌入式开发的来写 fw/drv, 做 android sdk 给厂商来用的.

说说一些嵌入式相关的大头:
硬件设计 /PCB layout/功耗 /稳定性.
otp/binit/uboot 安全相关的每家都会自己做.
gpe/vdec/venc 的 fw,drv,配套的中间件 /接口实现.
基本上常用的功能比如视频通话 /播放器 /DLNA 等都是需要原厂优化的.
量产里面还有些验证测试比如 CTS/GTS(android only)的东西.

... 东西还是挺多了, 感觉搞了这么久, 也就算是弄清楚了细节而已.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/463258

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX