嵌入式Linux学习经典书籍-学完你就是高手
很多刚入门的朋友一直都有人问我要学习资料,嵌入式实在太杂,网上很多人写的太不负责了,本书单综合了本人以及一些朋友多年的经验整理而成。
本人见识和阅读量有限,本书单可能有不对的地方,欢迎朋友指正,交流你读过的好书。
更多单片机/嵌入式内容及资料:大叔的嵌入式小站:嵌入式Linux学习经典书籍
ps:差钱的小伙伴可以找找资源,等赚钱了记得买实体书补上,尊重这些优秀的作者,这些书值得你收藏。

Linux入门
▲《鸟哥的Linux私房菜 - 基础学习篇》第四版 作者:鸟哥
这本书对于Linux入门简直是神书,内容包括计算机概论,linux的起源和发展,如何学习linux,shell等。讲解得比较细致,由浅入深,非常适合初学者。
ps:这本书我完整看了3遍,不包括翻阅。
学习建议:通读一遍,大概掌握即可入门,然后当作工具书,不要太过执着,大叔刚入门的时候就浪费了太多时间在这。
C语言
C语言是嵌入式编程必备的语言。Linux内核几乎完全是由C语言编写而成,光学校学的肯定是不够用的。
▲《C陷阱与缺陷》作者: 凯尼格 译者: 高巍
全书分为 8章,分别从词法分析、语法语义、连接、库函数、预处理器、可移植性缺陷等几个方面分析了C编程中可能遇到的问题。也给出了若干具有实用价值的建议。
学习建议:完全新手不建议看,适合已经入门的C程序员,完全新手还是先好好看看你的教科书吧。
▲《C专家编程》作者: 凯尼格 译者: 高巍
对C的历史、语言特性、声明、数组、指针、链接、运行时、内存以及如何进一步学习C 等问题进行了细致的讲解和深入的分析
学习建议:适合有一定功底的C程序员
ARM
▲《ARM体系结构与编程(第2版)》作者:杜春雷
很经典,共分为14章,对ARM处理器的体系结构、指令系统和开发工具进行了比较全面的介绍。
其中包括ARM体系、ARM程序设计模型、ARM汇编语言程序设计、ARM C/C++语言程序设计、ARM连接器的使用、ARM集成开发环境CodeWarrior IDE的介绍及高性能的调试工具ADW的使用。
学习建议:嵌入式避不开ARM,重点了解汇编指令,异常模式和MMU。
Linux驱动
▲《Linux设备驱动开发详解》作者宋宝华
就我个人有限的阅读量而言这是中文讲解Linux驱动最好的书。
学习建议:没什么建议,驱动考验的是耐心和经验,只有多学,哈哈。
Linux应用
▲《UNIX环境高级编程》(第3版)
作者:作者: 史蒂文斯 (W.Richard Stevens) / 拉戈 (Stephen A.Rago)
译者: 戚正伟 / 张亚英 / 尤晋元
任何一个linux开发人员必备书。
书中介绍了UNIX文件和目录、标准I/O库、系统数据文件和信息、进程环境、进程控制、进程关系、信号、线程、线程控制、守护进程、各种I/O、进程间通信、网络IPC、伪终端等方面的内容。
内容权威,概念清晰,阐述精辟,对于所有UNIX/Linux程序员都是一本不可或缺的工具书。
▲《UNIX网络编程(第3版)》
作者: 史蒂文斯 / 芬纳 / 鲁道夫
译者: 杨继张
虽然书比较厚,但对于程序员,主要是TCP/UDP网络编程,所以只要重点关注其中部分章节即可,主要有: 第2、3、4、5、6、7、8、11、14、15、16、26、30。
学习建议:重点了解原理,比如tcp的握手原理、非阻塞等。其次就是一些选项啊、函数啊什么的,这些大概知道后,等用到时能够想到什么怎么搜索即可。
和《UNIX环境高级编程》一样,买一本存着,偶尔写代码写到某个地方,不确定概念的时候可以翻翻。
Shell脚本
▲《Linux Shell脚本攻略 (第3版)》
作者: [美] Clif Flynt / [印] Shantanu Tushar / [印] Sarath Lakshman
译者: 门佳
短小精悍,没有长篇大论,都是一个接一个小技巧,实用,适合初学者。
学习建议:作为入门没必要花过多时间学习,闲时看看,增强技术,或者工作遇到问题再看,可能就有解决办法
结语
纸上得来终觉浅,看再多书也还是需要不断练习,也没有真正的神书能够直接灌进你脑子,不需要再四处找资料,这些推荐的书要是真的学完,你就是大佬了,祝所有朋友学有所成,升职加薪。
更多单片机/嵌入式内容及资料:大叔的嵌入式小站:嵌入式Linux学习经典书籍
相关文章:
嵌入式Linux学习经典书籍-学完你就是高手
很多刚入门的朋友一直都有人问我要学习资料,嵌入式实在太杂,网上很多人写的太不负责了,本书单综合了本人以及一些朋友多年的经验整理而成。 本人见识和阅读量有限,本书单可能有不对的地方,欢迎朋友指正,交…...
网络基础-基础网络命令
文章目录路由命令查询添加路由1.添加访问某台主机的静态路由2.添加访问某个网络的静态路由3.添加默认网关:删除设计关键字路由2参考路由 命令查询 通过 route --help 或man route 查询 添加路由 1.添加访问某台主机的静态路由 route add -host [目标主机IP地址…...
域对象共享数据
处理请求的过程:获取请求参数,调用service处理业务逻辑,往域对象中共享数据,最后实现渲染页面跳转。请求域中共享数据ModelAndView向request域对象共享数据ModelAndView:往域对象共享数据,并实现页面跳转和…...
【基于jeeSite框架】SpringBoot+poi+Layui自定义列表导出
文章目录功能效果思路代码前台后台easyPoi,easyExcel,poi三者的区别poipoi依赖导出ExcelHSSF方式导出XSSF方式导出SXSSF方式导出导入excelHSSF方式导入XSSF方式导入SXSSF方式导入easyPoi依赖包采用注解导出导入easyExcel依赖采用注解导出导入API文档easyPoi操作文档…...
使用 RGB 值设置颜色
使用 RGB 值设置颜色 另一种可以在 CSS 中表示颜色的方法是使用 RGB 值。 RGB 即红色、绿色、蓝色(英语:Red, Green, Blue)。 ● 红色(R)0 到 255 间的整数,代表颜色中的红色成分。。 ● 绿色(G…...
【python学习笔记】:5个高效编程技巧
01 交换变量 >>>a3 >>>b6 这个情况如果要交换变量在c中,肯定需要一个空变量。但是python不需要,只需一行,大家看清楚了 >>>a,bb,a >>>print(a)>>>6 >>&g…...
IP多播技术详解
文章目录前言IP多播技术的相关基本概念IP多播地址和多播组在局域网上进行硬件多播IP多播地址和多播MAC地址映射关系在因特网上进行IP多播网际组管理协议IGMP多播路由选择协议前言 随着计算机网络的发展和个人计算机的普及,人们能够方便的在网络上畅游,进…...
华为OD机试真题Python实现【数组排序】真题+解题思路+代码(20222023)
🔥系列专栏 华为OD机试(Python)真题目录汇总华为OD机试(JAVA)真题目录汇总华为OD机试(C++)真题目录汇总华为OD机试(JavaScript)真题目录汇总文章目录 🔥系列专栏题目输入输出示例一输入输出解题思路核心知识点Python 代码实现代码运行结果版权说明</...
丹麦市政当局通过 NetIQ 身份和访问管理解决方案,提高安全合规性
丹麦市政当局通过 NetIQ 身份和访问管理解决方案,提高安全合规性 概览 公司:普华永道 行业:咨询 地点:丹麦 挑战 创建一个通用框架,以便丹麦市政当局可以无需内部专业知识的前提下利用高级身份和访问管理 使用的…...
内网渗透学习官方文档
内网渗透0x00 kerberos协议0x01 ntlm协议0x02 管道0x03 smb协议0x04 windows访问控制0x05 令牌窃取0x06 SPN扫描&kerberoast0x07 黄金票据0x08 白银票据0x09 MS140680x10 NTDS.DIT && sam0x11 NTLM Relay0x12 MS08-0680x13 CVE-2019-13840x00 kerberos协议 kerber…...
如何编写接口测试用例?
接口测试用例如何编写?下面简单给大家讲解一下。 接口测试用例是目前软件开发中不可或缺的一个重要部分,因此编写接口测试用例同样重要。 接口测试用例的作用非常明显,它能够帮助我们了解产品正在考验、调整它如何表现在特定情境之下、产品是…...
代码随想录算法训练营第44天 || 完全背包 || 518. 零钱兑换 II || 377. 组合总和 Ⅳ
代码随想录算法训练营第44天 || 完全背包 || 518. 零钱兑换 II || 377. 组合总和 Ⅳ 完全背包 完全背包与01背包的区别在于每种物品都有无限件,可以多次放入背包。 我们回顾一下01背包的遍历顺序,其中内层遍历背包的过程要后序遍历,为什么…...
【Bug】SQL无法绑定由多个部分组成的标识符
文章目录问题原因解决拓展问题 执行sql报:无法绑定由多个部分组成的标识符 原因 取了别名却没用别名,如下面这些情况 select * from biz_production_order_work_detail temp where biz_production_order_work_detail.create_time>2023-02-13selec…...
Games102 学习笔记
Games 102 P2 数据拟合 拟合数据的好坏 分段线性插值函数yf1(x)yf_1(x)yf1(x),数据误差为0,只有C0C_0C0连续。光滑插值函数yf2(x)yf_2(x)yf2(x),数据误差为0,可能被Noice带歪,导致函数性质不好,预…...
知识图谱基本知识点以及应用场景
近两年来,随着Linking Open Data等项目的全面展开,语义Web数据源的数量激增,大量RDF数据被发布。互联网正从仅包含网页和网页之间超链接的文档万维网(Document Web)转变成包含大量描述各种实体和实体之间丰富关系的数据万维网(Data Web)。在这…...
IDEA中常用的快捷键
IDEA中常用的快捷键 自动修正:ALT回车键 代码格式化:CTRLALTL 代码提示:CTRLALT空格 导入当前代码所需要的类:alt回车键 导入当前类中所需要的所有类:ctrlshifto 查看子类:ctrlh 查找类:ctrln …...
朗润国际期货招商:桥水基金四季度投资组合
桥水基金四季度投资组合 总持仓市值183.2亿美元;环比减少7.3% ishares标普500指数ETF:7.93亿占持仓4.33%环比1.14%宝洁:7.57亿占持仓4.13%环比-0.1%新兴市场core TEF-ishares:6.80亿占持仓3.71%环比0.47%强生:6.3亿占…...
Linux管道命令(pipe)全
目录 选取命令:cut、grep 传送门 排序命令:sort、wc、uniq 传送门 双向重定向:tee 字符转换命令:tr、col、join、paste、expand 传送门 划分命令:split 传送门 参数代换:xargs 传送门 关于减号…...
mybatis条件构造器(一)
mybatis条件构造器(一) 1 准备工作 1.1 建表sql语句(Emp表) SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0; -- ---------------------------- -- Table structure for emp -- ---------------------------- DROP TABLE IF EXISTS emp; CREATE TABLE emp (EMPNO int NOT N…...
车联网之电子围栏中ConnectStreamed应用【二十】
文章目录 1. 电子围栏中ConnectStreamed应用1.1 ConnectedStreams简介1.1.1 connect流说明1.1.2 connect流使用场景1.2 Broadcast+Connect+CoFlatmap+CoMap整合实战1.3 两点之间球面距离计算1.4 电子围栏中自定义对象实现CoFlatMap函数1. 电子围栏中ConnectStreamed应用 1.1 C…...
Spring Boot 实现流式响应(兼容 2.7.x)
在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...
el-switch文字内置
el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...
从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)
设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...
第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明
AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...
【JavaWeb】Docker项目部署
引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...
关键领域软件测试的突围之路:如何破解安全与效率的平衡难题
在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件,这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下,实现高效测试与快速迭代?这一命题正考验着…...
安卓基础(aar)
重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...
