嵌入式学习路线

写在前面,从一开始学习C、C++,基本就在乱七八糟学,没有章法,基本算是走了很多弯路,所以下面的推荐路线就是我把踩过的弯路掰直以后的推荐学习路线,可以按照自己的情况来更改!

1. C/C++ 编程
   - 学习C语言的基本语法、数据结构和算法。
   - 深入理解C++的面向对象编程特性,包括类、继承、多态等。
   - 编写小项目或练习题,加深对语言的理解。

2. STM32
   - 学习STM32的基本架构和开发环境(如Keil、STM32CubeIDE)。
   - 实践简单的GPIO控制、定时器、ADC等基础功能。

3. Linux系统编程
   - 学习Linux系统调用、进程管理、线程、文件操作等。
   - 参考韦东山的《Linux高性能编程》进行快速学习。

4. 算法题
   - 刷LeetCode或其他在线编程平台上的基础算法题,重点关注排序、查找、动态规划等常见算法。

5. 读书
   - 阅读相关书籍,如《C程序设计语言》、《C++ Primer》、《深入理解计算机系统》等,积累理论知识。

提升

1. U-Boot移植
   - 学习U-Boot的基本架构和配置,尝试将其移植到不同的硬件平台。
   - 理解U-Boot与Linux内核的启动流程。

2. Linux简单驱动
   - 学习Linux设备驱动的基础知识,包括字符设备驱动和块设备驱动的编写。
   - 实践编写简单的驱动程序,理解驱动与内核的交互。

3. 读书
   - 继续阅读相关书籍,如《Linux设备驱动开发》、《Linux内核设计与实现》等,深化对驱动开发的理解。

熟练

1. Linux内核子系统细节
   - 深入学习Linux内核的各个子系统,如进程管理、内存管理、文件系统、网络等。
   - 参与内核源代码的阅读和分析,理解其实现原理。

2. 网卡驱动与相机驱动
   - 学习网络设备驱动的编写与调试,了解网络协议栈的工作原理。
   - 尝试编写简单的相机驱动,理解图像采集和处理的基本流程。

3. 项目实践
   - 选择一个综合性的项目,将前面的知识应用于实际开发中,例如开发一个基于Linux的嵌入式系统。
   - 在项目中复习和巩固之前学过的知识。

4. 读书
   - 阅读更深入的书籍,如《Linux内核完全注释》、《Linux网络编程》等,提升自己的技术水平。
全部评论
学习路线很清晰
点赞 回复 分享
发布于 2024-12-04 10:11 安徽
佬 请问不用学51了嘛现在
点赞 回复 分享
发布于 01-15 18:43 广东
北大✌🏻也要搞嵌入式吗
点赞 回复 分享
发布于 01-18 22:16 河南
请问大佬 学的比较慢 准备投实习的话最低应该准备一个什么样的项目呀
点赞 回复 分享
发布于 02-06 21:04 河南
几个月能学会java转嵌入式
点赞 回复 分享
发布于 02-26 01:34 重庆

相关推荐

#简历中的项目经历要怎么写##嵌入式#三月份了,可能很多学弟学妹,在计划着找一份实习。就我个人而言,一段实打实的项目经历,比一段打杂活的实习经历更重要。个人目前已入职8个月,这八个月的工作内容,我觉得都不如读研时自己一个人负责完整项目,学到的东西多。尤其是大公司,工作内容都太模块化,员工只能负责其中一部分,不负责的那些部分,也很难有权限接触到,这就使得学到的东西很局限。但在招聘时,各个公司特别关注于实际项目经验,这一点是单去实习很难获得的。所以一定要找渠道,去获得一些优质项目资源,这里优质项目资源,绝不是那些烂大街的项目。这些项目写的人太多,面试官看到之后,会很烦感。我整理了一个读研期间全程负责的项目--智能泊车AGV开发#嵌入式#。有缘的小伙伴刷到我的贴子,若感兴趣,可以私信我!!!项目的主要内容如下:1、完成惯导+二维码+里程计的组合导航算法研究并编码实现;2、完成基于A*融合DWA算法的路径规划算法研究并编码实现;3、在实际调试过程中,构建了基于双层PID以及8种状态解耦的运动控制方法;4、基于freertos操作系统设计产品的软件开发框架设计思路,高内聚低耦合;5、通过CAN口完成了基于伺服电机的驱动工作,实现基于麦轮或差动轮的控制;6、编写了编码器,语言模块,BMS等重要模块的驱动软件开发;7、实现基于串口屏的UI界面设计以及语言模块的交互设计;完成所有模块的调试工作,实现了AGV重载情况下,直线行进误差小于2cm。并在1m/s的高速移动时,可以保持较高精度。个人虽是硕士毕业,但学校平平#嵌入式双非#,但凭借着读研期间给导师做项目,以及找工作前扎实学习嵌入式知识,在23年秋招,收获了一些满意的offer。目前正处于备战秋招的关键时候,如有想从事嵌入式行业,但不知如何开始,以及如何深入的小伙伴,欢迎私信我!!!#我的成功项目解析##嵌入式笔面经分享##嵌入式双非#
点赞 评论 收藏
分享
一共一个小时多一点点,两个面试官轮流进来,面试体验一般。中间问了很久的英语**面试官1:**1.上来就说我们公司做蓝牙,wifi的,不做Linux也不用高性能板子方向可能不是很匹配(我直接懵了,什么意思?)2.讲一下第一个项目3.讲一下第二个项目4.讲完了他说都是linux,有没用过简单一点的51 32板子,然后我说第三个项目是32的5.怎么移植的freertos,步骤是什么6.了解wifi 蓝牙吗(我说蓝牙之前有使用过,比较久了)7.然后就问了一下编程能力怎么样,我说还可以C/C++比较熟练8.然后问对他们公司有什么了解(我提前查过了,就说了啥,他也跟着说了说)9.然后问英语怎么样?(我说口语一般,读写看没问题,之前的一段工作经历,就是纯英文办公的)10.Please introduce you self? (自我介绍)11.What is your favorite sport (喜欢的运动)12.What are your strengths and weaknesses (优点和缺点)13.我优点英文说的,缺点我就说的中文,比较较真,比较执着,有时候可能就钻了牛角尖。然后追问我那你怎么就不执着了 (我????)14.反问**面试官2:**1.自我介绍2.讲一下实习干了啥3.BMS这个项目介绍一下4.你使用了哪些硬件外设5.你说你用gpio模拟了i2c,怎么做的,为什么要这样做6.STM32的采样率和采样深度是多少7.rtos都做了哪些工作8.怎么配置rtos9.你说你做了保护功能,怎么保护的(解释看电压啥的)10.监测功能主要是监测什么东西11.gpio灯是咋控制的12.rtos都做什么工作了13.充电放电是怎么处理的,什么时候就认为满了14.充放电的曲线你知道是什么样子吗15.音视频同步怎么实现的16.时间基 时间戳能不能详细说说17.怎么进行推流的,网络呢还是别的啥的18.说了rtmp,这个协议有啥特点呢19.最大的困难,怎么解决的,怎么排查的20.让用英文解释一个最熟悉的项目22.还有没有使用过别的开发板,我说有用过esp32啥的23.讲一下蓝牙协议24.反问
点赞 评论 收藏
分享
评论
27
191
分享

创作者周榜

更多
牛客网
牛客企业服务