基于Linux嵌入式原理与应用开发
2008-10
清华大学出版社
赵国安,郁斌,薛琳强 编
237
《基于Linux嵌入式原理与应用开发》以ARM处理器和开源的Linux操作系统为研究对象,综合介绍嵌入式系统软硬件及开发的相关内容,帮助读者建立嵌入式系统开发的整体概念,使读者在以后的实际应用开发中不断提高对嵌入式系统知识的了解和体会,最终解决实际应用开发中的问题。 《基于Linux嵌入式原理与应用开发》内容全面,叙述言简意赅、清晰流畅,讲解透彻、通俗易懂,图例丰富,主要章节的实例由亿道公司工程师验证。 《基于Linux嵌入式原理与应用开发》可作为高等院校嵌入式系统相关课程的教材和参考书,也可作为嵌入式系统开发人员的自学参考书。
第1章 嵌入式系统概述1.1 嵌入式系统概述1.1.1 概述1.1.2 特点1.1.3 系统构架1.2 嵌入式系统硬件部分1.2.1 集成电路的发展1.2.2 传统微处理器(8位/16位)的更新1.2.3 今日嵌入式(32位/16位)1.3 嵌入式系统软件部分1.3.1 嵌入式操作系统的特点1.3.2 常用嵌入式操作系统1.3.3 嵌入式系统编程语言1.3.4 嵌入式系统开发1.4 ARM处理器1.5 开发工具1.5.1 软件开发工具1.5.2 硬件开发工具1.6 嵌入式系统的应用及发展趋势第2章 嵌入式Linux及其构建2.1 Linux发展2.1.1 Linux发展简史2.1.2 GNU与Linux2.1.3 Linux的优点2.1.4 Linux的版本2.1.5 Linux的内核2.2 主流嵌入式Linux介绍2.2.1 MontaVista Linux2.2.2 μClinux2.2.3 RTLinux2.2.4 RTAI2.2.5 eCos2.2.6 实时化改造2.3 构建嵌入式Linux2.3.1 搭建开发环境2.3.2 获取U-Boot2.3.3 获取Linux内核第3章 嵌入式Linux的移植过程3.1 PXA255简介与Sitsang开发板3.1.1 PXA255处理器(CPU)简介3.1.2 Sitsang开发板简介3.2 存储器映射3.2.1 ARM存储系统概述3.2.2 PXA255的存储器映射3.2.3 Sitsang开发板存储器映射3.3 GPIO(General-Purpose I/O,通用I/O)3.3.1 GPIO概述3.3.2 GPIO操作3.4 中断机制3.5 启动过程3.5.1 Sitsang开发板的启动过程3.5.2 U-Boot的启动过程3.6 移植U-Boot简介3.6.1 U-Boot的基本结构3.6.2 U-Boot移植前期准备3.6.3 U-Boot移植的基本过程3.7 移植Linux 2.6内核3.7.1 Linux 2.6内核源代码的基本结构3.7.2 Linux 2.6内核移植前期准备3.7.3 Linux 2.6内核的配置3.7.4 交叉编译Linux 2.6内核3.7.5 Linux 2.6设备驱动移植介绍3.8 构建根文件系统(root filesystem)3.8.1 什么是根文件系统3.8.2 根文件系统与文件系统的区别3.8.3 根文件系统与Linux内核的关系3.8.4 使用Busybox制作根文件系统第4章 了解嵌入式系统硬件4.1 本章概述4.2 计算机系统组成部分4.3 计算机硬件4.4 指令系统4.4.1 指令流和数据流4.4.2 指令周期4.4.3 时序发生器4.4.4 组合逻辑控制器4.4.5 指令执行流程4.5 I/O子系统4.5.1 I/O子系统简介4.5.2 基础I/O的概念4.5.3 I/O子系统4.6 1bit处理器芯片设计案例第5章 ARM体系结构5.1 ARM体系结构5.1.1 ARM嵌入式微处理器概述5.1.2 典型的ARM处理器简介5.2 ARM接口5.2.1 协处理器接口5.2.2 AMBA接口5.2.3 JTAG接口5.3 ARM处理器内核5.3.1 ARM7TDMI处理器内核5.3.2 ARM9TDMI处理器内核5.3.3 ARM10TDMI处理器内核5.4 ARM处理器核5.4.1 ARM720T/ARM740T处理器核5.4.2 ARM920T/ARM940T处理器核5.5 ARM编程模型5.5.1 数据类型5.5.2 处理器模式及工作状态5.5.3 寄存器组织5.6 ARM基本寻址方式5.6.1 寄存器寻址5.6.2 立即寻址5.6.3 寄存器移位寻址5.6.4 间接寻址5.6.5 基址变址寻址5.6.6 块复制寻址5.6.7 多寄存器寻址5.6.8 相对寻址5.6.9 堆栈寻址第6章 ARM指令集格式6.1 指令格式6.1.1 基本格式6.1.2 第二操作数6.1.3 条件码6.2 ARM指令分类6.2.1 存储器访问指令6.2.2 ARM 数据处理指令6.2.3 乘法指令6.2.4 跳转指令6.2.5 协处理器指令6.2.6 杂项指令6.2.7 伪指令6.3 Thumb指令集6.3.1 Thumb指令集6.3.2 Thumb指令集的优点6.3.3 Thumb指令集与ARM指令集的区别第7章 ARM ADS集成开发环境的使用7.1 ADS集成开发环境组成介绍7.1.1 命令行开发工具7.1.2 ARM运行时库7.1.3 GUI开发环境(Code Warrior和AXD)7.1.4 实用程序7.1.5 支持的软件7.2 使用ADS创建工程7.2.1 建立一个工程7.2.2 编译和链接工程7.2.3 使用命令行工具编译应用程序7.3 用AXD进行代码调试7.4 本章小结第8章 嵌入式实验实验一 系统引导实验目的实验内容实验步骤实验二 键盘实验目的实验内容实验步骤实验三 IRQ中断处理实验目的实验内容实验步骤实验四 定时器实验目的实验内容实验步骤实验五 串口传输实验目的实验内容实验步骤实验六 实时时钟实验目的实验内容实验步骤实验七 LCD控制器实验目的实验内容实验步骤参考文献
第1章 嵌入式系统概述 嵌入式系统是把计算机直接嵌入到应用系统中,它融合了计算机软/硬件技术、通信技术和微电子技术。随着微电子技术和半导体技术的高速发展,超大规模集成电路技术和深亚微米制造工艺已十分成熟,从而使高性能系统芯片的集成成为可能,并推动着嵌入式系统向最高级构建形式,即片上系统SOC(SystemonaChip)的水平发展,进而促使嵌入式系统得到更深入、更广阔的应用。嵌入式技术的快速发展不仅使其成为当今计算机技术和电子技术的一个重要分支,同时也使计算机的分类从以前的巨型机/大型机/小型机/微型机变为通用计算机/嵌入式计算机(即嵌入式系统)。 1.1 嵌入式系统概述 嵌入式系统是集成电路发展过程中的一个标志性成果,它把计算机直接嵌入到应用系统中,融合了计算机软/硬件技术、通信技术和微电子技术,是一种微电子产业和信息技术产业的最终产品。微电子产业是许多国家优先发展的产业。以超深亚微米工艺和IP核复用技术为支撑的系统芯片技术是国际超大规模集成电路发展的趋势和21世纪集成技术的主流。 1.1.1 概述 通常,计算机连同一些常规的外设是作为独立的系统而存在的,而并非为某一方面的专门应用而存在。例如一台PC机就是一个计算机系统,整个系统存在的目的就是为人们提供一台可编程、会计算、能处理数据的机器。可以用它作为科学计算的工具,也可以用它作为企业管理的工具。所以,人们把这样的计算机系统称为“通用”计算机系统。但是有些系统却不是这样。例如,医用的CT扫描仪也是一个系统,里面有计算机,但是这种计算机(或处理器)是作为某个专用系统中的一个部件而存在的,其本身的存在并非目的而只是手段。像这样“嵌入”到更大的、专用的系统中的计算机系统,就称之为“嵌入式计算机”、“嵌入式计算机系统”或“嵌入式系统”。从字面上讲,后者似乎比前者更为广义,因为系统中常常还包括一些机电、光电、热电或者电化的执行部件,但是实际上却往往不作严格的区分。在不致引起混淆的情况下,一般把这三者用作同义词,并且一般总是指系统中的核心部分,即嵌入在系统中的计算机。
基于Linux嵌入式原理与应用开发 嵌入式系统是把计算机直接嵌入到应用系统中,它融合了计算机软硬件技术、通信技术和微电子技术,随着微电子技术和半导体技术的高速发展,超大规模集成电路技术和深亚微米制造工艺已十分成熟,从而使高性能系统芯片的集成成为可能,并推动着嵌入式系统向最高级构建形式即片上系统SOC(System on a Chip)的水平发展,进而促使嵌入式系统得到更深入、更广阔的应用。