展开全部

主编推荐语

紧跟书中内容的安排顺序并结合具体案例进行学习,带你独立编写个人的嵌入式Linux系统。

内容简介

全书共16章,在章节安排上本着由易到难、深入浅出的原则,具体内容如下。

第1~3章主要介绍Linux嵌入式开发的基础知识;第4、5章分别从硬件角度和软件角度分析嵌入式Linux学习的相关工具;第6~9章是本书的重点,分别对Makefile、U-boot、内核和根文件系统进行了详细介绍。第10~12章介绍了Linux的驱动开发,是本书的难点内容,也是嵌入式Linux系统工程师必须掌握的内容。第13~16章结合当下物联网、车联网等热门技术领域知识,完成了4个综合项目案例。

本书适合广大从事嵌入式Linux系统开发的技术人员、嵌入式Linux系统开发爱好者以及大中专院校相关专业的学生阅读,相关培训院校及高校教师亦可将本书作为教材或参考书。

目录

  • 版权信息
  • 前言
  • 第1章 Linux嵌入式系统入门
  • 1.1 小白也要懂——嵌入式系统的应用和发展
  • 1.2 嵌入式系统与嵌入式操作系统
  • 1.2.1 什么是嵌入式系统
  • 1.2.2 什么是嵌入式操作系统
  • 1.3 嵌入式系统的分类与特点
  • 1.3.1 嵌入式系统的分类
  • 1.3.2 嵌入式系统的特点
  • 1.4 嵌入式操作系统架构
  • 1.5 Linux系统版本
  • 1.5.1 Linux系统分类
  • 1.5.2 Ubuntu操作系统的版本
  • 1.6 【案例实战】Linux系统环境搭建
  • 1.6.1 虚拟机安装Ubuntu操作系统
  • 1.6.2 树莓派安装Ubuntu操作系统
  • 1.7 要点巩固
  • 1.8 技术大牛访谈——嵌入式系统的一般开发流程
  • 第2章 Linux操作系统基础知识
  • 2.1 小白也要懂——操作系统的功能
  • 2.2 Linux操作系统基本命令
  • 2.2.1 Linux操作系统权限管理
  • 2.2.2 Linux常用基本命令
  • 2.3 Linux操作系统下的vi和vim编辑器
  • 2.3.1 vi的基本操作
  • 2.3.2 vim的基本操作
  • 2.4 链接文件
  • 2.5 跨平台的文件传输协议
  • 2.5.1 什么是FTP
  • 2.5.2 虚拟机Linux系统启用FTP服务
  • 2.6 【案例实战】Hello World! 两种编程方式
  • 2.7 要点巩固
  • 2.8 技术大牛访谈——Linux操作系统架构
  • 第3章 Linux嵌入式系统下编程
  • 3.1 小白也要懂——C语言的发展过程
  • 3.2 Linux系统下C语言的编程基础
  • 3.2.1 记住标识符
  • 3.2.2 C语言中的数据
  • 3.2.3 运算符和表达式
  • 3.2.4 C语言的三种基本结构
  • 3.3 Linux系统下C语言的进阶编程
  • 3.3.1 C语言的数组
  • 3.3.2 C语言的指针
  • 3.3.3 C语言的函数
  • 3.3.4 C语言的构造数据类型
  • 3.4 Linux系统下C语言的高阶编程
  • 3.4.1 C语言的文件操作
  • 3.4.2 C语言的队列操作
  • 3.4.3 C语言的链表操作
  • 3.4.4 C语言的排序算法
  • 3.5 【案例实战】学生成绩信息管理系统
  • 3.6 要点巩固
  • 3.7 技术大牛访谈——GNU C和标准C的差异
  • 第4章 Linux嵌入式硬件系统
  • 4.1 小白也要懂——微处理器字节序列存储的大小端模式
  • 4.2 嵌入式微处理器的系统架构
  • 4.2.1 冯·诺依曼计算机系统
  • 4.2.2 指令系统
  • 4.2.3 微处理器的内核架构
  • 4.3 嵌入式硬件系统的基本组成部分
  • 4.3.1 时钟系统
  • 4.3.2 中断系统
  • 4.3.3 总线
  • 4.3.4 存储系统
  • 4.3.5 嵌入式微处理器片上外部设备
  • 4.4 【案例实战】微处理器的两种编程方式
  • 4.4.1 微处理器裸机系统的GPIO操作
  • 4.4.2 微处理器移植Linux系统的GPIO操作
  • 4.5 要点巩固
  • 4.6 技术大牛访谈——嵌入式系统微处理器选型方案
  • 第5章 Linux嵌入系统之交叉编译
  • 5.1 小白也要懂——gcc编译器的工作流程
  • 5.2 Linux下gcc编译器的使用方法
  • 5.3 gdb调试工具的使用方法
  • 5.4 什么是交叉编译
  • 5.5 构建交叉编译工具链
  • 5.6 【案例实战】交叉编译工具链的下载与安装
  • 5.7 要点巩固
  • 5.8 技术大牛访谈——编译器和解释器的区别
  • 第6章 Makefile的基础知识
  • 6.1 小白也要懂——make命令的执行过程
  • 6.2 Makefile语法基础
  • 6.3 Makefile一般书写格式
  • 6.4 Makefile变量的引用与赋值
  • 6.5 Makefile模式规则与自动变量
  • 6.6 Makefile伪目标
  • 6.7 Makefile条件判断
  • 6.8 【案例实战】编写自己的Makefile文件
  • 6.9 要点巩固
  • 6.10 技术大牛访谈——Makefile函数的使用
  • 第7章 Linux嵌入系统之U-boot
  • 7.1 小白也要懂——Bootloader与U-boot的区别
  • 7.2 U-boot概述
  • 7.2.1 选择正确的U-boot版本
  • 7.2.2 查看U-boot目录结构
  • 7.3 关于U-boot的源代码编译与GUI界面
  • 7.3.1 编译U-boot
  • 7.3.2 U-boot的GUI界面
  • 7.4 U-boot的Makefile代码分析
  • 7.5 U-boot启动流程
  • 7.5.1 U-boot启动阶段1
  • 7.5.2 U-boot启动阶段2
  • 7.6 【案例实战】IMX6 ULL开发板移植U-boot
  • 7.7 要点巩固
  • 7.8 技术大牛访谈——U-boot在实际项目中的作用
  • 第8章 Linux嵌入式系统之内核
  • 8.1 小白也要懂——关于Linux体系结构和内核结构
  • 8.2 Linux内核的子系统
  • 8.2.1 虚拟文件系统
  • 8.2.2 进程管理子系统
  • 8.2.3 进程通信子系统
  • 8.2.4 内存管理子系统
  • 8.2.5 设备驱动子系统
  • 8.3 Linux内核的配置和编译
  • 8.3.1 选择正确的Linux内核
  • 8.3.2 编译Linux内核
  • 8.3.3 查看Linux内核的目录结构
  • 8.3.4 Linux内核的GUI界面
  • 8.3.5 Linux内核的镜像与Makefile
  • 8.4 Linux内核的启动过程
  • 8.5 【案例实战】IMX6 ULL移植Linux内核
  • 8.6 要点巩固
  • 8.7 技术大牛访谈——浅析init进程
  • 第9章 构建嵌入式Linux根文件系统
  • 9.1 小白也要懂——Linux系统中的文件系统
  • 9.2 根文件系统概述
  • 9.3 Busybox安装与编译过程
  • 9.3.1 Busybox简介
  • 9.3.2 Busybox的安装与配置
  • 9.3.3 Busybox的编译
  • 9.4 构建根文件系统
  • 9.4.1 需要的库文件
  • 9.4.2 添加其他的文件操作
  • 9.4.3 优化根文件系统
  • 9.5 【案例实战】根文件系统的移植测试
  • 9.6 要点巩固
  • 9.7 技术大牛访谈——其他根文件系统的构建工具
  • 第10章 Linux嵌入式系统之设备驱动
  • 10.1 小白也要懂——设备驱动分类
  • 10.2 字符设备驱动的理论基础
  • 10.2.1 字符设备驱动的一般流程
  • 10.2.2 设备号
  • 10.3 编写字符设备驱动程序
  • 10.3.1 旧版本字符设备驱动程序
  • 10.3.2 新版本字符设备驱动程序
  • 10.3.3 字符设备驱动程序的通用操作
  • 10.4 【案例实战】字符设备驱动的移植测试
  • 10.5 要点巩固
  • 10.6 技术大牛访谈——块设备驱动概述
  • 第11章 Linux嵌入式系统之设备树
  • 11.1 小白也要懂——设备树的基础知识
  • 11.2 设备树的基础语法
  • 11.2.1 设备树节点
  • 11.2.2 节点属性
  • 11.2.3 设备树常用的操作函数
  • 11.3 基于设备树的pinctrl和gpio子系统
  • 11.3.1 pinctrl子系统
  • 11.3.2 gpio子系统
  • 11.4 基于设备树的platform设备驱动
  • 11.4.1 platform驱动模型
  • 11.4.2设备树下platform驱动的编写
  • 11.5 【案例实战】基于设备树的platform设备驱动移植
  • 11.6 要点巩固
  • 11.7 技术大牛访谈——设备驱动的分层和分离思想
  • 第12章 Linux嵌入式系统之驱动技术
  • 12.1 小白也要懂——Linux系统下驱动程序框架概述
  • 12.1.1 驱动程序与系统的接口
  • 12.1.2 驱动程序加载到内核的流程
  • 12.2 Linux异常处理——中断处理
  • 12.2.1 中断API函数功能
  • 12.2.2 Linux内核中断机制
  • 12.3 Linux并发与竞争
  • 12.3.1 原子操作
  • 12.3.2 自旋锁
  • 12.3.3 信号量
  • 12.3.4 互斥体
  • 12.4 Linux阻塞和非阻塞IO
  • 12.4.1 阻塞IO策略的实现——等待队列
  • 12.4.2 非阻塞IO策略的实现——轮询
  • 12.5 【案例实战】按键中断实验
  • 12.6 要点巩固
  • 12.7 技术大牛访谈——file_operations结构体代码分析
  • 第13章 自动控制系统应用实例——自动浇灌系统
  • 13.1 小白也要懂——自动浇灌系统项目背景介绍
  • 13.2 自动浇灌系统的功能设计
  • 13.3 自动浇灌系统的硬件设计与实现
  • 13.4 自动浇灌系统的软件设计与实现
  • 13.4.1 驱动程序
  • 13.4.2 应用程序的编写
  • 13.5 自动浇灌系统的联合调试
  • 13.6 要点巩固
  • 13.7 技术大牛访谈——自动化控制系统的组成部分
  • 第14章 物联网应用实例——智能快递柜系统
  • 14.1 小白也要懂——智能快递柜系统项目背景
  • 14.2 智能快递柜系统的功能设计
  • 14.3 智能快递柜系统的硬件设计与实现
  • 14.4 智能快递柜系统的软件设计与实现
  • 14.5 智能快递柜系统的联合调试
  • 14.6 要点巩固
  • 14.7 技术大牛访谈——Linux嵌入式开发板串口驱动框架
  • 第15章 车联网应用实例——车身控制系统
  • 15.1 小白也要懂——车身控制系统项目背景
  • 15.2 车身控制系统的功能设计
  • 15.3 车身控制系统的硬件设计与实现
  • 15.4 车身控制系统的软件设计与实现
  • 15.5 车身控制系统的联合调试
  • 15.6 要点巩固
  • 15.7 技术大牛访谈——Linux系统下的CAN驱动框架
  • 第16章 人工智能应用实例——语音识别控制系统
  • 16.1 小白也要懂——语音识别技术
  • 16.2 语音识别控制系统的功能设计
  • 16.3 语音识别控制系统的硬件设计与实现
  • 16.4 语音识别控制系统的软件设计与实现
  • 16.5 【案例实战】语音识别控制系统的联合调试
  • 16.6 要点巩固
  • 16.7 技术大牛访谈——ReSpeaker 2-Mics Pi HAT驱动环境的安装
展开全部

评分及书评

评分不足
1个评分

出版方

机械工业出版社

机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。