一名嵌入式/C语言开发工程师的涨薪经历

C语言与CPP编程 2024-02-27 08:30

最近有小伙伴说没有收到当天的文章推送,这是因为微信改了推送机制,有一部分小伙伴刷不到当天的文章,一些比较实用的知识和信息,错过了就是错过了,建议大家加个星标⭐️,就能第一时间收到推送。

下面是一位嵌入式工程师的涨薪经历,希望可以帮助到你,帮到其他的在校学生。

阶段 1


大一到大三这个阶段我与大多数学生相同:


一、学习本专业知识(电子信息类专业)
二、学习嵌入式软件开发需要的计算机课程(汇编原理,计算机组成原理,操作系统,C语言等)
三、学习嵌入式项目(来源于实验室项目,自己想到的项目以及各种比赛)

关于如何学习嵌入式软件开发:

(1)学习51单片机

这个阶段你只需要跟着视频去学,只要求实现功能,不求甚解,但建议能够提出问题,比如:

“为什么往IO控制寄存器写入特定值能点亮LED灯?
“IO口的电路结构是什么样子的?
“什么是上拉下拉,灌电流拉电流?

这一阶段主要是熟悉单片机的使用,并且在使用中思考发现问题,还能熟悉一些基本概念。

2)开始查资料看书

看模拟电路数字电路等等,开始去弄明白1中所提出的问题。这时候问题主要集中在电路方面。

(3)开始学习STM32

随便买个板子,看原子的书跟着一步步去做,这时候你会遇到很多计算机方面的问题,这时候一边学习教程,一边学习:微机原理,编译原理,操作系统。

你要弄清楚ARM架构,弄明白 CPU 如何取指,译码,执行,知道地址总线,控制总线,数据总线如何工作,要弄明白你编译各个阶段产生的各个文件是什么,什么是分散加载,什么是重定位,什么是代码段,什么是数据段,等等。

弄明白 CPU 如何启动,程序镜像在内存中如何布局,要知道中断的原理,以及现场保护等等。最后你了解了各个知识点之后,转向 GCC 开发 STM32,这时候你如果知识掌握得不错,你应该可以很快地学会编写链接器脚本并且明白每一条语句所代表的含义。

(4)开始增强 C 语言

深入挖掘C语言的各个死角,最好可以做到当你写下一条语句的时候知道编译器会如何处理,还需要数据结构和软件工程,建议最好还要学习一下设计模式。

开始学习养成良好的代码风格,开始思考代码的结构,可以说设计模式如果能学好,在往后学习 LINUX 内核时大有裨益,你会发现 LINUX 的输入子系统有点像职责链模式,会发现 ASOC 音频系统有点像模板方法模式。

私以为,如果能在两个以上不同方面考察同一种编程思想,你会得到更加深刻的理解,更能领会其精华。

(5)认真研读 OS 方面的书

各个知识点都要弄明白,进程是什么,程序是什么,线程是什么,竞争死锁优先级反转,虚拟地址空间物理地址空间,用户空间内核空间等等。

开始学习 ucos,这个没什么可说的,如果在 2 中能熟练掌握各种知识点,知道 CPU 如何中断如何保护恢复现场,那么读ucos 的源码时候,在原理上就不会有什么疑惑。

如果能在 4 中养成把握代码整体结构的能力并且学习好数据结构和基本的算法,读源码就没有什么障碍,一旦原理弄通了,源码也能读懂,那么吃透 ucos 就是顺理成章的事情。

(6)自己仿照 ucos 写一个 STM32 上的实时OS 出来。

(7)进军 LINUX

学习 LINUX 的基本使用,看赵炯那本内核剖析,啃 LINUX 内核设计与实现,把握总体的内核架构,之后可以学习驱动,看建议陈学松老师的书,弄明白基本的驱动架构和如何编写简单的驱动,认真对待,这里强调一下设备驱动模型。

最后啃 LINUX 内核源码情景分析,上下两册用心读,这里着重强调一下内核中的 VFS 部分,之后就是看宋宝华老师的书,进一步学习驱动开发。

最后,看内核源码看内核源码看内核源码。

(8)其它的SPI,IIC,DMA等常规技能问题


阶段 2


大三到研究生入学前这个阶段我在工作与考研之间无比纠结,并在此期间无数次常思考嵌入式开发到底是什么,如何把嵌入式开发做好,以后该选择怎样的一条职业道路。


为此,像很多人一样,在知乎上像做嵌入式开发的前辈们咨询过多次。


在这个阶段,我学习了 Linux 驱动开发,并渐渐认识到,嵌入式开发是一个比较偏软件的岗位(我认为大多数学生做的工作都是嵌入式软件开发,而不是硬件开发),


应该深入学习计算机体系结构的知识,而不是把那些无聊的嵌入式相关项目翻来覆去的做(尤其少参加乱七八糟的比赛)。


最终,我选择了读研,想站的再高一点看这件事。


阶段 3


研一进入研究生阶段(2018),当大家都火急火燎的加入 AI 的阵营时,我依然对嵌入式爱的深沉。


选课时,我选择了嵌入式实时操作系统,计算体系结构相关的课程,还看了很多相关的书籍,依然每周保持嵌入式 Linux 的学习。


时不与我,明明选择了做底层的导师,结果导师转做深度学习了,还好是做终端+AI相关的方向,也不算完全偏离嵌入式,这让人多少有点欣慰(毕竟我还是放不下嵌入式的)。


在这个阶段,由于接触了不少的人和事,我越来越认识到,嵌入式只是一个平台,切勿把嵌入式看作一个具体的岗位,无论硬件还是软件,因此,我对这个岗位以及行业就业现状有了更进一步的认识。


阶段 4


研二到研三在这个阶段,我对狭义嵌入式(驱动,应用开发)完全释怀,


我认为许多人喜欢的嵌入式并不是驱动或者应用等开发,而是对底层系统的一种好奇心与掌控时的快感,与其说喜欢嵌入式,还不如说喜欢的是计算机体系结构。


因此,只要是涉及到硬件的软件开发,我都喜欢,我也将其均定义为嵌入式,因为嵌入式软件开发就是建立在底层语言,计算机组成原理,操作系统等知识上的一种软件开发,


如果你想将嵌入式开发做好,你就得学好这几门课程 ,如果你学好了这几门课程,底层软件开发工作的岗位你应该都能胜任,因此,又何必将嵌入式开发狭义的划到驱动开发,XX协议开发之类的呢?


最终,这个阶段我毅然放弃了 Linux 驱动的学习,投入了 Python 深度学习的怀抱中,我不再关注我到底做的是不是嵌入式开发,只关注和嵌入式平台有没有关系。


我研究的是如何把一个深度学习模型部署到嵌入式平台上去。


有人可能会疑问,这和嵌入式开发有什么关系?为什么没有关系呢?在嵌入式平台上用 C 语言编写神经网络模型的前向推理,这不是把我们的C语言和组成原理的知识发挥出来了吗?


当图像处理程序性能不足时,查看生成的汇编程序,当汇编效率不高时,将 C 语言替换为我们自己写的汇编代码,这还不够嵌入式吗?


其实,当我们把思路放宽后,嵌入式就不再是某一个具体的岗位了,它有可能是 AI 算子工程师,AI编译器开发工程师,FPGA加速工程师,高性能工程师等等。


这些岗位需要的技能与嵌入式工程师极为相似,年薪却最低 30W 起。


为什么?很简单,供需关系决定价格!


嵌入式早已江河日下,但嵌入式+某一风口就能迈向高薪之路,这个道理在任何技术领域都是通用的,2018年-2021年,嵌入式+AI=高薪,未来嵌入式+XX也可以。


至于未来的风口是什么,就要靠我们自己去探索了。只要保证我们自己有核心的知识储备,再学习一下风口相关的技术,立马就能咸鱼翻身。


在视野拓宽后,我去了 2 家大公司实习,后续我陆续收到了很多公司的offer。


里面既有纯算法(计算机视觉)的岗位(50-60W),也有异构计算的岗位(45-55W),也有AI芯片工具链相关的岗位(45W-50W)。


回头看,我好像已经 2 年没有学习过嵌入式开发了,但是好像依旧在嵌入式学习的路上。


来源:知乎 梦人亦冷
链接:https://www.zhihu.com/question/370606355/answer/186592038
编程资源&影视资源分享

近期发现了一份 20T各类编程/影视/学习资源的腾讯文档,其中除了互联网编程学习资源外,还有不少影视资源,分享给各位:

资源链接:https://docs.qq.com/sheet/DY3VPVklVaFFMcUZ4?tab=9h5afr  (右键复制到浏览器地址栏打开),或者点击文末「阅读原文」也可查看。

欢迎你添加我的微信,我拉你进技术交流群。此外,我也会经常在微信上分享一些好用工具、白嫖福利、各类资源以及工作体验,还有一些内推机会

加个微信,打开另一扇窗


C语言与CPP编程 C语言/C++开发,C语言/C++基础知识,C语言/C++学习路线,C语言/C++进阶,数据结构;算法;python;计算机基础等
评论 (0)
  • 近日,一场启迪未来智慧之“光”的深度探访之旅,在德国雷根斯堡开启。来自上海照明电器协会、上海市照明学会照明设计专业委员会,以及江苏省照明电器协会的资深照明专业人士组成的考察团,到访艾迈斯欧司朗德国雷根斯堡工厂。此行将通过参观学习全球照明行业翘楚——艾迈斯欧司朗的前沿技术和国际领先的生产经验,扩宽对照明未来发展趋势的认知疆界,进一步提升中国照明行业的整体技术水平和国际市场竞争力。图:上海照明电器协会、上海市照明学会照明设计专业委员会、江苏省照明电器协会成员探访艾迈斯欧司朗集团德国雷根斯堡工厂01全
    艾迈斯欧司朗 2024-04-12 15:00 13浏览
  • 光电耦合器是一种将光学信号转换为电信号,或将电信号转换为光学信号的器件,广泛应用于通信、医疗、工业控制等领域。其制造工艺的精湛程度直接影响到器件的性能和可靠性。光电耦合器的制造工艺流程光电耦合器的制造工艺主要包括材料选择、器件设计、加工制造和测试等环节。首先是选择高品质的光电材料,如硅、玻璃等,以确保器件具有良好的光学特性和稳定性。其次是根据设计要求,进行器件结构设计和光学参数计算,确定器件的尺寸、形状和光学特性。然后是采用先进的加工技术,如激光切割、精密磨削等,进行器件的加工制造,确保器件的尺
    克里雅半导体科技 2024-04-12 16:38 54浏览
  • 前言BIM(Building Information Modeling,建筑信息建模)于2011年左右出现,是建筑行业的一个重大突破。如今,该项技术已经成熟,除施工阶段以外,还可以在其他阶段使用。那么,如何将BMI集成到SCADA系统中?BIM—连接建筑设计与建筑维护的纽带之前,项目经理们使用AutoCAD制作简单的图纸。BIM具有三个特定功能,超越了简单的图纸设计:使用的对象易于复制3D建模取代2D图纸对象可以组合(例如,门可以嵌入墙体)BIM的首要目标是完善和深化设计阶段。更好的设计意味着施
    宏集科技 2024-04-12 15:58 33浏览
  • 科技云报道原创。在过去一两年里,以GPT和Diffusion model为代表的大语言模型和生成式AI,将人们对AI的期待推向了一个新高峰,并吸引了千行百业尝试在业务中利用大模型。国内各家大厂在大模型领域展开了激烈的军备竞赛,如:文心大模型、通义千问、混元大模型、盘古大模型等等,这些超大规模的模型训练参数都在千亿以上,有的甚至超过万亿级。即便训练一次千亿参数量模型的成本可能就高达数百万美元,但大厂们依然拼尽全力,除此之外也有很多行业企业希望拥有自己的专属大模型。对于企业来说,要想在大模型的竞争中
    科技云报到 2024-04-12 15:45 26浏览
  • 科技云报道原创。从540亿元到1286亿元——这是中国通信标准化协会大数据技术标准推进委员会针对中国数据库行业给出的一份预测报告。报告指出,未来五年,中国数据库行业将从百亿级市场跨越成为千亿级市场。最近两年,中国的数据库行业似乎也在迎来一轮新热潮,而这种热潮是伴随着5G、云计算、大数据和AI等多种技术共同出现的。在企业数字化加速到来的同时,企业对于各类数据分析的需求也被越发放到台前。种种变革之下,数据库行业是否将迎来新的发展?数据库发展出现新趋势如果将整个软件产业体系比喻成一棵参天大树,数据库则
    科技云报到 2024-04-12 16:44 56浏览
  • 在汽车工业的照明领域,梅赛德斯-奔驰一直是创新的先锋。其最新的ABD矩阵大灯技术方案,不仅体现了品牌对安全和舒适驾驶体验的不懈追求,更是智能照明系统发展的一个里程碑。本文将详细介绍这一技术的构成、工作原理及其带来的益处。ABD矩阵大灯技术,全称为Adaptive Beam Dynamics,是一种高度先进的前照灯系统。与传统的汽车照明相比,它能够提供更为精准和灵活的照明效果。核心技术包括了智能化的传感器阵列、精密的光学组件以及复杂的算法控制单元。该技术的核心在于它的自适应能力。通过集成在车辆前方
    lauguo2013 2024-04-12 15:35 28浏览
  •        2024年3月22日,期待已久的ISO 11898-2:2024版本横空出世,标志着新一代CAN总线的时代即将到来(ISO/FDIS 11898-1:2023也处于最终投票阶段)。搭载着2048Byte的CANXL列车已蓄势待发,决心突破10M的高速通道。Autosar、英飞凌、ST、Vector和NXP等行业风向标早已准备迎接CANXL高速通道给整车SoA架构带来新的变革。1、第三代CAN总线(CANXL)    &nb
    经纬恒润 2024-04-12 16:17 28浏览
  • 科技云报道原创。春节期间,OpenAI的最新技术成果——文生视频模型Sora惊艳登场,令海内外的AI从业者、投资人彻夜难眠。Sora大模型可以让用户仅通过输入一个句子,就可以生成与好莱坞画面相媲美的视频,且长度最多可达1分钟,让人深感震撼。对于这颗“深水炸弹”,众说纷纭。Open AI自称Sora是“世界模拟器”。有网友惊呼“现实不存在了”。马斯克直言:人类认赌服输。美国科技博主马克斯·布朗利表示,Sora或将拉响影视行业失业警报。毋庸置疑,Sora极具破坏性创新的潜力,必将重塑现有的产业格局如
    科技云报到 2024-04-12 15:30 37浏览
  • 隔离驱动芯片作为电子领域中的关键组件,在电力电子、新能源、汽车电子等领域中发挥着至关重要的作用。然而,长期以来,我国在隔离驱动芯片领域依赖进口,面临着技术受限、供应不稳定等问题。因此,实现隔离驱动芯片的国产化成为我国电子产业发展的重要战略之一。隔离驱动芯片国产化的进展与成果近年来,我国政府和企业加大了对隔离驱动芯片国产化的支持和投入。通过引进国外先进技术、加强技术攻关和人才培养,我国隔离驱动芯片产业取得了显著进展。一些企业已经能够自主设计、生产高性能、高可靠性的隔离驱动芯片,填补了国内相关领域的
    克里雅半导体科技 2024-04-12 16:37 46浏览
  • 光耦合器也称为光隔离器,是许多电子电路中的重要组件,可在输入和输出信号之间提供隔离。它们在各种应用中确保安全、降低噪声和防止接地环路方面发挥着至关重要的作用。在本文中,我们将深入研究光耦合器的基础知识,探讨它们的工作原理及其输入和输出之间的关系。了解光耦合器:光耦合器由一个发光二极管(LED)组成,该发光二极管在单个封装内与光电探测器(通常是光电晶体管或光电二极管)进行光学耦合。LED所在的输入侧被称为“初级”或“输入”侧,而包含光电探测器的输出侧被称为“次级”或“输出”侧。光耦合器输入和输出隔
    腾恩科技-彭工 2024-04-12 16:13 35浏览
  • 科技云报道原创。在中国金融业数字化转型的历史长卷中,过去十年无疑是一部磅礴的史诗。2017年,南京银行第一次将传统线下金融业务搬到了线上。那一年,它的互联网金融信贷业务实现了过去10年的业务总额。2021年,富滇银行通过数字化转型,将整体业务全面线上化,再造了一个“线上富滇”。那一年,它的整体业务实现了过去7年首次超过两位数的增长。一个个鲜活的案例,见证了中国金融业从互联网化迈向全面数字化的进程,而云计算技术的引入成为了这一进程中的关键驱动力。近些年来,金融机构通过“上云”,使得IaaS层基础设
    科技云报到 2024-04-12 16:16 44浏览
  • 数字隔离器是电子系统中,数字信号和模拟信号进行传递时,使其且具有很高的电阻隔离特性,以实现电子系统与用户之间的隔离的一种芯片。设计人员之所以引入隔离,是为了满足安全法规或者降低接地环路的噪声等。虽然光耦合器无疑可以有效地实现其目的,但进一步探索隔离技术可能会推出更符合您的应用需求的解决方案,与优雅和独创性产生共鸣。电流隔离:目的和方法电流隔离是确保电子系统安全、可靠性和效率的基石。它的目的是防止不需要的电流和电压在互连电路之间通过,从而防止潜在危险和信号失真。传统上,利用变压器耦合、电容器耦合和
    腾恩科技-彭工 2024-04-12 16:11 39浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦