真的不是打击嵌入式初学者...

经常会看到网上有些文章,或者一些嵌入式工程师的岗位要求。

有的强调C语言、STM32、PCB设计,有的要求Linux内核、驱动开发、ARM架构……看着这些离谱要求,很多新手还没开始,人已经麻了。

嵌入式开发竟要学这么多,其中的STM32就够喝一壶了,还要会RTOS和Linux…真的是还没入门就想放弃了。

但是对于我们这些在行业干了很多年的工程师来说,里面大多数东西,都是不用学的。

下面,我来终结这些迷茫。

嵌入式软件开发是一个涵盖很广的概念,它可以根据芯片种类和开发技术,细分为单片机、Linux应用、Linux驱动、FPGA等多个不同方向。

很多岗位要求,并没有对这些岗位进行细分,而是统称为嵌入式工程师。

在工作的前几年,我也没经验,导致面试白跑了几次,最后达不到企业要求,以为是自己太差劲了,其实不是,而是岗位不对。

这些岗位之间,要学习的内容,也是千差万别的。

比如STM32,它隶属于单片机方向,而Linux基础指令则是Linux应用开发和驱动开发方向。

单片机工程师需要精通C语言,使用寄存器编程,调试外设时比较贴近硬件。

而Linux工程师则需要了解内核源码,开发驱动程序,基于ARM+Linux平台上做驱动开发。两个方向虽同属嵌入式,但所需技术栈是不一样的。

当然,嵌入式的细分不止于此,还有FPGA工程师,要对硬件描述语言熟悉,既懂硬件设计,又通软件编程,学历门槛更高。

对于初入行的,我的建议是,一定要先搞清自己的目标岗位所需的核心技能,再制定针对性的学习路线。

如果已经学了了STM32,学历各方面没特别优势,就先专攻单片机方向,把C语言、数据结构、常用外设和通信协议学扎实了,练几个像样的项目,为求职打好基础。

千万别贪多求全,掌握点STM32和Linux基础,到头来连基本项目都完成不了,把单片机学精,胜过东学一点西学一点。

当然,如果你不想局限于单片机开发,等找到工作后,完全可以在此基础上,慢慢过渡到Linux应用开发和驱动开发,这其实是一个很自然的进阶过程。

嵌入式的技术相通性也挺很强的,学好嵌入式的一个分支,不仅可以纵向精进,还能横向拓展,在这个领域里厚积薄发。

什么是纵向精进?

就是专注单片机开发技术栈和行业技术栈,成为某个领域的技术专家。

什么是横向扩展?

比如嵌入式Linux应用开发,虽然嵌入式Linux和裸机开发有很大不同,但你在STM32上学到的嵌入式系统基础知识,如内存管理、中断处理、多线程编程等。

在嵌入式Linux开发中同样适用,你对嵌入式系统的底层认知能帮助你更好地理解和优化Linux应用程序。

除了技术学习,我想作为过来人跟你分享一些行业感悟。

其实决定求职成败的因素有很多,除了你提到的学历、年龄、城市等客观条件,过硬的项目经验和综合素养也是不可或缺的。

最近发现,很多私聊我学单片机的小伙伴,99%的人都走了弯路,所以我花几个小时,写了一篇保姆级学习路线^ ^

单片机怎么学?保姆级学习路线(附教程+工具)icon-default.png?t=N7T8https://blog.csdn.net/2401_86645590/article/details/141437874

  • 18
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值