嵌入式学习路线总结

本人背景

2022年毕业,985本硕,拿到的Offer,紫光展锐中兴阿里(达摩院)等,最后去的紫光,本人比较佛系,不喜欢加班喜欢生活。

最近有好多同学关注嵌入式行业,在我毕业的时候怎么也想不到一年后嵌入式能这么火,好多同学也是希望我能出一个学习路线,防止自己踩坑。

学习路线

这个图总结的很详细,如果细分的话很多地方的知识单独拿出来都可以出本书,所以嵌入式学习任重道远,总有人比你会的多比你会的深入,但是对于我们小白入门找工作来讲,我觉得能将基础知识掌握就可以了。

好吧进入正题。

1.C/C++

这两个基础语言,对于C语言基础学习,一定要重点熟练掌握,根基的牢固直接决定了我们的代码质量。

C语言基础:推荐经典书籍**《C语言程序设计》(第2版)谭浩强版本

对于C语言基础,是嵌入式学习的根基,有些同学总是认为简单而忽略了这一点,实际上C语言具有直接访问硬件和细粒度控制的能力,而且拥有低资源消耗,嵌入式硬件本身受限较多,所以C语言对于嵌入式来讲是非常重要滴。

对于C++的学习,有些同学讲为什么要学到c++,实际上有些图形界面开发的方向是可以用到C++的,大部分嵌入式公司其实是有这个方向的,以备不时之需。

c++基础:《C++ Primer 》《Effective C++》《More Effective C++》

C++的学习的内容还是非常多的,但是对于我们来讲不需要像纯c++开发方向的同学去拿精力死磕C++。

2.数据结构

对于数据结构,有些同学老是问我嵌入式需不需要刷题,肯定是要刷的,现在到以后,所有大厂必定都有笔试去筛选一批人,还有以后的工作中也可能会用到这些知识,问就是刷。

我觉得数据结构单独学习是非常无聊的,你需要把知识和刷题结合,这样才能产生深刻的印象,更了解结构的一些底层逻辑。

数据结构:《数据结构》-严蔚敏版

我还是更提倡 理论+实践,比如刷刷leetcode的剑指offer,或者单独的刷某个数据结构,这个地方我本来想出一个刷题的先后顺序,同学们有需要吗,有需要扣1!!!!!!!!

3.计算机组成原理/操作系统

这两个就没什么好说的了,对着课本学就是了,不行看看慕课。

4.嵌入式基础

嵌入式总是少不了实践,一开始我们也是51->stm32,我估计现在的同学也聪明,直接从stm32学起就可以了,那么怎么学?

第一步 买一个板子,正点原子,野火都行

第二步 找一个老师视频学习,韦东山,正点原子也有野火也有官方教学和教程。

都是一步一步学来的,这个基本没啥速成可说,就是一点点了解stm32的基本外设以及一些内部的实现机理。

觉得学的差不多了OK。

下一步我们就朝向带系统的开发板。学习一些内核系统。

市面上内核系统可多了,什么ucos,RTOS,rt-thread,听得眼花缭乱,不要紧实际上都是一些裁剪的内核系统。为了不同的应用场景应运而生的。

我们还是以主流的学习,比较火的就是RTOS,

那么理论充足了,我们应该实践了。做个这种的小项目啊,类似的有很多,具体时间原因大家可以去git上看看。

5.linux基础

嵌入式最重要的组成部分:linux,那么对于linux而言,linux也是一个系统,一个免费的开源系统。

上述的图像中大家可以看到学习的内容有很多,可以适当的去根据自身的时间和内容调整,说知识不多是骗人的,我码字都码了这么久都没码全。

还有很多知识不过大概内容就是这些。

6.项目

大家最关心的就是这个项目吧,对于研究生的同学我觉得最好还是就地取材,自己实验室的项目就足够,本科生同学的项目我推荐几个吧,

树莓派项目:使用树莓派来构建各种项目,比如智能家居、机器人、媒体中心等。

设备驱动开发:编写驱动程序来支持新的硬件设备,比如传感器、触摸屏等。

网络应用:构建嵌入式设备上的网络应用,比如Web服务器、FTP服务器等。

实时系统:开发实时系统以支持实时应用,比如工业控制系统、汽车电子系统等。

Yocto项目:使用Yocto来构建嵌入式Linux镜像,并定制镜像以适应特定的硬件平台。

嵌入式+AI:用一些PyTorch或者TensorFlow +嵌入式硬件

7.八股文

这里我还是推荐我的专栏,我觉得我的专栏总结的很完善了!!!!!!,希望大家多多给点建议,让我更完善,写这么多了,放个专栏地址不过分把。。嵌入式专栏

暂时写这么多了,那天有空改改内容再补充补充,得睡觉了,明天还是一个新的社畜。

#晒一晒我的offer##牛客在线求职答疑中心##牛客解忧铺##2022毕业的你对23届的寄语##面经#
全部评论
找不到优秀的嵌入式开源项目啊
1 回复
分享
发布于 12-02 22:37 广东
嵌入式学习分享call me
点赞 回复
分享
发布于 11-29 23:31 重庆
谭浩强,崩不住了😂
点赞 回复
分享
发布于 12-04 14:39 云南

相关推荐

    嵌入式的项目,这个要和自己想找的岗位介个一下。    这两年,我觉得筛选简历,看重的是:学校,技能,项目......这些和公司需要的匹配程度。就像汽车领域,会autosar的肯定加分。        然后讲一下项目,假如说你找单片机相关的工作,肯定要会51,32。项目的话,肯定看你了解、会的多少了。对系统的结构,框架,以及硬件接口了解的多的话,项目不会太差。    小的demo就不要写了,之前看到一下写,关于一些传感器的数据的读取,这种的,大差不差这些传感器的驱动,大概率都不是自己能写出来的,一旦问你传感器的结构和操作,大概率是不懂的。    除非是你自己完全了解某个传感的或者某个驱动,从0手撕出来的,【最好看过官方文档】,这样才是一种体现。然后就是硬件接口(uart,iic,spi)的使用,然后就看是不是物联的关系。【注意:要有主次,不要找一个单片机的工作,把会什么html,css写成重点】。如果会rtos更好。    然后就是嵌入式的工作。【之所以把嵌入式和单片机分开,主要是两者的差别还是有的,单片机主要是mcu加硬件接口,嵌入式要会的更多,如:mcu,mpu,Linux等】。嵌入式硬件不太懂,软件的话,我更建议的是Linux的项目 + rtos的项目或者Linux的项目或者单片机的项目。    具体的项目要看你的能力。我觉得如果会驱动的话,或者了解驱动的话,写一个驱动的项目就可以。像Linux的智能家居,从驱动自己写出来的就挺好,不要觉得智能家居很老套,重点在于从底层开始写,从0开始写。还有就是看到写关于操作系统和网络的,毋庸置疑,已经很厉害了【我没做过】。    当然我还是说的保守了,你会的更多当然,项目也会更牛,对于中等的人。我还是觉得现在公司,更看重你的项目和公司的匹配度。【双非而言】,【92✌全当说笑了】。     之前有文章说了,对于调调api,我还是觉得,可以当一个项目,还是了解一下原理的好。
点赞 评论 收藏
转发
嵌入式方向, 本硕酒吧舞,比较菜,但是运气不错,接了一个远超自己预期的offer。总体情况如下: OFFER或者意向: 阿里达摩院芯片软件工程师, RUSC-V生态和软件,已签;TP联洲,嵌入式软件,深圳,27x16;海康威视,嵌入式软件,BSP方向,20x16汇川,通信软件工程师,23.3x16, 每月2k地域补贴+若干餐补房补美的厨房热水事业部23x14博世,嵌入式软件14x(13+2.5)入池: 华为数通嵌入式软件小马智行,嵌入式中科曙光,嵌入式二面没去:深信服一面挂或者无后续:字节pico笔试挂或者无后续:大疆车载,嵌入式(不能理解,库呀西!)讯飞(约面的时候说不想去合肥)天翼云,C++工程师(约面太晚,主动拒绝)影石,嵌入式腾讯,客户端开发中望,C++工程师小米,嵌入式美团,嵌入式中兴,嵌入式oppo, 嵌入式ARM, open source software简历挂: 荣耀,嵌入式vivo, C++工程师汇川-苏州文远知行,嵌入式就业寒冬,加上硕士期间无论文无专利无任何title无出色经历,leetcode不到300题,只有hot100和代码随想录比较熟。前期面大厂基本都是见光死,对自己的定位最终调整在中厂或者学历厂,尽量拿高base。只不过没想到居然被阿里捞了起来,属于是人品大爆发。我到现在都没想明白面试官到底看中我什么。。。。。。下一期我会继续复盘自己的技术栈,学习路线,以及心路历程,希望对大家有所帮助。 #嵌入式# #你的秋招进行到哪一步了# #C++开发工程师#
点赞 评论 收藏
转发
4 55 评论
分享
牛客网
牛客企业服务