新書推薦:
《
血色帝国:近代英国社会与美洲移民
》
售價:HK$
58.2
《
海外中国研究·王羲之:六朝贵族的世界(艺术系列)
》
售價:HK$
178.1
《
唐宋绘画史 全彩插图版
》
售價:HK$
98.6
《
海洋、岛屿和革命:当南方遭遇帝国(文明的另一种声音)
》
售價:HK$
106.4
《
铝合金先进成型技术
》
售價:HK$
266.6
《
英雄之旅:把人生活成一个好故事
》
售價:HK$
87.4
《
分析性一体的涌现:进入精神分析的核心
》
售價:HK$
122.1
《
火枪与账簿:早期经济全球化时代的中国与东亚世界
》
售價:HK$
77.3
|
編輯推薦: |
嵌入式Linux是嵌入式领域重要的操作系统之一,是ARM Cortex-A系列微处理器上重要的操作系统之一,也是嵌入式系统领域和物联网领域内出色的操作系统之一。当前谷歌公司还针对嵌入式系统(基于嵌入式Linux、Android、iOS)推出了适用于机器学习的TensorFlow Lite开发框架,极大地增强了嵌入式人工智能的应用前景。
? 深入阐述,抓住本质:深挖嵌入式Linux与桌面Linux、服务器Linux的异同,完全根据嵌入式系统的特点阐述嵌入式Linux的各方面知识,并与时俱进地介绍主线内核版本的新兴技术。
? 完整系统,与时俱进:增加Yocto Project开源项目、SQLite数据库和嵌入式人工智能TensorFlow Lite应用的相关知识,以满足日益增长的嵌入式开源项目与人工智能数据处理的需求,更符合计算机学科特点。
? 例程丰富,注释翔实:案例源码丰富,从编写小组自身从事的科研项目和实践活动出发,选择具有一定实用价值的项目实例。
? 配套齐全,资料丰富:配套丰富的资源,便于老师教学和读者自学。
|
內容簡介: |
《嵌入式Linux系统原理与应用(微课视频版)》以当前嵌入式系统领域中具有代表性的嵌入式Linux系统作为分析对象,在介绍ARM嵌入式处理器的基础上,阐述了Linux基础、嵌入式Linux开发环境、ARM-Linux内核、嵌入式Linux文件系统、ARM-Linux移植及调试方法、Linux驱动程序的设计等内容; 然后介绍了以Yocto Project开源项目为代表的诸多嵌入式Linux高级编程技术; 最后阐述了嵌入式人工智能TensorFlow Lite和嵌入式数据库SQLite。为便于教学,本书配套了丰富的教学资源,如微课视频(590分钟,47集)、程序代码、教学课件、教学大纲、电子教案、习题及解答、参考试卷等。 《嵌入式Linux系统原理与应用(微课视频版)》可以作为高等学校计算机、电子、电子信息类专业的教材,也可以作为相关嵌入式开发人员的参考用书。
|
目錄:
|
配套资源
第1章嵌入式系统概述(视频讲解: 159分钟,7集)
1.1嵌入式系统简介
1.1.1嵌入式系统的产生
1.1.2嵌入式系统的定义、特点和分类
1.1.3嵌入式系统的典型组成
1.2嵌入式微处理器
1.2.1嵌入式微处理器简介
1.2.2主流嵌入式微处理器
1.3嵌入式操作系统
1.3.1嵌入式Linux
1.3.2Windows CE
1.3.3Huawei LiteOS
1.3.4Android
1.3.5μC/OSⅡ
1.3.6VxWorks
1.3.7RTThread
1.4嵌入式系统的应用领域和发展趋势
1.4.1嵌入式系统的应用领域
1.4.2嵌入式系统的发展趋势
1.5本章小结
习题
第2章ARM处理器体系结构(视频讲解: 137分钟,7集)
2.1ARM处理器
2.1.1ARM处理器简介
2.1.2ARM体系结构发展
2.1.3ARM处理器系列主要产品
2.2CortexA8处理器架构
2.3CortexA8处理器工作模式和状态
2.3.1CortexA8处理器工作模式
2.3.2CortexA8处理器状态
2.4CortexA8存储器管理
2.4.1ARM的基本数据类型
2.4.2浮点数据类型
2.4.3大/小端模式
2.4.4寄存器组
2.4.5CortexA8存储系统
2.5CortexA8异常处理
2.5.1异常向量和优先级
2.5.2异常响应过程
2.5.3异常返回过程
2.6本章小结
习题
第3章Linux基础知识
3.1Linux和Shell
3.2常见Linux发行版本
3.3Linux文件管理
3.3.1查看文件
3.3.2元字符
3.3.3隐藏文件
3.3.4查看文件内容
3.3.5统计单词数目
3.3.6复制文件
3.3.7重命名文件
3.3.8删除文件
3.4Linux目录
3.4.1主目录
3.4.2绝对路径和相对路径
3.4.3创建目录
3.4.4删除目录
3.4.5改变所在目录
3.4.6重命名目录
3.5Linux文件权限和访问模式
3.5.1查看文件权限
3.5.2文件访问模式
3.5.3目录访问模式
3.5.4改变权限
3.5.5更改所有者和用户组
3.6Linux环境变量
3.6.1.profile文件
3.6.2设置终端类型
3.6.3设置PATH变量
3.6.4PS1和PS2变量
3.6.5常用环境变量
3.7Linux yum 命令
3.8Linux apt命令
3.9本章小结
习题
第4章嵌入式Linux开发环境搭建(视频讲解: 26分钟,4集)
4.1vi编辑器
4.1.1进入vi编辑器
4.1.2工作模式
4.1.3退出vi编辑器
4.1.4移动光标
4.1.5控制命令
4.1.6编辑文件
4.1.7删除字符
4.1.8修改文本
4.1.9复制/粘贴
4.1.10运行命令
4.2PC端设置: 超级终端设置
4.2.1设置超级终端
4.2.2使用串口和PC实现文件互传
4.3虚拟机及系统配置服务
4.3.1虚拟机及其虚拟工具安装
4.3.2虚拟机下的配置网络
4.3.3配置PC Linux的FTP服务
4.3.4配置PC Linux的telnet服务
4.3.5配置PC Linux的NFS服务
4.3.6配置PC Windows 的TFTP服务软件
4.4本章小结
习题
第5章ARMLinux内核(视频讲解: 88分钟,10集)
5.1ARMLinux概述
5.1.1GNU/Linux操作系统的基本体系结构
5.1.2ARMLinux内核版本及特点
5.1.3ARMLinux内核的主要架构及功能
5.1.4Linux内核源代码目录结构
5.2ARMLinux进程管理
5.2.1进程的表示和切换
5.2.2进程、线程和内核线程
5.2.3进程描述符task_struct的几个特殊字段
5.2.4do_fork()函数
5.2.5进程的创建
5.2.6线程和内核线程的创建
5.2.7进程的执行——exec函数族
5.2.8进程的终止
5.2.9进程的调度
5.3ARMLinux内存管理
5.3.1ARMLinux内存管理概述
5.3.2ARMLinux虚拟存储空间及分布
5.3.3进程空间描述
5.3.4物理内存管理(页管理)
5.3.5基于slab分配器的管理技术
5.3.6内核非连续内存分配
5.3.7页面回收简述
5.4ARMLinux模块
5.4.1LKM的编写和编译
5.4.2LKM版本差异比较
5.4.3模块的加载与卸载
5.4.4工具集moduleinittools
5.5ARMLinux中断管理
5.5.1ARMLinux中断的一些基本概念
5.5.2内核异常向量表的初始化
5.5.3Linux中断处理
5.5.4内核版本2.6.38后的中断处理系统的一些改变——通用中断子系统
5.6本章小结
习题
第6章Linux文件系统(视频讲解: 15分钟,2集)
6.1Linux文件系统概述
6.2Ext2/Ext3/Ext4文件系统
6.3嵌入式文件系统JFFS2
6.3.1嵌入式文件系统
6.3.2JFFS2嵌入式文件系统
6.4根文件系统
6.4.1根文件系统概述
6.4.2根文件系统的制作工具——BusyBox
6.4.3JFFS2 文件系统的创建
6.5本章小结
习题
第7章嵌入式Linux系统移植及调试(视频讲解: 71分钟,7集)
7.1BootLoader基本概念与典型结构
7.1.1BootLoader基本概念
7.1.2BootLoader的操作模式
7.1.3BootLoader的典型结构
7.1.4常见的BootLoader
7.2UBoot
7.2.1UBoot概述
7.2.2UBoot启动的一般流程
7.2.3UBoot环境变量
7.3交叉开发环境的建立
7.3.1主机与目标机的连接方式
7.3.2主机与目标机的文件传输方式
7.3.3交叉编译环境的建立
7.4交叉编译工具链
7.4.1交叉编译工具链概述
7.4.2工具链的构建方法
7.4.3交叉编译工具链的主要工具
7.4.4资源受限型设备适配的交叉编译工具链
7.4.5Makefile基础
7.5嵌入式Linux系统移植过程
7.5.1UBoot移植
7.5.2内核的配置、编译和移植
7.6GDB调试器
7.7远程调试
7.7.1远程调试工具的构成
7.7.2通信协议RSP
7.7.3远程调试的实现方法及设置
7.7.4远程调试应用实例方法
7.8内核调试
7.8.1printk()
7.8.2Kdb
7.8.3Kprobes
7.8.4KGDB
7.9本章小结
习题
第8章设备驱动程序设计(视频讲解: 58分钟,5集)
8.1设备驱动程序开发概述
8.1.1Linux设备驱动程序分类
8.1.2驱动程序的处理过程
8.1.3设备驱动程序框架
8.1.4驱动程序的加载
8.2内核设备模型
8.2.1设备模型功能
8.2.2sysfs
8.2.3sysfs的实现机制kobject
8.2.4设备模型的组织——platform总线
8.2.5设备树
8.3字符设备驱动设计框架
8.3.1字符设备的重要数据结构
8.3.2字符设备驱动框架
8.4嵌入式网络设备驱动设计
8.4.1网络设备驱动程序框架
8.4.2网络设备驱动程序关键数据结构
8.4.3网络设备驱动程序设计方法概述
8.5网络设备驱动程序示例——网卡DM9000驱动程序分析
8.6本章小结
习题
第9章嵌入式Linux高级编程(视频讲解: 36分钟,5集)
9.1嵌入式Linux下的socket编程
9.1.1socket()函数简介
9.1.2socket中TCP交互过程
9.1.3设计步骤
9.2Linux多线程应用程序设计
9.2.1线程相关操作涉及的主要函数
9.2.2互斥锁相关操作涉及的主要函数
9.2.3设计步骤
9.3一个简单的Linux驱动程序
9.4通过Yocto Project构建Linux
9.4.1Yocto Project概述
9.4.2快速构建典型镜像
9.5嵌入式人工智能TensorFlow Lite
9.5.1TensorFlow Lite中使用MobileNet
9.5.2编译过程
9.5.3在ARM开发板上运行TensorFlow Lite
9.6基于ARMLinux的嵌入式Web服务器设计
9.6.1系统环境搭建
9.6.2Web服务器原理
9.6.3嵌入式Web服务器设计
9.7嵌入式Linux中的SQLite应用
9.7.1SQLite安装
9.7.2SQLite在ARMLinux上的移植与测试
9.8本章小结
习题
参考文献
|
內容試閱:
|
嵌入式计算机技术是21世纪计算机技术的重要发展方向之一,应用领域十分广泛且增长迅速,据估计未来十年中95%的微处理器和65%的软件被应用于各种嵌入式系统中。技术的发展和生产力的提高离不开人才的培养,目前业界对嵌入式技术人才的需求巨大,尤其在迅速发展的电子、通信、计算机等领域,这种需求更为显著。另外,企业对嵌入式系统开发从业者的工程实践能力、经验要求也越来越重视,因此目前国内外很多专业协会和高校都在致力于嵌入式相关课程体系的建设,结合嵌入式系统的特点,在课程内容设计、师资队伍建设、教学方法探索、教学条件和实验体系建设等方面取得了较好成效。
嵌入式Linux是嵌入式领域内重要的操作系统,是ARM CortexA系列微处理器上重要的操作系统之一,也是嵌入式系统领域和物联网领域内出色的操作系统之一。当前谷歌公司还针对嵌入式系统(基于嵌入式Linux、Android、iOS)推出了适用于机器学习的TensorFlow Lite开发框架,极大地增强了嵌入式人工智能的应用前景。
本书特色
(1) 深挖嵌入式Linux与桌面Linux、服务器Linux的异同,完全根据嵌入式系统的特点阐述嵌入式Linux的各方面知识,并与时俱进地介绍主线内核版本的新兴技术。
(2) 嵌入式Linux需要底层硬件支持。本书采用ARMv7版本的CortexA8处理器架构作为系统核心处理器架构,取代原有ARM7/ARM9处理器架构。ARM9架构作为国内嵌入式系统教学主要选择架构已超过十年,一方面在市场上已经难觅芯片其踪,另一方面国内高校ARM9实验平台也已经普遍超期服役,在未来两年内将迎来实验设备普遍更换的潮流。在更新设备的可选择资源中,CortexA8处理器架构的实验实训平台具有极高的性价比、良好的扩展性和众多嵌入式设备厂家支持,同时CortexA8处理器架构目前属于技术上稳定的处理器架构,有较多相关的嵌入式实验平台可供选择。因此选择CortexA8处理器架构作为教材主要介绍的处理器架构既是嵌入式市场的需求,也是理论教学和实验教学上与时俱进的需要。
(3) 与同类教材相比,增加Yocto Project开源项目、SQLite数据库和嵌入式人工智能TensorFlow Lite应用相关知识,以满足日益增长的嵌入式开源项目与人工智能数据处理需求,更符合计算机学科特点。
(4) 本书案例代码丰富,从编写小组自身从事的科研项目和实践活动出发,选择具有一定实用价值的项目实例。
本书内容
本书共9章。第1章介绍了嵌入式系统的基本概念、特点、分类、应用场景和发展趋势; 第2章介绍了ARM处理器的系统结构; 第3章介绍了Linux的基础知识; 第4章介绍了嵌入式Linux开发环境的构建要点; 第5章介绍了ARMLinux内核相关知识; 第6章介绍了Linux文件系统; 第7章介绍了嵌入式Linux系统的移植过程和调试方法; 第8章介绍了嵌入式Linux的驱动程序; 第9章介绍了嵌入式Linux高级编程技术。
本书建议的课程教学包括课堂教学、课堂研讨、课堂及课后习题、实验4部分,包括9章的理论教学和7次实验。课内理论教学58学时、实验14学时。
配套资源
程序代码、工程文件等资源: 扫描目录上方的“配套资源”二维码下载。
课件、大纲等资源: 扫描封底的“书圈”二维码在公众号下载,或者到清华大学出版社官方网站本书页面下载。
微课视频(590分钟,47集): 扫描书中相应章节中的二维码在线学习。
注: 请先扫描封底刮刮卡中的文泉云盘防盗码进行绑定后再获取配套资源。
在本书的编写过程中,王剑负责第1章、第5~8章的编写工作和全书的统稿,孙庆生负责第2~4章和第9章的编写工作。本书的编写也得到了叶玲和王子瑜小朋友的鼓励和支持,清华大学出版社的工作人员也给予了大力支持,在此表示衷心的感谢。
本书参考了国内外的许多技术资料,书末有具体的参考文献,有兴趣的读者可以查阅相关信息。
限于编者水平,书中错误或者不妥之处在所难免,敬请广大读者批评指正和提出宝贵意见。
王剑2023年3月
|
|