百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

入门嵌入式Linux学习路线(上)(自学嵌入式linux)

ahcoder 2025-01-31 11:46 18 浏览

首先写这篇文章的目的是我看了 网上很多博客的博主写的嵌入式Linux学习路线很多有很杂,有的博主写的很片面简单,有的博主七凑八凑把不必要的知识也写了进去导致初学者看了就是劝退的路线,我作为一名入行两年的Linux驱动工程师,来说说我的入行Linux驱动学习路线,我的路线不一定适用于所有人,但基本会让大部分想的初学者入行嵌入式Linux。下面就给大家介绍下学习路线。

上图是我总结的Linux C应用的学习路线图,学会这些内容基本找Linux相关C的工作不成问题。下面就由我给大家细说该如何去学习以上列举的知识点。

Linux基础及环境搭建

需要掌握的知识点如下:

1、环境的搭建:ubuntu,vmware安装

2、Linux目录下结构

3、基本命令掌握如目录操作,文件操作操作,文件查找搜索等,最关键要会gcc命令使用

4、一些简单的shell脚本使用

5、Makefile的编写

个人建议学习以上内容可以看看b站的视频按照我列举的知识点进行按需学习,其中shell和Makefile的基本语法建议看一些开源项目源码学习如bluez,bluealsa等等看懂大型项目如何编写,语法要看懂,自己会写简单的就可以了

掌握C语言

这部分学到指针那里,因为C语言的精髓是指针,不会指针等于不会C语言

这里建议去b站看郝斌的视频或者看看朱老师的C语言的教程,他们的视频风趣幽默且详细易懂,这里一定要亲自动手去敲,建议看三遍

数据结构

这里的知识比较难啃,不经常很容易忘记。这里建议学会链表和队列,源码可以看看Linux内核里的list,c,queue.c和list.h,queue.h

视频的推荐也是去看郝斌的数据结构,一定要跟着动手去敲代码,建议看三遍

1、看完之后能掌握常见的算法比如:冒泡排序,直接插入,快速排序等

2、链表:双向链表,增删改查

文件IO

需要掌握的知识点

1、掌握Linux文件IO的一套系统调用API:open、read、write、lseek,close等。

2、熟练写出文件拷贝等功能模块。

3、理解I/O、缓冲的概念。

在Linux下,一切皆文件,我们操作操作许许多多的外设(字符设备、套接字、文件等等)就像操作文件一样。要想知道如何操作文件和外设,我们就必须熟练掌握文件IO,这是我们学习Linux下面编程最基本的知识点。

这里建议看看博客如何写出文件拷贝等功能的文章或者朱老师的视频,再去独立自己写。

系统编程

1、进程与线程的概念

2、掌握常用的函数fork函数等api;

3、进程创建、回收;

4、常用的进程相关命令:ps、top,vmstat;

5、进程间通信:信号量、消息队列、共享内存、管道、信号;

6、守护进程;

7、线程创建、同步互斥,互斥锁;

8、库的概念,什么是动态库和静态库,如何自己制作动态库和静态库。

多进程、多线程是我们学习Linux下系统编程是项目中非常重要的一个知识点,必须掌握。

这里建议针对不同知识点建议看看朱老师的视频或者其他b站视频

网络编程

1、TCP/IP协议分层以及每一层的功能;不要看OSI,只要知道即可;

2、socket api的使用,

3、tcp、udp;C/S架构如何创建;

4、套接字属性的设置;

5、C/S架构

6、tcpdump进行抓包,wireshark去看包

网络的知识太复杂了,许多大厂应用开发都是必备要求,网络编程、TCP/IP协议栈、网络拓扑、网卡驱动、各种无线通信协议。对于嵌入式方向的初学者,我们最好先了解一些基础的网络协议知识,然后学习套接字的使用。

建议看看唐佐林老师的视频或者其他b站视频

Linux C应用项目

该阶段可以看看博客上的《多线程聊天室》,实现多线程与服务器的收发、注册登录,给服务器互相发送消息等功能。

相关推荐

全新架构!腾讯推出基于NT架构的全新Linux版QQ

据之前的报道,QQ作为经典的聊天软件在经历多次的功能调整后,正式选择基于新技术开发新版本的QQ。而在今日,基于NT架构的全新QQLinux版已结束内测,并正式为其推出官网新界面,并为所有用户提供下载...

Linux系统区别英文字母大小写(linux是否区分大小写)

我们一般在Windows系统开发程序并进行功能测试,如果上线的时候选择Windows服务器的话,是什么问题都没有。但是当选择Linux系统的时候,就必须注意Linux系统是严格的区别文字大小。Wind...

微软赞助LinuxCon北美峰会:向Linux表达爱意

IT之家讯8月24日消息,LinuxCon北美峰会在美国西雅图举行,与往年相比本次峰会最大的亮点是:微软作为赞助商出席了峰会,再次向世人宣布“微软爱Linux”。在本次峰会中,微软为大家准备了印有“...

现在越来越注重知识产权,你在设计中有知道哪些字体是可商用吗?

在设计海报中字体是很重要的一部分,近年来知识产权的越来越注重,不少设计公司用了有版权字体踩坑也时常可见。那么我们怎样去区别字体有没有版权呢。(文章结尾有文章领取方法)1.Windows库中自带的字体...

Linux 快速安装当前目录及子目录下的所有字体

源码随时更新sh/fonts-install.sh·main·JetsungChan/sh-files·极狐GitLabsh-files/fonts-install.shatma...

开源字体编辑器TruFont(开源字体库)

TruFont是一款跨平台的开源字体编辑器,它支持.otf、.ttf、.ttx、.pfa、.pfb、.woff等字体格式。支持Linux、MacOSX、以及Windows平台。htt...

告别字体侵权,100+个免费可商用字体大集合(附字体包)

作为设计师,我们在作图时要使用大量的字体来达到我们想要的效果,但是字体都是有版权的,据说前几年暴风、保洁被方正告,赔了几百上千万(我的天呐,吓死宝宝了)最近,在群里看到了又有人收到律师函,去年底我也收...

办公小技巧:告别侵权 PPT字体自己造

很多朋友还不知道,我们每天面对的字体都是有版权保护的,如果对这方面的内容不了解,一不小心就可能造成侵权。那么我们在日常设计PPT文稿的时候,如何避免字体侵权呢?首先我们得懂得如何查看版权信息,另外还需...

在linux中添加Windows字体(linux使用windows字体)

linux中添加字体第一步:WINDOWS/FONTS中的字体文件,上传到linux服务器上/usr/share/fonts/myfonts第二步:将copy到的字体文件夹copy到系统字体文件夹中并...

在Ubuntu系统中如何更换字体(ubuntu如何调整字体大小)

在Ubuntu中,默认情况下已经安装了很多字体,但是可能有一段时间你需要安装一些额外的字体。本文介绍如何在Ubuntu18.04中安装字体。环境Ubuntu18.04.3LTS下载并解压字体首先...

在麒麟Linux上安装Elasticsearch的步骤

在麒麟Linux上安装Elasticsearch的步骤如下,分为基于Debian(如Ubuntu)和基于RPM(如CentOS)的两种常见场景。请根据你的麒麟Linux版本选择对应的安装方式:1.系...

Linux实战之:version `GLIBC_2.27' not found

通过ldd命令查看缺失的依赖,发现有个插件一直提示:“/lib/x86_64-linux-gnu/libm.so.6:version`GLIBC_2.27'notfound”,通过ap...

32、64位版本!揭Ubuntu 14.10系统性能

1Ubuntu14.10新平台性能比拼从phoronix.com的消息获悉,Ubuntu的支持人BryanQuigley正在考虑将Ubuntu16.04作为最后一个32位发行版本。2016年4月...

Ubuntu 25.04内核确定,Linux 6.14带来全新体验

IT之家12月14日消息,Canonical工程师TimoAaltonen昨日(12月13日)在Ubuntu论坛发帖,确认Ubuntu25.04发行版将使用Linux...

2020年最漂亮的7个Linux发行版(最新linux发行版)

请关注本头条号,每天坚持更新原创干货技术文章。如需学习视频,请在微信搜索公众号“智传网优”直接开始自助视频学习1.前言对于想学习Linux的朋友们,心中一定有疑问,哪个Linux版本比较好入门,Li...