嵌入式Linux开发技术与应用
分類: 图书,计算机/网络,操作系统/系统开发,LINUX ,
作者: 李超,肖建编著
出 版 社: 电子工业出版社
出版时间: 2008-5-1字数: 678000版次: 1页数: 410印刷时间: 2008/05/01开本: 16开印次: 1纸张: 胶版纸I S B N : 9787121063749包装: 平装编辑推荐
嵌入式系统是软、硬件相结合的应用系统,涉及多门科学知识。在这些知识体系结构中,有两个核心:嵌入式微处理器和嵌入式操作系统,要想培养出合格的嵌入式人才,必须紧紧围绕这两个核心因材施教。本书以S3C2440微处理器为例,结合嵌入式Linux操作系统,详细讨论了其硬件结构和软件架构,从嵌入式理论和应用的角度阐述嵌入式系统的基本原理和实际应用开发。
内容简介
本书以ARM微处理器为例,详细介绍了嵌入式系统基本原理和相关设计技术。书中内容均为作者多年从事嵌入式教学和科研经验之积累,内容翔实,阐述清晰,使读者能够深刻掌握嵌入式系统的基本原理和Linux应用程序的设计与开发。
全书共分12章,内容包括:第1章详细介绍了嵌入式系统的基本概念,给读者构建了一个嵌入式系统的轮廓;第2章重点介绍了ARM相关知识,包括ARM微处理器、ARM编程模型、ARM指令系统和ARM程序设计;第3~5章以S3C2440嵌入式微处理器为例,介绍了其体系结构、接口电路设计以及相关底层函数编写等内容;第6~11章介绍了嵌入式Linux相关概念,通过这些内容学习,读者可以了解到嵌入式Linux系统下程序开发基础知识、嵌入式Linux体系结构、内存管理、文件系统、进程管理和驱动程序设计等知识;第12章以嵌入式移动打印终端项目为例,详细介绍了嵌入式系统硬件设计及其软件开发,使读者对前面所学知识有更系统的掌握。
本书有完善的实验设备和教学课件与之配套,可作为高等院校通信类、电子类、信息类和理工类以及其他学科本科生教材使用,也可供研究生和嵌入式开发人员使用。
目录
第1章 引言
1.1 嵌入式系统概述
1.1.1 嵌入式系统历史
1.1.2 嵌入式系统定义
1.1.3 嵌入式系统的应用
1.1.4 嵌入式系统的特点
1.2 嵌入式处理器
1.2.1 嵌入式微控制器
1.2.2 嵌入式微处理器
1.2.3 嵌入式DSP处理器
1.2.4 嵌入式片上系统(System On Chip)
1.3 嵌入式操作系统
1.3.1 VxWorks嵌入式操作系统
1.3.2 WinCE
1.3.3 RT-Linux
1.3.4 uCLinux
1.3.5 Palm
1.4 嵌入式系统设计
1.4.1 嵌入式系统开发流程
1.4.2 嵌入式系统开发模式
第2章 ARM体系架构及汇编程序设计
2.1 ARM微处理器介绍
2.1.1 ARM微处理器的历史发展
2.1.2 ARM微处理器的特点和应用
2.1.3 ARM微处理器家族
2.2 ARM编程模型
2.2.1 ARM微处理器模式
2.2.2 ARM寄存器
2.2.3 异常处理
2.2.4 ARM的储存器组织
2.3 ARM指令系统
2.3.1 ARM指令格式
2.3.2 ARM指令的寻址方式
2.3.3 ARM最常用指令和条件后缀
2.4 ARM汇编语言程序设计
2.4.1 ARM汇编语言中的程序结构
2.4.2 ARM汇编器所支持的伪指令
2.4.3 ARM汇编语言与C/C++的混合编程
2.5 汇编程序综合实验
2.5.1 流程图设计
2.5.2 详细代码设计
第3章 嵌入式S3C2440处理器
3.1 S3C2440芯片概述一
3.1.1 特性
3.1.2 引脚信息
3.2 S3C2440微处理器功能模块
3.2.1 处理器核体系架构
3.2.2 S3C2440存储系统
3.2.3 S3C2440启动加载模式
3.2.4 LcD屏/触摸屏支持模块
3.2.5 时钟和电源管理
第4章 接口技术
4.1 看门狗接口设计
4.1.1 S3C2440处理器看门狗
4.1.2 看门狗使用实例
4.2 S3C2440微处理器GPIO接口设计
4.2.1 GPIO口概述
4.2.2 端口控制
4.2.3 基于GPIO口的LED灯设计
4.3 UART设计
4.3.1 S3C2440串口概述
4.3.2 UART操作
4.3.3 UART寄存器
4.3.4 串行接口电路设计及编程
4.4 S3C2440中断管理及设计
4.4.1 中断控制器
4.4.2 中断源
4.4.3 中断优先级模块
4.4.4 中断控制器中端口寄存器
4.4.5 中断程序架构设计
第5章 嵌入式BootLoader设计
5.1 嵌入式BootLoader简介
5.1.1 嵌入式系统软件体系架构
5.1.2 各式各样BootLoader
5.2 典型嵌入式BootLoader——Vivi
5.2.1 vivi简介
5.2.2 vivi的配置与编译
5.2.3 vivi的使用
5.2.4 vivi代码体系架构分析
5.2.5 vivi系统配置浅析
5.2.6 vivi代码启动分析
第6章 嵌入式Linux编程基础
6.1 嵌入式集成交叉编译环境
6.1.1 构建嵌入式交叉编译环境
6.1.2嵌入式交叉编译环境构成
6.1.3 嵌入式常用交叉编译工具的使用
6.2 Makefile原理与使用
6.2.1 make工具和Makefile文件
6.2.2 Makefile基本结构
6.2.3 Makefile变量
6.2.4 Makefile高级规则的使用
6.2.5 Makefile中函数的使用
6.2.6 make工具的使用
6.2.7 Makefile举例
6.2.8 使用automake生成Makefile
6.3 应用程序调试
6.3.1 ARM调试方法简介
6.3.2 GDB本地调试
6.3.3 DDD图形调试工具
6.3.4 嵌入式开发板远程调试
6.4 嵌入式Linux库的使用
6.4.1 库的概述
6.4.2 库的命名与分类
6.4.3 创建静态库
6.4.4 创建共享库
6.4.5 静态库VS共享库实验
第7章 嵌入式Linux操作系统
7.1 嵌入式Linux发展
7.2 嵌入式Linux内核结构
7.3 进程暨进程调度
7.3.1 进程概述
7.3.2 Linux下对进程的描述
7.3.3 进程调度
7.4 内存管理
7.4.1 内存管理的本质特征
7.4.2 地址映射模型
7.5 中断管理系统
7.5.1 构建ARM-Linux中断系统骨架
7.5.2 ARM-Linux系统下中断响应
7.6 系统调用
7.6.1 系统调用原理
7.6.2 嵌入式系统调用实例
7.7 文件系统
7.8 进程间通信机制
7.8.1 管道及有名管道
7.8.2 信号
7.8.3 消息队列
7.8.4 共享内存
7.8.5 信号量
7.9 嵌入式Linux内核源码组织
7.9.1 嵌入式Linux内核目录结构
7.9.2 嵌入式Linux内核配置系统
第8章 构建嵌入式Linux系统
8.1 嵌入式Linux内核裁减
8.2 构建根文件系统
8.2.1 根文件系统架构
8.2.2 定制根文件系统
8.3 文件系统实验
第9章 嵌入式Linux应用编程
9.1 进程控制及编程
9.1.1 进程控制函数
9.1.2 守护进程设计
9.2 进程间通信
9.2.1 管道通信
9.2.2 命名管道
9.2.3 消息队列
9.2.4 共享内存
9.2.5 信号通信
9.3 线程控制及编程
9.3.1 线程概述
9.3.2 线程编程函数
9.3.3 线程同步与互斥
第10章 嵌入式Linux设备驱动
10.1 设备驱动基本概念
10.1.1 设备驱动在Linux系统中的地位
10.1.2 设备驱动完成的工作
10.1.3 Linux对设备驱动的管理机制
10.2 内核模块及模块编程
10.2.1 模块简介
10.2.2 模块编程设计
10.3 Linux下简单设备驱动程序设计
10.3.1 Linux设备驱动层次结构
10.3.2 典型字符设备驱动编写框架
10.3.3 高级字符设备驱动程序设计
10.3.4 设备文件系统
10.3.5 misc设备设计
10.4 网络设备及驱动程序
10.4.1 基本概念
10.4.2 网络数据包处理流程
10.4.3 以太网控制器CS8900A
10.4.4 CS8900A驱动程序设计
第11章 嵌入式LiflUX图形设计
11.1 Qt/Embexlded图形开发基础
11.1.1 Qt简介
11.1.2 Qt/Embedded组件
11.2 Qt/Embedded关键技术
11.2.1 Qt/Embedded对象模型
11.2.2 信号与插槽机制
11.2.3 信号/槽编程实例
11.2.4 Qt/Embedded关键类
11.3 Qt/Embedded实例设计
第12章 嵌入式移动打印终端开发实例剖析
12.1 项目概述
12.2 嵌入式系统移动打印终端总体架构构建
12.2.1 总体架构
12.2.2 软/硬件选型
12.3 软顾件设计
12.3.1 设计流程
12.3.2 硬件设计
12.3.3 打印机驱动的设计
12.3.4 扫描仪驱动设计
12.3.5 网络通信模块及服务器端的开发
12.3.6 系统应用程序设计
12.4 系统调试
参考文献
书摘插图
第1章引言
随着社会信息化的发展,嵌入式产品已经走进人们的日常生活中,比如,小到MP3、PDA、手机等微型数字产品,大到智能家电、车载设备、航空航天等领域,都可以看到嵌入式设备的影子。那么,什么是嵌入式?它有哪些特点?本章将简单介绍嵌入式系统的一些基本概念、应用领域及特点,引导读者进入嵌入式技术的殿堂。
1.1嵌入式系统概述
1.1.1嵌入式系统历史
随着信息技术的飞速发展,嵌入式技术已经成为微电子技术和计算机技术一个重要的分支,同时也使得计算机的分类从以前的巨型机、大型机、小型机以及微机之分变为通用计算机和嵌入式系统之分。
当今时代,制造技术的集成化和小型化发展趋势越来越明显,能否设计和生产出个性化需求的电子产品也将决定一个企业能否生存和继续发展。所有这些,都决定了嵌入式技术必将成为后PC时代的主宰者。
嵌入式系统并不是一个新的概念,其实早在1970年左右就有嵌入式系统应用的例子。当时的嵌入式系统并没有专门的操作系统,它们只是为了实现某个控制功能,使用简单的循环控制语句来完成。当应用系统设计越来越复杂,功能越来越强大时,传统的设计方法已经无法胜任,这时随着通用操作系统的迅速发展,人们将目光汇聚到设计专用的嵌入式操作系统来解决上述问题。因此,从20世纪80年代开始,出现了各种各样专用的嵌入式操作系统,比较著名的有Vxworks、pSOS、WinCE、Linux等。
嵌入式系统最大的特点是其具有专用性,也就是说,每一套嵌入式系统都有其特殊的应用场合与特定功能,它们都是为了特定的目的而设计的,而且往往还受环境、成本、体积、功耗等条件的制约,需要最大限度地在硬件和软件上“量身定做”,以提高资源的利用率,这也是嵌入式系统与通用计算机最大的一个区别。
……