新手集合--嵌入式linux学习路线--三大阶段

article/2025/9/20 15:25:52

微信公众号:二进制人生 专注于嵌入式linux开发。

本文持续更新,第一版先面世,转发请保留出处:二进制人生。这个学习路线是遵照大多数人的认知规律来的,

第一阶段

1.1 C语言入门

入门选一本简单的、薄一点、不要出错的书就可以了,例如谭浩强老爷子的书,选太厚的容易打击你的信心和学习兴趣,谭老爷子的书虽然被很多人喷,但对于初学者来说还是比较合适的。在入门之后才建议去看C语言的经典教程:

《C Primer Plus》

这本书比较厚,知识点比较全,可以用于查漏补缺。

《C程序设计语言》(The C Programming Language)黑皮书这本书虽然经典,但是我个人觉得不适合初学者去看,个人看来这本书更像是在叙述C语言的标准,所以讲得比较精炼,初学者是看不懂的。

项目实战

学完C语言之后可以尝试写一个无界面的学生成绩管理系统、图书管理系统。我大学时C语言的课设就是写一个学生成绩管理系统。

1.2 基本的数据结构

单向链表、双向链表、循环队列、循环缓冲区、简单的二叉树

1.3 学会使用linux操作系统

掌握基本的linux命令,ubuntu(或者其他发行版本)操作系统的使用。

1.4 计算机网络基础

  • tcp/ip网络模型、osi参考模型

  • 着重掌握tcp、http、udp、ip协议

  • 学会使用抓包工具,结合fiddle工具、wireshark等抓包工具学习网络协议。

推荐谢稀仁《计算机网络》这本书,经典的计算机网络教科书。

第二阶段

2.1精通C语言

想要精通C语言并不容易,没有一两年的磨练难谈精通。

推荐书籍:

  • 《C专家编程》

  • 《C与指针》

  • 《C陷阱》

  • 《C程序设计语言》(The C Programming Language)黑皮书

    C语言的难点在于指针和数组,前面三本书大部分的章节都是围绕这两点展开。

    《C程序设计语言》是由C语言的设计者Dennis M. Ritchie和著名计算机科学家Brian W. Kernighan编写的一部介绍标准C语言及其程序设计方法的权威性经典著作。整本书有种提纲挈领的感觉,适合在学完C语言之后再来慢慢品读,这本书很简练,废话很少,可以看成是一种标准。

2.2 最好掌握C++(不是必须,但推荐)

有了C语言的基础,学习C语言是非常容易的,难点在于从面向过程到面向对象编程的转变,掌握面向对象的设计规则和设计思想

入门书籍:

  • 《C++ Primer Plus》

  • 《C++ Primer》

C++进阶书籍:

  • 《C++沉思录》

  • 《Effictive C++》

  • 《More Effictive C++》

  • 《深度探索C++对象模型》

  • ...

2.3 掌握linux C和嵌入式C(linux应用程序开发)

学习上层的嵌入式linux应用程序开发和编译调试(gcc、gdb的使用)。

熟悉多进程、多线程编程,网络编程(核心)。

《UNIX环境高级编程》

《UNIX网络编程》

练手项目

  • 实现一个最基本的tcp服务器/客户端程序

  • 实现一个简单的http服务器

  • 实现一个多人聊天室

  • 实现一个多任务线程池

  • 实现一个多进程通信

  • 实现一个web服务器多进程并发测试工具

2.4 shell脚本

《linux命令行于shell脚本编程大全》

《linux shell脚本攻略》

其实也不用看书,找个系统的知识网站或者博客看下,比如菜鸟教程,再动手写下也可以。

2.5 Makefile语法

推荐 陈皓的系列文章,自行百度。

2.6 学习arm

认识arm体系结构

掌握基本的arm汇编

2.7 嵌入式系统的构建

建议买一个开发板

交叉编译

ssh、telnet等工具的使用

samba服务器搭建

nfs文件系统挂载

kernel裁剪、编译、烧写。

基本的uboot命令、uboot编译烧写、尝试自己添加一个uboot命令。

文件系统制作、裁剪、烧写(busybox使用)。

第三阶段

3.1 学习内核

从事应用层、驱动层的都应深入学习内核,驱动层的工作对于内核的要求更高一些。

三大主题:

  • 进程管理与调用

    进程、线程

  • 内存管理

    进程的内存布局

  • 文件系统


    推荐书籍:

  • 《深入理解Linux内核》(第三版)

  • 《Linux内核源代码情景分析》

3.2 操作系统原理

很多的高校把这个课放在了大一来教,个人觉得在没有编程基础和学习linux操作系统之前来学习操作系统原理,有点枯燥和难以理解,很多的知识点不能引起学生的共鸣。按照很多人的学习路线,也是在有了一定的开发经验之后才来弥补操作系统的知识。

  • 《深入理解计算机系统》

  • 《操作系统概念》

    这个属于内功心法,学了和没学的人在认知上是不一样的,学完操作系统原理,看待问题能够看得透彻一些。譬如,老生常谈进程和线程的概念,每一个人能讲出的深度都是不一样的。

3.3 学习行业相关的东西(稀缺人才)

到了这个阶段,你需要学习行业相关的东西,这取决于你想从事的行业,

  • 流媒体 ---- rtsp、rtmp、onvif等协议

  • 路由器 ---- 网络协议

  • 机器人 ---- 实时操作系统

  • android

  • Qt

  • 底层驱动开发

  • ....

3.4 终生学习

学习是一生的事情,技术永远学不完,保持终生学习的态度才能不被社会所淘汰!


深夜码字不易,喜欢的点个赞,关注我的微信公众号:二进制人生,是对我最大的支持。加入我的知识分享圈,我将致力于嵌入式linux知识的分享

 

每天进步一点点......  图 二进制人生公众号


http://chatgpt.dhexx.cn/article/dN4NesC2.shtml

相关文章

Linux学习路线及网络编程经典书籍

linux学习资源整理:https://zhuanlan.zhihu.com/p/22654634 Linux初学者(学习资料):https://zhuanlan.zhihu.com/p/21723250 知乎 - 你是如何学习 Linux 编程的?:https://www.zhihu.com/question/20730157 如果让你推荐一本 Linux…

Linux的学习之路

# Linux的学习之路 第一章 :Linux虚拟机的配置 文章目录 # Linux的学习之路 前言一、安装VMware Workstation Pro二、安装光盘centos7(其他版本也是可以的)三、虚拟机搭建1、先打开安装好的VMware Workstation Pro2、运行虚拟机(…

转)Linux学习路线

写一下最近个人的linux学习路线,学完后再好好参考其他人的: 1.《Linux程序设计》- 靠它来入门,然后装一个linux系统,学习shell(bash)和linux C,把基础打牢; 2. 《深入理解Linux内核》和《Linux内核设计与…

Linux学习路线图

Linux学习进阶路线图 摘自:http://blog.csdn.net/zdwzzu2006/article/details/4334791 Linux 基础Linux 基础Linux安装专题教程Linux中文环境Linux—从菜鸟到高手  鸟哥的Linux私房菜 基础学习篇(第二版)Ubuntu Linux入门到精通Linux标准教程…

【够全面够清晰】Linux超强学习路线图(思维导图)

生命不息,学习不止。很多朋友在学习Linux时,不知道学什么,不知道怎么学,有的朋友甚至把所有知识点都当成重点学起,但其实这样不仅浪费时间更浪费精力。今天就给大家安排一份「Linux超强学习路线图」! 这张…

怒肝 Linux 学习路线,这回不难

Linux 学习路线 by 鱼皮。 原创不易,请勿抄袭,违者必究! 大家好,我是鱼皮,又花 1 周肝出了 Linux 学习资料全家桶,包括学习路线、命令手册、视频、书籍、文档、实战教程、社区、工具、大厂面试题等&#xf…

ubuntu16.04安装MATLAB R2017b步骤详解(附完整文件包)

MATLAB已经使用了8年,一直是博主喜欢的一门编程语言。在ubuntu16上安装MATLAB,是因为很久前项目需要,或许是Linux系统的差异性,安装时发现很多教程都不详细。对此总结了几次试验下来的经验,终于完成了这篇教程。或许随…

MATLAB2017a安装破解教程

目录: 1. 下载软件包并解压。2. 软件安装3. 软件激活4. 安装完成 1. 下载软件包并解压。 网上有很多路径可以下载,也可以从官网下载整版。 此处在评论区给出百度云盘链接。 一共包含10个小文件,全部选中后解压到一个文件夹下。 在解压…

Matlab2017a安装教程

安装文件存储在百度网盘可自取: 链接:https://pan.baidu.com/s/1hbBpaJfHKDGgpoiOxsceiQ?pwdo6zj 提取码:o6zj 将安装文件下载之后解压得到如下的目录 选择setup应用程序安装 选择使用文件安装密钥,密钥可以百度搜索到 这是我找…

MATLAB 2017a 中文破解版安装教程

安装教程: 百度网盘: 链接:https://pan.baidu.com/s/1lnXOb9SuHmbPlHKf1ngyQQ 提取码:ujw8 下载压缩包,进行解压得到如下文件 运行setup.exe,弹出以下界面,选择“使用文件密钥”。下一步。 …

Matlab2016A安装步骤

写在前面: 常用软件的安装和破解是工作&学习中常见的事情,其实大部分软件网上都有相对应的安装教程,只要在安装之前细读其中点赞数最多的三篇,然后选出一篇和自己硬件条件匹配的一个然后按部就班的操作就行了,因为大部分软件都有安装向导。而且安装软件之前觉得会有各…

MATLAB2016b 下载和安装(亲测)

下载: 链接:https://pan.baidu.com/s/15hr6LUTzZYemKAgDulSH4w 提取码:abc 1、首先你得有这三个压缩文件夹加一个密钥文件 2,R2016b_win64_dvd1.iso和R2016b_win64_dvd2.iso两个文件均需要解压,解压时同时选中,单击…

Matlab 2018a的安装步骤

1.断开网络,解压压缩包 2.打开安装包,双击setup 3.如图选择,点击【下一步】 4.接受条款,点击【下一步】 5.输入密钥【09806-07443-53955-64350-21751-41297】,点击【下一步】 6.建议安装到C盘外,这里我安装…

最详细matlab 2018a安装教程步骤.

链接: https://pan.baidu.com/s/1XjfAKeFY-otNy7HfGhYQCw 提取码:cmzv --来自百度网盘超级会员V3的分享 1.鼠标右击“Matlab R2018a Win64”压缩包,选择解压。 2.打开解压后的文件夹,鼠标右击“setup”,选择“以管理…

MATLAB 2017a 下载及安装

一、2017a下载地址(建议不要在C盘) 链接:https://pan.baidu.com/s/1tfyFaqS4SGXTbmpgJFkugw 提取码:v68l 二、步骤 1、下载完后有两个压缩包 2、全部解压 patch文件(里面的 libmwlmgrimpl.dll 和 license_standlone…

MATLAB 2018a 安装

MATLAB是由美国MathWorks公司出品的商业数学软件,这是一款可专业分析数据的软件,软件的功能性十分强大。MATLAB 2018a版本增强了各项功能的特性,如对图形、数据导入和导出及语言和编程进行了增强,更新了实时编辑器的交互式图形&am…

Matlab 2016a 安装包及破解教程

Matlab - Matlab 2016a 安装破解教程 本方法只是研究破解技术所用。 如果要使用软件还是要用正版的。 Matlab 2016a 安装包及破解教程百度云分享链接:链接:https://pan.baidu.com/s/1i6BgD8p 密码:17gg Matlab安装教程:1…

2019matlab安装

本文转载自Matlab R2019a Win64位 迅雷下载链接_Yohaoa-CSDN博客_matlab迅雷下载 和MATLAB 2019a安装教程和破解方法(附Crack文件) | 我爱分享网 1.下载安装包18G,迅雷磁力链: magnet:?xturn:btih:733DFBA6CCC23DB9FFD6287C169A15664897E78D 2.在打开…

MATLAB2016b安装教程

1,首先你得有这三个压缩文件夹加一个密钥文件(安装包在我的硬盘得软件安装包里边)文件太大不能上传百度网盘 谢谢评论区小伙伴的资源: Matlab2016b 64位中文版下载地址: pan.baidu.com/s/1qDV8MKZtYgK29pZz7-4JwQ [提取码]: axak…

MATLABR2018b安装教程

文章目录 1. 下载安装包2. 安装软件3. 激活软件 1. 下载安装包 首先下载文件,包含主程序与激活文件,下载链接见评论区 2. 安装软件 进入文件夹 R2018b_win64 并双击安装程序 setup.exe 打开安装程序之后,选择第二项 使用文件安装密钥 下…