首页 / 嵌入式软件工程师
#

嵌入式软件工程师

#
50505次浏览 604人互动
此刻你想和大家分享什么
热门 最新
详细说一下嵌入式软件学习方向
最近经常遇到粉丝私信,或者是1v1答疑的时候。都在问嵌入式学习方向的问题,不知道要走哪个方向?到底要不要学数模电?等等。之前在笔记--嵌入式软件学习路线(完整版),已经分享过了,没想到还是有粉丝朋友不是很清楚,因此本期再说详细一点。首先是方向问题:总体来讲,我个人认为嵌入式就两大方向,一个mcu+rtos,一个是linux。不要再说什么电机控制方向,wifi、蓝牙物联网方向等等,这些都是行业专精方向。什么叫做行业专精方向,就是你把基础学好以后,再根据不同的行业,学对应的行业知识。那基础是什么?基础就是mcu、rtos、linux都属于基础,至少我自己是这么理解的。因此,如果你是校招或者是刚入行的社招同志,把基础学好就足够找一份工作了。剩下的行业专精知识,去公司再学也不迟。理解清楚这一点后,再来看具体选择哪个方向。还是那句话,如果你时间比较多(什么叫做时间多,我个人认为要么大二开始,要么研一开始),我个人建议你mcu和linux都学,这样选择的机会更多一点。如果你时间不够,那你就二者选其一。如果你选mcu方向,行业内通常叫软硬件方向,就是硬件和软件你都要会的意思。那么这个方向多多少少会接触到硬件的,因此我建议你要有一定硬件基础。如果你以后想深耕该方向,那硬件就不止是要会基础知识了。综上:选择这个方向,我个人认为是一定要学模电和数电的。那在此处,也还是有粉丝朋友问我,模电和数电要全部学完吗?之前笔记就分享过,前期刚开始你不用全部学完,但模电的二极管、三极管、mos管、比较器、放大器这种基础你要会吧,电子元器件总要认得全吧,电容电感的作用总要了解吧。核心一句话,最低要求--看懂原理图!对于数电,最基础的进制转换要会吧,比如10的16进制你要知道是0xA等等。触发器、寄存器总要了解一下是什么吧,AD转换总要了解一下吧,有哪些存储器如ram和rom要了解吧。这个地方又有粉丝有问题了,需要一上来就学模数电吗?怎么学?学不进去咋办?对于这类问题,我个人建议是如果你觉得枯燥,那是因为你还没用到这个知识。因此,你可以先去学习stm32的点灯,那点灯的时候到底是输出一个低电平还是一个高电平呢?如果你搞不清楚,说明你不知道二极管的单向导电性,那你就回过头去看相关知识,书籍或者视频都可以(书籍和视频我学习路线完整版那篇笔记有说过,这里不再多加说明)。以这种先发现问题,再解决问题的方式去学习,就不会学不下去了,同时也会学的更加深刻,毕竟学习最怕的就是学了不用。此外,第二个建议是你可以直接去b站搜怎么看懂电路原理图,当你去听别人分析的时候,你不懂这是为啥?那是为啥?这个时候,你就知道自己应该去看书了,这样的学习方式也可以。那么上述关于mcu方向以及模数电该不该学?怎么学的问题就讲完了。多补充一点的是,如果已经在mcu方向拿完offer的校招同学,我个人建议你继续往linux方向学。原因是,等你进了公司,你会发现面试的时候,面的是mcu方向的,进来以后给你分到linux方向了。这只是有可能,也是一些特例。比如我自己就是这样,面的mcu,现在去在linux平台上干SoC。下边继续说一下第二个方向--Linux。linux方向相较而言,基本不碰硬件。比如博主现在硬件都没碰过,跑板子都是远程连接跑的,更别说原理图了。因此,如果你不想碰硬件,又想吃嵌入式这口饭,那建议往linux方向学习。在linux方向里边,驱动和应用都要学,并且个人建议先从应用方向学起。具体来说,个人建议按照以下顺序:学习c++-->学习linux环境基本操作-->学习gcc/make工具链-->学习linux应用(I/O、线程进程、网络编程、QT等)-->linux驱动(uboot/kernel/rootfs/gdb调试/三大设备驱动等),更加具体的学习路线以后再发,本期讲不完。本次讲解就到这里,有需要Linux驱动、Linux应用开发指南、Freertos开发手册、STM32开发指南、开源rtos项目、嵌入式软件八股文合集等资料的同学,可私信我领取    。
点赞 评论 收藏
分享
嵌入式24应届生,求救!求救!求救!
本人二本电子信息工程专业毕业,春招来深圳收获了10个左右offer,大部分都是20-99的小公司。没有竞赛经历和高学历,大一点的公司看不上。本来有一家实习8k,转正9-13k的嵌入式工业控制方向的offer,但是因为想去另外一家嵌入式linux的大公司就拒了。3月25日入职,入职当天晚上分配岗位,我发现公司招我进来想干偏fae(技术支持),第二天早上协商无果后,当天就离职走了。后面4.11又入职了一家嵌入式医疗仪器的小型公司(7k加午餐),干到6.6号辞职了。因为发现在公司呆了近两个月,没有任何进步。首先该公司产品开发已经很成熟,没有什么新开发的产品,接到的新项目就是对原来的项目改动一下。其次是使用的芯片,公司所给予的学习资料太少,没有让我学习进步的空间了,就辞职,准备专心找下一份工作了。但是这些天投了很多份简历,一次面试都还没约上,实在是太难了。下面把简历发出来,大家帮我看看要怎么样更改,还有要怎么样投递简历啊。目前我只用boss找工作,有没有什么其它找工作的途径啊,求救!求救!求救!我的简历有三页,之前是两页的,为了将这次实习经历写上去,然后又外加了两个项目,就变成三页了。我的项目叙述可能比较啰嗦,不像有些大牛,简历一页就能搞定,只要竞赛经历往上一写,分分钟秒杀我这种小卡拉米。
我是天子:哥们是真敢啊?春招几乎是最后一波机会了,别人都是骑驴找马,你倒是没找好下家就跑了,不过既然春招有offer,找个工作应该是不难的
点赞 评论 收藏
分享
浅谈如何看懂公司项目代码
在给粉丝朋友一对一咨询时,经常有粉丝朋友问入职后怎么快速看懂项目代码,感觉项目好复杂,代码量很大,不知道从哪里入手。因此本期分享一下博主的个人见解,仅供参考。1、获取必要的资料并建立初步印象在开始阅读代码前,不是直接打开代码编辑器。而是先向导师或者同事请教,获取一份关于项目的简要介绍,了解该项目有哪些需求、实现了哪些功能、主要是做什么以及分为几个核心模块,把握项目的整体架构;其次,获取一份编译与运行指南,了解如何配置环境,怎么烧录代码运行。但有的时候,公司可能没有全面的项目文档,甚至是以口述的形式告诉你,那这个时候就需要自己去总结出一份详细的配置文档了。2、找到代码运行起点,理解代码架构对于这一步,如果情况允许的话,可以请导师或者同事给你讲解一下项目代码架构,了解清楚代码的整个运行流程。如果没有人可以问的话,就只能自己理了。一般而言,还是先找到main函数入口点,然后理清楚main函数理都做了什么,如弄清楚代码的模块划分和初始化顺序(一般来讲,公司项目代码的main函数注释都会写的比较清楚,因此可以结合注释以及日志打印进行快速理解)。在这个过程中,你的主要工作是画一张图,记录下主要的模块和它们大致的依赖关系(比如A模块调用了B模块),并留意那些在初始化过程中出现的、看起来非常重要的全局变量或数据结构。这个阶段不要深入任何一个函数内部去研究细节,你的目标是搞清楚代码的框架。多说一点的是如果在多核系统中,可能不止一个main函数。因此要理清楚哪个是主核,哪个是从核,主核如何唤醒从核的,即整个系统的启动流程,至少要了解个大概的系统架构。3、跟踪一个具体功能,理解代码是如何工作的在了解整个代码结构后,需要开始深入一个具体的功能模块进行深层次理解了。毕竟项目代码量很大,由公司多人协同开发,如果想完全搞清楚整个项目的所有细节,任重而道远。因此,前期先专注于自己的一亩三分地就够了。在该阶段,你需要关注自己负责的功能模块由哪些函数所串接起来,深入了解其中细节。4、实践是检验真理的唯一标准阅读代码的最终目的是为了能够修改和贡献。因此,在你对某个部分有了一定了解后,主动向导师申请一个非常明确、且影响范围很小的任务。例如:“修改某个调试信息的文字内容”、“调整某个定时器的超时时间”、“修复一个日志打印不全的小问题”。为了完成这个任务,你必须去精确地找到相关的代码位置,理解它周围的逻辑,明白你的修改会影响到哪些地方。这个过程会迫使你带着明确的目标去阅读和理解代码,效率会非常高。成功完成这个修改并通过测试,会极大地增强你的信心,并证明你对这部分代码的理解是正确的。遵循以上四个阶段,从外到内,从静态到动态,从观察到实践,你就能系统地、一步步地掌握一个庞大项目代码的核心逻辑。记住,不要试图一次性理解所有代码,每天聚焦弄懂一个小的部分,从不难到一点点难,慢慢过度,让自己始终处于学习的拉伸区!最后,如果有需要rtos项目(解决个人项目缺乏问题)、嵌入式软件八股文合集(覆盖嵌入式面试百分之90问题),请私信笔者获取。如果有同学对具体的学习路线还是很迷茫,也可以咨询笔者。
点赞 评论 收藏
分享
2024-12-18 18:31
已编辑
大庆职业学院 算法工程师
硬件和嵌入式软件,极限二选一!!!
投票
小米家电 嵌入式软件开发 1.5*15 硕士211
点赞 评论 收藏
分享
嵌入式软件开发
闻风起雨落:每一个方向都需要下功夫,慢慢积累的,你现在这种情况,学着web,然后想着嵌入式,就觉得你还没有明确自己的方向,刚有在牛客上看到一个帖子,应该对你有用,你可以搜一下"告诉想从事软件的牛友们的一封信",希望这个帖子能帮助到你吧
点赞 评论 收藏
分享
2025-09-28 12:54
已编辑
北京大学 量化分析
内推 | 比特大陆2026校招-嵌入式软件工程师 32k-60k
关于我们: 比特大陆是全球领先的服务器厂商,旗下品牌ANTMINER在全球100多个国家和地区保持技术和市场优势。公司在低能耗计算、区块链、新能源领域有深厚的技术积累。公司的愿景是“让人类数字世界更美好”招聘优势:行业优势:横跨低能耗计算、区块链、新能源三大热门领域薪酬优势:提供市场领先型薪酬,应届生薪酬高于行业市场平均水平精英队伍:研发人员占比超59%,硕博占比超70%,985及海外名校占比近79%技术优势:全球领先的低能耗计算技术、ULSI设计技术、风水冷散热技术、高密度服务器技术招聘对象:26届海内外硕士及以上学历毕业生博士毕业生可放宽至25届工作职责1.负责Linux 嵌入式系统固件开发.移植.优化.维护,及外设模块的驱动程序开发;2.负责芯片测试与驱动程序开发,芯片调试及测试工作;3.负责电源相关的软件控制算法开发。任职资格1.专业包含但不限于通信.电子.计算机.自动化、数学、物理等相关专业,硕士及以上学历;2.有清晰的逻辑思维能力,学习能力强,积极上进,有责任心;3.熟悉 Linux 系统,具有嵌入式软件设计开发基础,具备较强的 C 或 C++编程及调试能力;4.了解嵌入式微处理器原理,能够阅读数据手册,有硬件知识基础的优先;5.熟悉常见的数据结构,具有算法分析和设计的能力。学历要求: 硕士、博士工作地点: 北京,深圳,成都,上海内推链接:https://bitmain.zhiye.com/campus/detail?jobAdId=bfe731e5-f089-4d28-b263-453f1e7a07d6
点赞 评论 收藏
分享
点赞 评论 收藏
分享
玩命加载中
牛客网
牛客网在线编程
牛客网题解
牛客企业服务