出版时间:2008-11 出版社:电子工业出版社 作者:杨水清 等编著 页数:620 字数:1095000
Tag标签:无
前言
你想知道手中的MP4由什么组成吗?你想亲手制作一个电子相框吗?你想深入研究操作系统内核,学习编写驱动程序吗?你想为嵌入式系统设计功能强大的图形界面吗?你想知道一个真实的嵌入式系统是如何从无到有建立起来的吗?本书将从作者亲身开发的经验带给你详细实用的解答!嵌入式Linux开发的前景嵌入式产业发展迅猛,已成为计算机体系的重要组成部分。嵌入式系统产品正不断渗透各个行业,其产业增幅也不断加大。在计算机后PC技术时代,嵌入式系统将拥有最大的市场。任何一个普通人都可以拥有从小到大的各种使用嵌入式技术的电子产品,小到手机、MP3等,大到智能家电、车载电子设备等。在工业和服务领域中,使用了嵌入式技术的数字机床、工业机器人、安全系统等也在逐渐改变传统工业和服务方式。正是因为有如此大的需求,所以促使笔者结合多年的开发经验,编写了本书。编辑本段本书特点1.注重读者的学习与接受情况:在嵌入式Linux系统下进行开发,一个很大的困难就是各种工具纷繁复杂,不知从何入手。本书在每个部分都安排了一章,引导读者一步一步熟悉各种开发工具和环境,使读者首先建立起感性认识,为进一步深入学习打下基础。2.代码注释规范细致:为了便于读者学习,在实例代码中,进行了非常详细的注释。这些注释可以引导读者理解和掌握编写程序的关键过程。例如下面的代码,是C语言标准库章节中的实例。在实例中,对代码的文件名、代码的作用和重要函数的功能提示,都体现在了代码注释中。
内容概要
本书由浅入深、通俗易懂地讲解了嵌入式Linux的系统设计与开发。全书共25章,从嵌入式处理器ARM开始,讲解了ARM处理器的资源、ARM的指令集、ADS开发工具、嵌入式系统硬件环境的构建、Boot Loader、Linux内核移植、嵌入式文件系统、嵌入式Linux多任务程序开发、嵌入式Linux设备驱动开发、嵌入式Linux网络程序开发、MiniGUI图形界面开发、设备驱动开发案例、综合案例等内容。书中通过大量的例程来讲解知识要点,并提供了大量极有参考价值的开发案例,读者可以通过这些例程和开发案例对嵌入式Linux开发有一个系统的学习和提高。 本书共有四个方面的内容。在嵌入式系统的硬件结构中讲述了嵌入式处理器ARM的特点、嵌入式系统硬件环境的构建和ADS开发工具的使用。在嵌入式Linux系统移植中讲述了目标板软件环境的构建,主要包括Boot Loader、Linux内核、文件系统以及交叉开发环境的构建。在嵌入式Linux软件开发中讲述了嵌入式Linux C语言开发工具的使用、标准库的使用、多任务开发基础和设备驱动开发基础。在嵌入式应用系统实例分析中讲述了嵌入式Linux的网络程序开发、MiniGUI图形界面开发、CAN总线设备驱动设计、DM9000网络驱动设计、SD卡驱动设计和嵌入式B超系统设计。 本书语言通俗易懂,内容丰富,注重理解与实例,知识涵盖面广。非常适合从事嵌入式Linux系统开发的初级工程师、高校学生、Linux程序开发人员阅读和学习。
作者简介
杨水清,国防科技大学电子科学与工程学院ATR实验室工程师,主要从事ASIC、嵌入式系统硬件开发及红外目标自动识别等领域的研究工作,曾经参与多项重大科技项目攻关。
书籍目录
第1章 嵌入式系统概述 1.1 嵌入式系统简介 1.1.1 嵌入式系统 1.1.2 嵌入式系统的特点 1.1.3 嵌入式系统的发展趋势 1.2 嵌入式系统中的处理器 1.2.1 微处理器 1.2.2 微控制器 1.2.3 数字信号处理器 1.2.4 嵌入式片上系统 1.3 嵌入式系统中的软件系统 1.3.1 嵌入式系统中的软件系统 1.3.2 嵌入式系统软件开发的一般过程 1.3.3 嵌入式应用程序的开发 1.4 本章小结 第2章 快速体验——目标板 2.1 目标板结构 2.2 ARM初体验 2.2.1 测试ARM处理器 2.2.2 安装ADS 1.2 2.2.3 安装Multi-ICE和配置AXD 2.2.4 ADS的简单使用 2.2.5 使用Telnet和ftp 2.3 本章小结 第3章 ARM的内部资源 3.1 S3C2440微处理器 3.1.1 主要结构 3.1.2 片内资源 3.1.3 体系结构 3.2 S3C2440存储器映射 3.2.1 bank0总线宽度 3.2.2 nWAIT引脚的作用 3.2.3 nXBREQ/nXBACK引脚操作 3.3 S3C2440内部资源详解 3.3.1 Cache高速缓存 3.3.2 时钟和电源管理 3.3.3 中断控制器 3.3.4 脉冲带宽调制定时器(PWM) 3.3.5 实时时钟(RTC) 3.3.6 通用I/O端口 3.3.7 LCD控制器 3.3.8 UART控制器 3.3.9 A/D转换和触摸屏接口 3.3.10 看门狗定时器 3.3.11 IIC总线接口 3.3.12 AC97音频解码器接口 3.3.13 USB设备控制器 3.3.14 SD接口 3.3.15 SPI接口 3.3.16 相机接口 3.3.17 工作电压 3.4 本章小结 第4章 熟悉ARM处理器 4.1 为什么用ARM 4.2 ARM公司简介 4.3 ARM微处理器系列 4.3.1 ARM7微处理器 4.3.2 ARM9微处理器 4.3.3 ARM10微处理器 4.3.4 ARM11微处理器 4.4 ARM微处理器的结构 4.4.1 体系结构 4.4.2 寄存器结构 4.4.3 指令结构 4.5 ARM微处理器的选择 4.5.1 内核的选择 4.5.2 工作频率的选择 4.5.3 芯片内存储器的选择 4.5.4 片内外围电路的选择 4.6 ARM的指令集概述 4.6.1 ARM微处理器的指令分类和格式 4.6.2 指令的条件域 4.7 ARM指令的寻址方式 4.7.1 立即寻址 4.7.2 寄存器寻址 4.7.3 寄存器间接寻址 4.7.4 基址变址寻址 4.7.5 多寄存器寻址 4.7.6 相对寻址 4.7.7 堆栈寻址 4.8 ARM指令集详解 4.8.1 跳转指令 4.8.2 数据处理指令 4.8.3 乘法指令与乘加指令 4.8.4 程序状态寄存器访问指令 4.8.5 加载/存储指令 4.8.6 批量数据加载/存储指令 4.8.7 数据交换指令 4.8.8 移位指令 4.8.9 协处理器指令 4.8.10 异常产生指令 4.9 本章小结 第5章 熟悉ADS集成开发环境 5.1 命令行开发工具 5.1.1 armcc介绍 5.1.2 armcc用法详解 5.1.3 armlink介绍 5.1.4 armlink用法详解 5.1.5 ARM运行时库 5.1.6 CodeWarrior集成开发环境 5.1.7 ADS调试器 5.1.8 实用程序 5.1.9 支持的软件 5.2 使用ADS创建工程 5.2.1 建立一个工程 5.2.2 编译和链接工程 5.2.3 target设置选项 5.2.4 Language Settings 5.2.5 Linker设置 5.2.6 ARM fromELF工具 5.2.7 命令行下编译工程 5.3 使用AXD调试代码 5.3.1 打开调试文件 5.3.2 查看存储器内容 5.3.3 设置断点 5.3.4 查看变量值 5.4 本章小结 第6章 ARM的外部电路 6.1 核心板电路 6.1.1 晶振电路 6.1.2 复位电路 6.1.3 启动配置电路 6.1.4 FLASH接口 6.1.5 SDRAM接口 6.2 底板电路 6.2.1 电源电路 6.2.2 串口电路 6.2.3 USB接口 6.2.4 以太网接口 6.2.5 JTAG调试接口 6.2.6 音频接口 6.2.7 LCD接口 6.2.8 SD卡接口 6.3 本章小结 第7章 嵌入式操作系统概述 7.1 操作系统的结构和功能 7.2 进程管理 7.2.1 进程的描述 7.2.2 进程的调度 7.3 存储管理 7.3.1 存储器的体系结构 7.3.2 内存管理的基本概念 7.3.3 连续分配存储管理方式 7.3.4 页式存储管理方式 7.4 文件管理 7.4.1 文件 7.4.2 目录 7.4.3 EXT2文件系统 7.5 设备管理 7.5.1 设备的分类 7.5.2 数据传输控制方式 7.5.3 中断处理 7.5.4 设备驱动程序 7.6 嵌入式操作系统的特点 7.6.1 嵌入式操作系统的发展 7.6.2 嵌入式操作系统的优势 7.6.3 嵌入式操作系统的分类 7.7 常见的嵌入式操作系统 7.7.1 VxWorks 7.7.2 pSOS 7.7.3 Palm OS 7.7.4 QNX 7.7.5 Windows CE 7.7.6 μC/OS-II 7.7.7 嵌入式Linux 7.8 本章小结 第8章 快速体验——构建开发环境 8.1 交叉开发环境介绍 8.2 主机与目标板的连接方式 8.2.1 串口通信接口 8.2.2 以太网接口 8.2.3 USB接口 8.2.4 JTAG接口 8.3 建立主机开发环境 8.3.1 Ubuntu .06的安装 8.3.2 Minicom的安装配置 8.3.3 Tftp服务的安装配置 8.3.4 NFS的安装配置 8.3.5 建立交叉工具链 8.4 启动目标板系统 8.4.1 Bootloader和Kernel 8.4.2 根文件系统 8.5 本章小结 第9章 Linux使用基础 9.1 Linux的基本概念 9.1.1 文件 9.1.2 目录 9.1.3 分区 9.1.4 挂载 9.1.5 用户系统 9.1.6 用户权限 9.1.7 shell 9.1.8 环境变量 9.2 Linux的命令行 9.2.1 执行命令 9.2.2 参数 9.2.3 重定向符号 9.2.4 获取帮助 9.3 Linux的常用命令 9.3.1 文件管理 9.3.2 内容管理 9.3.3 权限管理 9.3.4 备份压缩 9.3.5 系统设置 9.3.6 进程控制 9.3.7 网络设置 9.4 本章小结 第10章 Boot Loader 10.1 Boot Loader的概念 10.1.1 Boot Loader所支持的嵌入式体系 10.1.2 Boot Loader的安装位置 10.1.3 Boot Loader的启动过程 10.1.4 Boot Loader与主机的通信 10.1.5 Boot Loader的操作模式 10.2 Boot Loader的基本结构 10.2.1 Boot Loader的stage1 10.2.2 Boot Loader的stage2 10.3 vivi简介 10.3.1 vivi的体系架构 10.3.2 vivi启动的第一阶段 10.3.3 vivi启动的第二阶段 10.4 vivi的基本命令 10.4.1 mem命令 10.4.2 load命令 10.4.3 part命令 10.4.4 param命令 10.4.5 boot命令 10.4.6 go命令 10.4.7 bon命令 10.4.8 reset命令 10.4.9 help命令 10.5 U-Boot简介 10.5.1 U-Boot的特点 10.5.2 U-Boot的目录结构 10.5.3 U-Boot的启动过程 10.5.4 U-Boot的移植 10.6 U-Boot的基本命令 10.6.1 设置环境变量 10.6.2 数据通信 10.6.3 存储器操作 10.6.4 系统引导 10.6.5 其他 10.7 本章小结 第11章 Linux内核移植 第12章 嵌入式Linux文件系统 第13章 嵌入式Linux C语言开发工具 第14章 快速体验——嵌入式C语言开发流程 第15章 嵌入式Linux C语言基础 第16章 嵌入式Linux C语言标准库 第17章 嵌入式Linux的多任务编程 第18章 多任务间通信和同步 第19章 设备驱动开发基础 第20章 嵌入式Linux的网络编程 第21章 MiniGUI图形界面设计 第22章 CAN总线驱动设计 第23章 SD卡驱动设计 第24章 网络驱动设计 第25章 综合案例——嵌入式B超
编辑推荐
继《Windows驱动开发技术详解》之后又一本心血力作!原创经典,嵌入式系统一线工程师倾力打造。深入Linux系统底层和内核,透析ARM嵌入式Linux系统开发的本质。通过嵌入式系统开发实例,归纳ARM嵌入式Linux系统开发的整个过程。 内容循序渐进,从硬件平台诜择、开发环境构建、Linux移植到软硬件协同调试等一气呵成,介绍了多种工具软件,如ADS、VIM、GCC、GDB、MAKE、Eclipse等,紧跟ARM嵌入式系统开发技术步伐,深入讲解嵌入式Linux的多任务编程、网络编程等,通过实例讲解CAN总线、SD卡、网络设备等驱动程序的具体开发过程,详细讲解开发嵌入式B超综合案例,总结实际项国开发过程。
图书封面
图书标签Tags
无
评论、评分、阅读与下载