最近有不少理工科的本科生问我,未来是走嵌入式还是纯软件好,究竟什么样的同学适合学习嵌入式呢?在这里我整合一下给他们的回答,根据自己的经验提供一些建议。
嵌入式领域也可以分为单片机方向、Linux方向和安卓方向。如果你的专业是电子通信或电气自动化等类似专业,那嵌入式领域一定是你的首选。
首先,嵌入式对硬件基础要求较高,掌握模拟电路和数字电路知识是不可避免的,相比计算机专业的同学,你在电路方面拥有更为丰富的知识。单片机是软硬结合的产物,通俗地说就是编程+电路。
但同时,嵌入式软件工程师通常不需要深入研究太复杂的电路,就像单片机的应用一样,硬件部分交给专门负责硬件的同学,让他们告诉你如何将单片机连接到电路中,只需能够理解单片机的原理图即可,多看些原理图其实会变得易于理解,其中没有特别复杂的电路知识。
单片机的学习主要集中在编程上,良好的C语言基础是必须的,这是毋庸置疑的。实际上,嵌入式软件和纯软件一样,都需要艰苦敲代码、调试,又敲又调的过程。修改一个bug有时会让人头疼,甚至一整天都找不到bug出在哪里,这确实会让人很困扰,纯软件开发可能也会有类似的情况。
总之,如果你在模拟电路和数字电路方面有一定的知识储备,并且对电路不感到困惑,同时喜欢无人机、智能小车等这类看起来很智能和有趣的东西,那你应该选择嵌入式领域。
学好嵌入式开发确实可以做出一些酷炫的产品,并且嵌入式领域的就业前景也逐渐向好。越来越多领域的工人类工作正在逐渐被嵌入式技术取代,比如工厂中的机械臂、人脸识别门禁、智能家居等。嵌入式注重实用性,更着重产品化、实物化。