嵌入式学习路线分享!!!

第一阶段 - C语言

基础

我建议从C语言的基础开始,可以参考菜鸟教程中的C语言教程,同时阅读经典教材《C程序设计语言(第2版)》和《C Primer Plus 第6版》。这将确保你对基础语法和概念有清晰的理解。

进阶

在掌握基础后,推荐深入学习指针的使用,《C和指针》和《征服C指针》是很好的选择。同时,可以学习更高级的C编程技巧,如《C语言进阶》和《C 陷阱与缺陷》。

高级

为了更好地理解C语言的底层原理,建议阅读《C语言核心技术(原书第2版)》和《C高级编程:基于模块化设计思想的C语言开发》。这将使你对C语言的应用更加深入。

经典案例

通过实际项目提高编程能力,可以尝试实现一些小型项目,如学员成绩管理系统、计算器、电子词典和文件压缩器。

阅读开源代码

了解如何阅读和理解开源项目的代码,可以从GitHub和Gitee上找一些开源项目,例如《30天自制操作系统》。

第二阶段 - 基础四大件

数据结构/算法

深入学习数据结构和算法,建议阅读《大话数据结构》和《漫画算法:小灰的算法之旅》。这将为你在嵌入式系统中的问题求解能力提供强有力的支持。

操作系统

学习操作系统的基本原理,推荐《深入理解计算机系统》和《现代操作系统》。此外,《计算机组成原理》是必须掌握的基础知识。

计算机网络

深入了解计算机网络,包括网络协议、TCP/IP等方面。可以阅读《图解TCP/IP:第5版》和《计算机网络:自顶向下方法(第七版)》。

设计模式

为了提高代码的可维护性和可扩展性,学习设计模式是必要的。推荐阅读《大话设计模式》和《设计模式:可复用面向对象软件的基础(典藏版)》。

第三阶段 - 嵌入式

基础

学习嵌入式系统的基础知识,建议阅读《单片机原理及应用——C语言程序设计与实现(第2版)》和《零基础学单片机C语言程序设计》。

进阶

深入了解嵌入式系统的软件设计和优化,《ARM嵌入式系统开发-软件设计与优化》是不错的选择。同时,学习嵌入式Linux的应用开发,可以阅读《嵌入式Linux 应用开发完全手册》。

视频

通过观看一些嵌入式开发的视频,可以更直观地了解一些实际操作,比如《嵌入式扫盲篇——十问嵌入式》和《ARM体系结构与Bootloader开发》。

高级

深入学习嵌入式系统的高级知识,如《51单片机C语言学习之道》和《risc-v 架构》。

嵌入式应用开发

通过经典学习视频学习Linux环境下的高级编程,包括《GNU Make》、《Debugging with GDB》和《嵌入式Linux基础教程》。

经典案例

通过一些经典案例项目,如串口监听程序、图片浏览器、MP3播放器等,提升实际开发能力。

嵌入式底层开发(内核、驱动)

内核

深入学习Linux内核,推荐阅读《深入理解Linux内核》和《Linux内核设计与实现》。

驱动

了解Linux设备驱动开发,包括《Linux设备驱动程序》和《Linux设备驱动开发详解》。

经典案例

通过实际的内核和驱动开发案例,如GPIO驱动、RTC时钟驱动等,提高对系统底层的理解。

硬件/数字电路

数字电路

学习数字电路的基础知识,可以参考《数字逻辑电路与系统设计第二版》。

设计高速电路信号仿真

掌握高速电路信号仿真的方法,可以通过《手把手教你学高速电路信号仿真》来深入了解。

以上是我个人对嵌入式学习路线的详细解释,希望对你的学习有所帮助。不断实践和动手是成为嵌入式工程师的关键,加油!

另外嵌入式八股文可以看我这篇:https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM

#晒一晒我的offer##牛客在线求职答疑中心##牛客解忧铺##2022毕业的你对23届的寄语##面经#
全部评论
就是喜欢这种直接的学习路线,感谢
点赞 回复 分享
发布于 2024-02-16 14:43 湖南
楼主推荐的视频找不到,想问问哪里可以搜索到。
点赞 回复 分享
发布于 2024-01-13 10:27 广东
嵌入式学习分享call me
点赞 回复 分享
发布于 2023-11-29 23:31 重庆
哇,你的学习路线分享好详细呀!谢谢你的分享,我会好好学习的!
点赞 回复 分享
发布于 2023-11-23 11:23 AI生成

相关推荐

01-12 20:29
莆田学院 Java
我的解压方式,是进行一场有仪式感的“数字隔离”与“物理重启”。当压力达到临界点,我会立刻合上电脑,并非休息,而是将办公地点从工位移至公司楼下最近的便利店或咖啡馆。用一个完全陌生的环境作为“上下文切换”的强制信号,点一份简单的食物,不思考,只专注于感受味道和观察周遭流动的生活。这短短的半小时,像一次有效的系统缓存清理,让我能稍后以更清醒的状态重新加载任务。其次,我会启动一项低门槛、高即时反馈的体力活动。对我而言,不是去健身房完成一套复杂计划,而是立刻换上跑鞋,下楼进行一段三到五公里的慢跑。重点不在于锻炼效果,而在于让身体节奏取代大脑的纷乱思绪,让风声和脚步声覆盖内心的嘈杂。跑步时,我有时会刻意在脑海中反复“运行”一个最简单的程序逻辑,比如默写一个排序算法,这种机械的思维练习能奇妙地带来一种掌控感,对冲工作上的失控压力。最后,也是最重要的,是进行一次非功利性的“技术沉浸”。我会找一个与工作项目完全无关,但能引发纯粹兴趣的技术小课题。例如,写一段代码控制智能家居的灯光变幻,或是研究一个有趣的开源小工具的源码。这个过程没有交付压力,只有探索和玩耍的乐趣。它像一次精神上的“沙盘游戏”,提醒我最初对技术产生热情的那个单纯原点——解决问题和创造带来的快乐本身,就是对抗职业倦怠与压力的终极解药。
工作压力大,你会干什么?
点赞 评论 收藏
分享
评论
16
129
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务