1、说下感想:
我发现很多网络上的总结聊的都是5年甚至10年前的嵌入式行业情况,其实这几年伴随着物联网、机器智能、5G、无人驾驶等领域的发展,嵌入式工程师所面对的领域专业能力颗粒度逐渐变得更细了。简单点举个例子就是一个做wifi ble nbiot领域的开发工程师与一个做机器人底盘控制、激光雷达、ROS相关的嵌入式开发工程师,技术栈差别非常大。类似场景还有很多,做智能音箱的,IP摄像头的,工业农业总线控制的,做系统的,做驱动的,做应用的等等。
所以对于在校的学生,其实最重要的还是把基础给搞扎实,然后做一到两个好项目就足够了。
2、前提:
首先,能确定的一个事情是,我们学习嵌入式为了找一份好工作。
那这个事情就比较简单了。你需要学习的就是如何让自己的技能匹配上好工作的技能要求。然后积累下简历制作、投递渠道、面试技巧方面的知识,保证自己在毕业时找到一份好的工作机会即可。
3、然后,有哪些工作?(来源BOSS直聘)
小米 嵌入式开发 18k
阿里 嵌入式开发 20k
海康 嵌入式开发 18k
美的 嵌入式开发 18k
4、总结来说:
语言基础:C/C++
操作系统:RTOS、Linux、Android
硬件:IO、I2C、SPI、SDIO、USB、内外部中断、定时器
编程技能:数据结构、IPC、进程、线程、内存、文件、socket
项目相关:wifi ble 摄像头 激光雷达 zigbee 等,这个部分根据自己学校资源与身边资源去选择。
但有一个点非常重要,比如说你做wifi相关的项目,不是去实现wifi的连接功能即可,而是针对实际的产品场景,去输出有价值的实现方案。举个例子,做智能家居的产品,部分同学都是把模块买回来,源码UI改下,连接到别人服务器,然后整个链路跑通就完了。但是如果你做了一个断网以及网络延时情况下方案的解决办法或者模块远程升级的方案,这部分的实现思想比起你跑通整个链路,其实是更有谈资的。
其它:git debug方法 示波器 逻辑分析仪 编码风格 代码封装 等等
5、如何开始:
一、准备学习计划&学习路线,例如嵌入式应用层面的,系统或驱动层面的可以把4、5两个点改为uboot、内核、驱动、文件系统移植相关即可,当然了,时间根据自己情况而定,但是一定要有学习节点。
1、C语音基础(10天)-节点:写个贪食蛇游戏、学生管理系统
2、数据结构(10天)-节点:模仿实现google自测框架、zlog日志框架
3、单片机(10天)-节点:实现串口OTA功能
4、rtos(10天)-节点:做个智能指纹门锁
5、linux-c高级编程(10天)-节点:做个智能音箱、IP摄像头、智能网关?
二、找教程资源-视频类或书籍类
这里只精不多,都是个人入行以来收集的,认为最好的教程资源了,每类只有一款。
书籍:
C 语言最好的入门书: C Primer Plus(第6版)(中文版)
C++ 最好的入门书: C++ Primer 中文版(第 5 版)
数据结构:大话数据结构
linux:鸟哥的Linux私房菜
视频:
c教程-翁恺老师
c++教程-侯捷老师
数据结构-郝斌老师
ST32-原子哥
驱动开发-韦东山老师&原子老师
开源框架:
包含OS、库&开源框架、GUI、物联网智能家居、项目实例等
论坛:
- 开发板厂商论坛
2. 电子相关论坛/资料网站
6、开始吧
明天6点起床。
最后到了打广告时间,如果你也喜欢物联网、嵌入式,并希望在这个领域继续深耕,这里准备了一份完整的学习资料包,可以关注“嵌入式思维导图”公众号获取。
如果你喜欢看视频,这里有我录制的一份嵌入式入门教程,可以移步:
更多嵌入式、物联网领域分享: