自学嵌入式当然可以,但别做单片机,单片机有基础就够了,别太深入。
先上结论,嵌入式方向太多了,学生时期最重要的是把某一方向的基础学扎实。嵌入式主要方向有Linux应用开发,Linux驱动开发,BSP,操作系统开发,Android应用开发。当然,嵌入式远不止这些方向,但是这些方向,挣钱快。
其中,最建议Linux应用和驱动,或者BSP(其实BSP和驱动也没差太多),这些方向,是最容易和AI接轨的,别一看到AI就劝退,而且AI肯定是不能自学的,但是通过嵌入式在工作中接触AI,给自己多一个选择,多好,题主才研一,对自己要求高点挺好的。做嵌入式,也别太底层,太硬件,除非你能成长为芯片人才,否则太偏硬件没什么好处的
我觉得题主最想问的是学嵌入式以后能干啥,能去哪些公司,做什么工作吧,下面分享一下我的看法。
一定要学Linux,而且最好以Linux应用开发作为你嵌入式学习的起点(当然,硬件基础和Linux命令行基础就不说了,是起点开始前就要掌握的),应用开发比较好找工作,可以去一些通信公司做路由器或交换机的应用,或者一些AI公司做一些交互软件,因为大部分AI算法最终会搭载在嵌入式设备上的,其实绝大部分嵌入式设备都是需要Linux应用的,只不过通信和AI需求量会大一点,这个方向,钱可能比互联网少但不会差太多。
学完应用开发后,就可以学驱动开发或BSP,难度会比较大一点,因为需要比较扎实的硬件基础,也要深入理解Linux内核,但薪水自然会高,可以去芯片厂做BSP或者去手机厂做驱动。国内会有一些做AI芯片的公司,对嵌入式的人才需求会很大,不仅是BSP,还会有AI算法在嵌入式平台上的计算加速这样的需求,同样的,上述提到的做AI算法的公司,对驱动开发也会有需求的,手机厂就不用说了,况且你是硕士学历,国内几个手机大厂是可以考虑的,这个方向其实就和互联网的薪资差距就不大了。这个方向也可以去一些电脑厂商,但我不了解,就不多说了。
在熟悉Linux内核以后,你会发现嵌入式也可以做操作系统,(确实,嵌入式一大特点就是能做的领域太多了),其实驱动或者BSP已经是操作系统的一部分了,但国内专注做操作系统的公司太少了,岗位需求量也不是很大,慎重考虑。
或者,再偏软件一点,可以做Android,Android应用层开发基本靠Java了,这就比较有意思了,Android原则上属于嵌入式领域,但人们一般不把Android工程师叫做嵌入式工程师,(可能就是因为依赖Java吧),Android就业是不愁的,这么多有移动客户端的公司,大部分都需要Android工程师,还有一些做智能家电的公司,尤其是智能电视,智能电视的操作系统都是Android,当然,手机厂自然也有大量的Android岗位需求。
Android,往底层一点,就是framework(框架),这就比较嵌入式了,但这个方向其实就不建议自学了,这是一般工作以后才可能接触到的吧,自学应该学不到啥东西,我只是提一嘴有这么个方向。
你会发现我提到的方向都是偏软件的,因为提到嵌入式,大家想到的都是没钱途,是这样的,因为嵌入式大部分岗位还是偏硬件,偏底层,偏硬件的嵌入式工资当然低。因为嵌入式的硬件,在硬件领域是偏应用层的,在计算机领域是偏底层的,结构偏简单的,是芯片的"应用",而硬件领域挣钱的活或者说难度大的活是做芯片,做芯片和用芯片,天壤之别,真正去“做"硬件的,那就不叫嵌入式了,所以嵌入式硬件,几乎是最简单的计算机技术之一,薪资低很正常。
所以我建议你放弃单片机,没意义,嵌入式一定要和前沿领域去接轨,所以我上文中提到了很多AI,现在人工智能是搞计算机技术必然绕不开的,绕开它,钱也就绕开你了。嵌入式+AI是我最建议你去涉及的领域,(当然不是让你去自学AI,那样大概率找不到工作,因为没有几乎公司会在校招时要非AI专业的AI工程师),嵌入式AI涉及的前沿领域,自动驾驶,可穿戴设备,医疗器械等等。除了专做AI的公司,可以考虑刚才也说过的手机厂,或者做智能终端的公司(主要是智能家居),因为我感觉很多做智能终端的公司会把重点放在"终端"而不是"智能",所以我没把它归为AI,当然了,这些领域薪资高,门槛也就高了,但你才研一嘛,我觉得门槛高不是问题。
总而言之,嵌入式不是不能学,但学嵌入式一定要偏底层的同时偏软件,硬件的话有个扎实的基础知识就够了,以后做嵌入式领域的工作一定涉足科技前沿,前沿科技对嵌入式的需求一定不会少的,别老想着你的单片机,咱不是因为什么鄙视链瞧不上单片机,是因为这个真不挣钱。如果没什么技术信仰,还是学来钱快的技术吧。甚至,要是不太排斥,学着学着Linux应用就转互联网了也不一定是不是?哈哈哈别太早给自己设限就对了,三年的快乐时光等着你呢,别太浪也别太焦虑,好好学就行了,加油吧!
link