本书系统讲解了嵌入式Linux开发流程中的各个步骤,详细解析各个流程中的疑点、难点。本书分3个部分,共12章:第一部分为基础知识篇,主要讲解嵌入式系统与Linux相关的基础知识;第二部分为开发入门篇,主要介绍嵌入式开发的基本方法,这部分是本书的重点,也是嵌入式Linux学习的难点,读者要认真学习;第三部分是提高篇,主要包括第10章驱动程序的开发、第11章嵌入式Linux的图形设计;第12章给出了一个开发实例,使读者能系统地了解嵌入式Linux的开发过程。
网站首页 软件下载 游戏下载 翻译软件 电子书下载 电影下载 电视剧下载 教程攻略
书名 | 嵌入式Linux系统开发教程(高等学校计算机应用规划教材) |
分类 | 计算机-操作系统 |
作者 | 贺丹丹//张帆//刘峰 |
出版社 | 清华大学出版社 |
下载 | ![]() |
简介 | 编辑推荐 本书系统讲解了嵌入式Linux开发流程中的各个步骤,详细解析各个流程中的疑点、难点。本书分3个部分,共12章:第一部分为基础知识篇,主要讲解嵌入式系统与Linux相关的基础知识;第二部分为开发入门篇,主要介绍嵌入式开发的基本方法,这部分是本书的重点,也是嵌入式Linux学习的难点,读者要认真学习;第三部分是提高篇,主要包括第10章驱动程序的开发、第11章嵌入式Linux的图形设计;第12章给出了一个开发实例,使读者能系统地了解嵌入式Linux的开发过程。 内容推荐 本书系统论述了在Linux环境下开发嵌入式系统的设计思想、设计方法及开发流程,通过实例与设计项目,帮助读者尽快掌握嵌入式系统的基本概念,提高嵌入式设计技能。本书共12章,内容包括嵌入式基础知识、Linux概述、ARM体系架构、嵌入式编程、交叉工具链、bootloader、定制内核、文件系统、驱动程序开发基础、嵌入式图形设计等。本书的最后给出了一个综合实例,帮助读者理解嵌入式Linux的开发方法和技巧。 本书可作为高校计算机、通信、电子专业相关课程的教材,也可供广大嵌入式开发人员参考。 目录 第1章 嵌入式系统基础 1 1.1 嵌入式系统 1 1.1.1 嵌入式系统的概念 1 1.1.2 嵌入式系统的组成 3 1.1.3 嵌入式系统的发展 5 1.1.4 嵌入式系统的应用前景 7 1.2 嵌入式处理器 11 1.2.1 嵌入式微控制器(EMCU) 11 1.2.2 嵌入式微处理器(EMPU) 11 1.2.3 嵌入式数字信号处理器(EDSP) 12 1.2.4 嵌入式片上系统(ESOC) 13 1.3 嵌入式操作系统 13 1.3.1 Linux 14 1.3.2 VxWorks 15 1.3.3 WinCE 15 1.3.4 Palm 16 1.3.5 μC/OS-II 16 1.3.6 eCos 17 1.4 嵌入式系统设计 17 1.4.1 嵌入式系统开发流程 17 1.4.2 嵌入式系统开发方法 19 思考与练习 20 第2章 Linux基础 23 2.1 Linux 简介 23 2.1.1 Linux 的历史 24 2.1.2 linux特点 24 2.1.3 Linux与Windows 26 2.1.4 Linux的主要组成部分 28 2.1.5 Linux的种类和特性 31 2.2 图形操作界面 37 2.2.1 Linux与图形界面 38 2.2.2 KDE 39 2.2.3 GNOME 41 2.2.4 GNOME与KDE发展趋势 42 2.3 Linux的基本命令行操作 43 2.3.1 目录操作 44 2.3.2 文件操作 50 2.3.3 压缩、解压与打包 54 2.3.4 磁盘管理 55 2.3.5 用户系统 57 2.3.6 网络管理 59 2.4 Linux内核 61 思考与练习 62 第3章 ARM体系架构 65 3.1 ARM微处理器简介 65 3.1.1 ARM微处理器的发展 65 3.1.2 ARM微处理器的特点和应用 66 3.2 ARM微处理器系列 67 3.2.1 ARM7系列 67 3.2.2 ARM9系列 68 3.2.3 ARM9E系列 68 3.2.4 ARM10E系列 69 3.2.5 ARM11系列 69 3.2.6 SecurCore系列 70 3.2.7 StrongARM系列 70 3.2.8 Xscale处理器 70 3.3 ARM编程模型 70 3.3.1 ARM硬件架构 71 3.3.2 ARM微处理器模式 71 3.3.3 ARM寄存器 72 3.3.4 异常处理 73 3.3.5 ARM的存储器组织 77 3.4 ARM指令系统 79 3.4.1 ARM指令格式 79 3.4.2 ARM指令的寻址方式 80 3.4.3 ARM最常用指令和条件后缀 82 3.5 ARM微处理器的应用选型 84 思考与练习 85 第4章 嵌入式编程 87 4.1 ARM汇编语言程序设计 87 4.1.1 ARM汇编语言中的程序结构 87 4.1.2 ARM汇编语言的语句格式 88 4.1.3 基于Linux下GCC的汇编语言程序结构 89 4.1.4 基于Windows下ADS的汇编语言程序结构 90 4.1.5 ARM汇编器所支持的伪指令 91 4.2 ARM汇编与C语言编程 95 4.2.1 基本的ATPCS规则 96 4.2.2 C语言中内嵌汇编代码 98 4.2.3 从汇编程序中访问C程序变量 99 4.2.4 汇编代码中调用C函数 100 4.2.5 C语言代码中调用汇编函数 103 4.3 基于Linux 的C语言编程 104 4.3.1 C语言编程概述 104 4.3.2 Linux下的C开发工具 104 4.3.3 vi编辑器 105 4.3.4 gedit编辑器 109 4.3.5 编译器gcc 111 4.3.6 调试器gdb 114 4.3.7 项目管理器make 117 思考与练习 120 第5章 软硬件开发环境 123 5.1 硬件环境 123 5.1.1 主机硬件环境 123 5.1.2 目标板硬件环境 124 5.2 Windows软件环境 124 5.2.1 超级终端的设置 125 5.2.2 DNW的设置 127 5.2.3 设置GIVEIO驱动 128 5.2.4 设置USB驱动 130 5.3 Linux软件环境 132 5.3.1 Linux系统的VMware安装 133 5.3.2 Windows与Ubuntu双系统安装 139 5.3.3 Linux网络服务配置 140 5.3.4 配置NFS服务 141 5.3.5 配置FTP服务 144 5.4 刻录镜像文件 145 5.4.1 刻录工具 145 5.4.2 使用方法 145 思考与练习 147 第6章 交叉编译工具 149 6.1 工具链软件 149 6.1.1 工具链组成 149 6.1.2 构建工具链 150 6.2 分步构建交叉编译链 151 6.2.1 准备工具 151 6.2.2 基本过程 151 6.2.3 详细步骤 152 6.3 用Crosstool工具构建交叉工具链 159 6.3.1 准备工具 159 6.3.2 基本过程 159 6.3.3 详细步骤 160 6.4 使用现成的交叉工具 163 思考与练习 164 第7章 Bootloader详解及移植 167 7.1 嵌入式Bootloader简介 167 7.1.1 Bootloader功能 167 7.1.2 基于Bootloader软件架构 168 7.1.3 Bootloader的操作模式 169 7.1.4 Bootloader的依赖性 169 7.1.5 Bootloader的启动方式 170 7.1.6 Bootloader启动流程 172 7.1.7 各种Bootloader 173 7.2 Vivi 175 7.2.1 Vivi简介 175 7.2.2 Vivi体系架构 175 7.2.3 Vivi的运行过程分析 176 7.2.4 Vivi的配置与编译 189 7.2.5 Vivi命令 190 7.3 Bootloader程序的调试和烧写 193 思考与练习 193 第8章 定制内核移植 195 8.1 Linux内核源码组织 195 8.2 内核基本配置 197 8.2.1 内核配置系统 197 8.2.2 Makefile 198 8.2.3 具体的配置操作 203 8.2.4 添加自己的代码 207 8.3 内核定制 210 8.3.1 获取源码 210 8.3.2 移植过程 210 8.4 内核裁剪 218 8.4.1 取消虚拟内存的支持 219 8.4.2 取消多余的调度器 219 8.4.3 取消对旧版本二进制执行文件的支持 219 8.4.4 取消不必要的设备的支持 219 8.4.5 取消不需要的文件系统的支持 220 思考与练习 220 第9章 嵌入式Linux文件系统 223 9.1 嵌入式Linux的文件系统 223 9.1.1 文件系统结构 223 9.1.2 文件系统特性 224 9.1.3 系统存储设备及其管理机制 225 9.1.4 基于FLASH闪存的文件系统 226 9.1.5 基于RAM的文件系统 228 9.1.6 网络文件系统 230 9.2 根文件系统及其定制 230 9.2.1 根文件系统架构 230 9.2.2 定制工具Busybox 232 9.2.3 库文件构建 241 9.2.4 设备文件的构建 243 9.2.5 根文件系统初始化 243 9.3 文件系统的制作 247 9.3.1 根文件系统的制作 247 9.3.2 NFS文件系统的制作 253 9.3.3 Cramfs文件系统的制作 254 9.3.4 Yaffs文件系统的制作 257 9.3.5 Ramdisk文件系统的制作 257 思考与练习 261 第10章 嵌入式Linux驱动程序开发基础 263 10.1 嵌入式Linux驱动程序概述 263 10.1.1 Linux驱动程序工作原理 263 10.1.2 Linux驱动程序功能 265 10.2 设备驱动程序的基础知识 265 10.2.1 Linux的设备管理机制 265 10.2.2 驱动层次结构 269 10.2.3 设备驱动程序与外界的接口 270 10.2.4 设备驱动程序的特点 270 10.2.5 驱动程序开发流程 271 10.3 模块编程 271 10.3.1 模块与内核 271 10.3.2 建立模块文件 272 10.3.3 编写makefile 273 10.3.4 模块加载 274 10.3.5 模块的其他信息 275 10.3.6 模块参数 275 10.4 字符设备驱动程序 276 10.4.1 相关的数据结构 276 10.4.2 字符设备驱动程序开发流程 282 10.4.3 字符设备驱动程序扩展操作 291 10.5 网络设备驱动程序 293 10.5.1 基本概念 293 10.5.2 网络数据包处理流程 298 思考与练习 300 第11章 嵌入式Linux图形设计 303 11.1 嵌入式GUI 303 11.1.1 嵌入式GUI简介 303 11.1.2 嵌入式GUI需求 304 11.1.3 嵌入式GUI组成 305 11.1.4 Qt/Embedded 306 11.1.5 MiniGUI 307 11.1.6 MicroWindows 310 11.1.7 OpenGUI 311 11.1.8 Tiny-X 312 11.1.9 各种GUI比较 312 11.2 Qt/Embedded开发入门 313 11.2.1 Qt/Embedded简介 313 11.2.2 Qt/Embedded架构 313 11.2.3 Qt的开发环境 315 11.2.4 Qt的支撑工具及组件 316 11.2.5 Qt/Embedded对象模型 317 11.2.6 信号与插槽机制 319 11.2.7 Qt/Embedded常用的类 322 11.3 Qt/Embedded安装 324 11.3.1 配置 325 11.3.2 编译 325 11.3.3 测试 325 11.4 Qt设计实例—— 密码验证程序 325 11.4.1 QDevelop和Qt Designer快速安装 326 11.4.2 界面设计 327 11.4.3 信号与槽 329 11.4.4 添加代码 331 11.4.5 编译 334 11.4.6 程序测试 335 11.4.7 移植 335 思考与练习 336 第12章 嵌入式视频监视系统开发实例 339 12.1 系统设计背景 339 12.2 系统总体设计 340 12.2.1 系统总体设计思路 340 12.2.2 系统的设计要求及特点 340 12.2.3 系统总体架构设计 340 12.3 系统详细设计 342 12.3.1 系统的硬件设计与调试 342 12.3.2 系统的软件设计与调试 345 12.3.3 USB数据输入驱动程序移植 353 12.3.4 USB摄像头数据输入驱动程序测试 354 12.3.5 嵌入式网络视频服务器的设计 355 12.3.6 Video4Linux程序设计 356 12.4 系统测试 358 12.4.1 准备工作 358 12.4.2 测试方法 358 12.4.3 测试结果 358 |
随便看 |
|
霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。