【重磅推荐】嵌入式Linux经典书单(部分含视频)
一直都有人问我要书单,在网上搜索大半天,没找到合适的,他们写的太不负责了,遂决定自己整理。
本书单综合了豆瓣知乎热评,尤其参考了一线开发者韦东山学员群的小伙伴们的意见,
再结合本人多年答疑经验整理而成。非常感谢他们。
本书单内容涉及:linux入门,c语言,数据结构,裸机,Linux应用,Linux驱动,Shell和 Makefile。
本人见识有限,本书单可能有不对的地方,欢迎在评论区指正,
也欢迎在评论晒出你读过的好书。
这篇书单已经被学员朋友圈刷屏了,你值得拥有。
文 | 韦东山团队答疑组长钟老师
Linux入门
作为嵌入式开发人员,我们没有必要把精力放到使用哪个Linux发行版上,而是应该尽快把Linux安装好。建议初学者使用我们配置好的ubuntu
在使用ubuntu的过程中,推荐书籍:
▲《鸟哥的Linux私房菜 - 基础学习篇》第三版 作者鸟哥
包括计算机概论,linux的起源和发展,如何学习linux,如何分区和安装ubuntu。
如果你使用的是我们提供的ubuntu,可以跳过此书前面的章节,直接从第5章开始学。
作者虽然不是计算机科班出身,但是讲解的比较细致,由浅入深。适合初学者, 第三版,比原来两个版本的基础学习篇要厚了一些。内容更加详实,如果读不进去,遇到问题了当手册查找也不错。
C语言
C语言是嵌入式编程必备的语言。Linux内核几乎完全是由C语言编写而成。学习C语言,如果不会用指针,不能称之为会C语言。指针对于嵌入式开发尤为重要,比如函数指针、多级指针等等。
C是嵌入式大厦的”地基”,在学习嵌入式时,必须重视C语言,多敲代码,多练。
推荐视频:
郝斌C语言,手写代码示例。讲解风格幽默富有激情,看了不容易打瞌睡。
推荐书籍:
▲《Linux C编程 一站式学习》作者宋劲杉
很荣幸作者宋老师在韦东山学员群里。
已经绝版,不过网上有PDF, 本书适合零基础的初学者。
《一站式学习c编程》有两条线索,一条线索是以linux平台为载体全面深入地介绍c语言的语法和程序的工作原理,让读者从本质上认识c语言。另一条线索是介绍程序设计的基本思想和开发调试方法。让读者从概念上认识c语言。
▲《C和指针》
作者: Kenneth
A·Reek 译者: 徐波
并不十分适合初学者,适合学过c语言,但不是很扎实的同学,看过豆瓣的书评,口碑不错,值得推荐。
▲《C陷阱与缺陷》作者: 凯尼格 译者: 高巍
适合有些经验的C程序员。
帮助C程序员绕过编程过程中的陷阱和障碍。全书分为 8章,分别从词法分析、语法语义、连接、库函数、预处理器、可移植性缺陷等几个方面分析了C编程中可能遇到的问题。也给出了若干具有实用价值的建议。
数据结构
如果说C语言相当于文字,那么数据结构就相当于造句、写文章。代码质量有一部分取决于对数据结构的掌握程度。在数据结构部分我们要把链表、排序、树作为学习重点。
推荐视频:
1、郝斌数据结构
2、浙江大学 陈越教授:
https://www.bilibili.com/video/av18586085/?spm_id_from=trigger_reload
推荐书籍:
▲《大话数据结构》作者: 程杰
以一个计算机教师教学为场景,讲解数据结构和相关算法的知识。通篇以一种趣味方式叙述,大量引用了各种各样的生活知识来类比,并充分运用图形语言来体现抽象内容,对数据结构所涉及到的一些经典算法做到逐行分析、多算法比较。与市场上的同类数据结构图书相比,本书内容趣味易读,算法讲解细致深刻,是一本非常适合自学的读物。
▲数据结构与算法分析
作者: [美] Mark Allen Weiss
译者: 冯舜玺
作者更加精炼并强化了他对算法和数据结构方面创新的处理方法。通过C程序的实现,着重阐述了抽象数据类型的概念,并对算法的效率、性能和运行时间进行了分析。
ARM裸机
推荐视频:韦东山新1期
推荐书籍:
▲《嵌入式Linux应用开发完全手册》作者:韦东山
基于ARM 9 s3c2410
+ Linux 2.6平台,从最简单的点亮一个LED开始,由浅入深地讲解,使读者最终可以配置、移植、裁剪内核,编写驱动程序, 掌握整个嵌入式Linux系统的开发方法。适合初学者。
虽然芯片有点老,但绝大多数知识和方法现在还适用,这是我们推荐给学员学习裸机的不二之选。
▲《ARM体系结构与编程(第2版)》作者:杜春雷
共为分14章,对ARM处理器的体系结构、指令系统和开发工具进行了比较全面的介绍。
其中包括ARM体系、ARM程序设计模型、ARM汇编语言程序设计、ARM C/C++语言程序设计、ARM连接器的使用、ARM集成开发环境CodeWarrior IDE的介绍及高性能的调试工具ADW的使用。
重点了解汇编指令,异常模式和MMU。
本书既可作为学习ARM技术的培训材料,也可作为嵌入式系统开发人员的参考手册。
Linux驱动
推荐视频:韦东山第2期视频
推荐书籍:
▲《Linux设备驱动》第三版 作者: 科波特
译者: 魏永明 / 耿岳 / 钟书毅
本文可以让读者熟悉Linux驱动的一些概念,适合初学者入门。
▲《Linux设备驱动开发详解》作者宋宝华
最新版的有点问题,建议看第二版,这算目前为止讲解驱动比较全面的书了,适合有一定驱动基础的同学,建议结合韦东山第2期驱动视频一起看:先看视频再看书。
驱动进阶:
▲《linux内核完全注释》作者 赵炯
本书介绍 linux 0.11,可能只有一万多行代码,但是五脏俱全,包括了操作系统中涉及的基本内容。最为经典的是开头的一些基本介绍(如makefile,80386的保护模式,内存寻址等等),知道了这些才能深入学习下去。
其次就是那几个汇编语言写的源文件,它让你知道从开机第一条指令开始,计算机都执行了哪些操作,怎么一步一步把内核导入并运行。
大部分讲操作系统的书在这方面说得较为简单,这本书真正的让你知道计算机干了什么事。
▲《Linux内核情景分析》作者毛德操 / 胡希明
经典好书,上下两册近1600页,厚,别指望一下子读完。
某一块不清楚时,就去翻一下它
此书不足。
1、内核版本2.4比较老
2、书中的图片严重不足,很多原理只要附加张图片便能让读者明白,可是作者花了不少的篇幅去解释而没有附加图片。
Linux应用
▲《UNIX环境高级编程》(第3版)
作者:作者: 史蒂文斯 (W.Richard Stevens) / 拉戈 (Stephen A.Rago)
译者: 戚正伟 / 张亚英 / 尤晋元
别被“高级”吓着,任何一个linux开发人员都应该看看。
本书在保持了前一版风格的基础上,根据最新的标准对内容进行了修订和增补。书中除了介绍UNIX文件和目录、标准I/O库、系统数据文件和信息、进程环境、进程控制、进程关系、信号、线程、线程控制、守护进程、各种I/O、进程间通信、网络IPC、伪终端等方面的内容。
内容权威,概念清晰,阐述精辟,对于所有层次UNIX程序员都是一本不可或缺的参考“字典”。
▲《UNIX网络编程(第3版)》
作者: 史蒂文斯 / 芬纳 / 鲁道夫
译者: 杨继张
socket编程的辞海式书籍 - 堪称经典。
已经出了第三版,虽然书比较厚,但对于程序员,主要是TCP/UDP网络编程,所以只要重点关注其中部分章节即可,主要有: 第2、3、4、5、6、7、8、11、14、15、16、26、30。
重点是了解原理,比如tcp的握手原理、非阻塞等。其次就是一些选项啊、函数啊什么的,这些大概知道有哪些能干哪些事情就好了,等用到、看到的时候能够想到google什么关键字即可。
买一本存着,偶尔写代码写到某个地方,不确定概念的时候可以翻翻。
应用进阶:
推荐视频:
韦东山第3期项目一数码相框
Shell脚本
▲《Linux Shell脚本攻略 (第3版)》
作者: [美] Clif Flynt / [印] Shantanu Tushar / [印] Sarath Lakshman
译者: 门佳
短小精悍,没有长篇大论,都是一个接一个小技巧,实用,适合初学者。
Makefile
推荐视频:
初学者:韦东山新1期第5节~第8节
进阶:韦东山第3期 第1课第4节_数码相框_编写通用的Makefile
推荐书籍:
陈皓《跟我一起写makefile》,适合初学者。好像只有PDF没有纸书,
- End -
联系我们:
微信/手机:13266630429,验证:博客园
【重磅推荐】嵌入式Linux经典书单(部分含视频)的更多相关文章
- AI 经典书单 | 人工智能学习该读哪些书
转载 2018年01月16日 00:00:00 人工智能相关岗位中,涉及到的内容包含: 算法.深度学习.机器学习.自然语言处理.数据结构.Tensorflow.Python .数据挖掘.搜索开发. ...
- 计算机的一些经典书籍CS经典书单
c++: <c++程序设计> <c++primer> <effective c++> <more effective c++> <深入探索c++对 ...
- 经典书单 —— 语言/算法/机器学习/深度学习/AI/CV/PGM
0.0 计算机科学 <Lex 与 Yacc> Think Complexity(使用 Python 语言) GitHub - AllenDowney/ThinkComplexity: Co ...
- 经典书单、站点 —— 大数据/数据分析/R语言
1. 科普.入门 <大数据智能>,刘知远.崔安顺等著: 特色:系统,宏观和全面: 2. R 语言站点 http://langdawei.com/:R 语言数据采集与可视化:
- 重磅发布: 阿里云WAF日志实时分析上线 (含视频)
摘要: 阿里云WAF与日志服务打通,对外开发Web访问与攻击日志.提供近实时的网站具体的日志自动采集存储.并提供基于日志服务的查询分析.报表报警.下游计算对接与投递的能力. 背景 Web攻击形势 互联 ...
- 终于,我也要出一本C#的书了 - 我的写作历程与C#书单推荐
我之前的面试题停了很久,是因为 - 我写书去了. 前言 我于2012年3月开始工作,到现在马上就满六年了.这六年里,我从一个连Sql server是什么都不知道,只会写最简单的c#的程序员开始做起,一 ...
- Linux 运维入门到跑路书单推荐
一.基础入门 <鸟哥的Linux私房菜基础学习篇>:最具知名度的Linux入门书<鸟哥的Linux私房菜基础学习篇>,全面而详细地介绍了Linux操作系统. https://b ...
- Java工程师核心书单推荐
随便打开一个招聘网站,看看对高级Java工程师的技能要求. 抛开其它的经验能力等等,单纯从技术,或者说知识上来讲,可以发现一些共通的地方. Java基础 计算机基础 数据库,SQL/NoSQL 常用开 ...
- 一个很不错的适合PHPER们书单,推荐给大家【转】
来我博客的访客们中,有一些是PHP的初学者,是不是很迷茫PHP应该怎么学?应该买什么样的书?到处问人,到处求助?这下好了. 正好看到黑夜路人在博客上推荐了一个书单,看上去都非常不错,很多我也没有读过, ...
随机推荐
- redis 在我做的容器中的配置路劲
配置 /etc/redis/redis.conf 数据库位置 /var/lib/redis/dump.rdb
- Android Camera探究之路——起步
Android Camera探究之路--起步 Camera在手机中有着举足轻重的地位,无论是二维码还是照片.识别.都离不开摄像头,本文将对Android中的Camera进行全面解析. 权限镇楼: &l ...
- react 自定义 百度地图(BMap)组件
1.html 页面引入 相关js public/index.html <!DOCTYPE html> <html lang="en"> <head&g ...
- 8款精美的HTML5图片动画分享
From:http://geek.csdn.net/news/detail/196250 HTML5结合jQuery可以让网页图片变得更加绚丽多彩,比如实现一些图片3D切换.CSS3动画绘制以及各种图 ...
- datatable的使用
学习可参考:http://www.guoxk.com/node/jquery-datatables http://yuemeiqing2008-163-com.iteye.com/blog/20069 ...
- swift3.0系列完整demo代码库
https://github.com/soapyigu/Swift30Projects 感谢作者
- GCJ Qualification Round 2016 D题
这题就是找规律.小数据还是挺容易想的.大数据得再深入分析一下. 题意挺绕的. 其实就是字符串转换.字符串只能有两种字母,L或G.给定K和C,就能通过规则生成目标字符串. 那么,如果知道了K和C,以及目 ...
- lazy evaluation and deferring a computation await promise async
Promise - JavaScript | MDN https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_ ...
- The JSP specification requires that an attribute name is preceded by whitespace--异常
异常信息:org.apache.jasper.JasperException: /pages/selectedCourse.jsp (line: 4, column: 39) The JSP spec ...
- 8.JS数据类型
① 数据类型:字符串,数字,布尔,数组,对象,Null,Undefined ② JavaScript拥有动态类型.这意味着相同的变量可用作不同的类型: 实例 var x: //x为undefine ...