前言
BSP=>Board Support Package,开发、调试、维护使得Board(开发板)功能正常运行,大致可分为MCU、SOC两个方向的BSP。拥有BSP技能人员在不同单位有不同岗位称呼,如MCU工程师、Linux驱动工程师、Linux工程师、嵌入式软件工程师等(文章底部有基本岗位信息)
BSP校招待遇
下图待遇基本代表在长沙普通双非大学毕业学生的第一份BSP工作的待遇。
【更新时间】2023-5-24
【地点】湖南-长沙;深圳、东莞等地区可在此基础提高2~3k
【基本待遇】截至5月份,长沙是7k~ 12k *14薪,应该上下浮动不会太大,以供参考
BSP技能树
计算机基础课程能前期学好就尽量去学好,如【计算机组成原理】【数据结构】【操作系统】【计算机网络】等,这些原理性的东西没有具体应用性质的东西对应起来确实枯燥,但落实到实际开发中就会发现,处处离不开它们。
-
编程语言=>必须保证精湛的C语言功底,其它两门按需精通
C、 C++、 JAVA
-
通讯协议=>前3个协议需精通,比较有代表性,剩下的学起来就大同小异
IIC、 Uart、 USB、 SPI、 232、 485、 Can等
-
硬件=>硬件工程师(HW)会提供【IO清单】【硬件适配表】等文档来告诉IO如何配置,但实际开发中能理解硬件思路会极大促进开发顺畅度
数字电路、 模拟电路、一些硬件调试手法如飞线、做线序、万用表、示波器等
-
版本管理=>一般在工作中熟练掌握,学习中保证会用即可
git、 repo、 gerrit
-
代码浏览=>根据个人喜好
Vscode、 Source Insight、 Beyond Compare、 Notepad等
-
开发工具=>建议走主流,一般单位都是主流的编译器
Keil、 Xshell
-
其它=>不必特别关注
MTK、Amlogic等芯片厂商提供的烧录工具
BSP学习路线
MCU学习=>走常规51单片机-寄存器开发,stm32-固件库开发是极具通用性的,基本掌握这两类后,再走GD32、NXP等其他的都是大差不差的思路;
SOC学习=>整理中;
基本学习思路如下。
-
【必选项】=>【51】过渡到【stm32】
=>或直接【stm32】也可 -
【必选项】=>【Linux】后转【Rtos】
=>或直接走【Rtos】方向 -
【可选】 =>Linux的【驱动】【系统】和【应用】
注意=>【Linux】标为必选项,是因为掌握【MCU】技能后已经达到社会基本生存条件,满足入行的基本技能。之后再去在工作或学习中掌握【Linux】,上可通【Linux应用】,下可达【Linux驱动、系统】和【Rtos】,此技能掌握后进可攻、退可守。
可参照以下岗位对应梳理自己的学习路线。
祝诸位前程似锦,顺利从事自己喜爱的行业。如果觉得此文有收获,请帮忙点击左下角的赞,你的支持是我继续产出文章的动力,谢谢!