《基于LPC3250的嵌入式Linux系统开发》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:桂电-丰宝联合实验室编
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2010
  • ISBN:9787121104473
  • 页数:254 页
图书介绍:本书以NXP最新推出的LPC3250芯片为例,从硬件系统的设计到嵌入式Linux系统的移植及为新硬件编写设备驱动,全面介绍嵌入式Linux系统的开发过程。内容涵盖LPC3250开发板的硬件设计;Linux操作系统的安装,相关工具的使用、配置,向目标板部署引导程序、内核和根文件系统映像;Kickstart、Stage1阶段的启动流程及Nand、SPI芯片驱动开发;U-Boot的代码结构、启动流程及Nand芯片的驱动;Linux系统层次的设备驱动编程基础,以太网、I2C设备的驱动设计等。

第1章 嵌入式系统概述 1

1.1 嵌入式系统概论 1

1.1.1 嵌入式系统的定义 1

1.1.2 嵌入式系统的组成 2

1.1.3 嵌入式系统的特点 2

1.2 嵌入式处理器 3

1.2.1 嵌入式处理器的分类 3

1.2.2 ARM处理器 5

1.3 嵌入式操作系统 8

1.3.1 操作系统的概念 8

1.3.2 嵌入式Linux 9

1.3.3 μC/OS-Ⅱ 10

1.3.4 Windows CE 10

1.3.5 VxWorks 10

1.3.6 IAR PowerPac 10

第2章 LPC3250处理器简介 12

2.1 LPC3250特点及结构 12

2.1.1 LPC3250结构 12

2.1.2 LPC3250特点 13

2.2 LPC3250总线结构及地址映射 14

2.2.1 LPC3250总线结构 14

2.2.2 LPC3250地址映射 15

2.3 LPC3250启动过程 18

2.3.1 启动流程综述 18

2.3.2 服务启动流程 19

2.3.3 正常启动流程 21

2.4 LPC3250时钟及功耗控制 27

2.4.1 时钟及功耗控制概述 27

2.4.2 LPC3250内部时钟 27

2.4.3 LPC3250的PLL功能及使用方法 29

2.5 LPC3250中断控制器 33

2.5.1 中断控制器概述 33

2.5.2 中断控制器功能描述 33

2.6 LINPO-PS-LPC32xx开发板硬件设计 35

2.6.1 CPU部分 35

2.6.2 系统配置 39

2.6.3 外部存储器硬件设计 39

2.6.4 LPC3250电源管理设计 46

2.6.5 LPC3250连接TFT LCD液晶设计 48

2.6.6 LPC3250 USB接口设计 50

2.6.7 LPC3250以太网电路设计 50

2.6.8 LPC3250 I2S音频接口设计 52

2.6.9 LPC3250 SD卡接口设计 52

2.6.10 LPC3250I2C接口设计 52

第3章 内核生成与移植 55

3.1 BSP介绍 55

3.2 建立开发环境 56

3.2.1 硬件连接 56

3.2.2 主机的Linux安装与配置 57

3.2.3 设置LTIB、配置和建立Linux系统 72

3.3 系统部署 76

3.3.1 安装U-Boot 76

3.3.2 设置网络开发环境 77

3.3.3 配置U-Boot环境 78

3.3.4 引导网络系统 79

3.3.5 设置Nand引导系统 79

3.3.6 在SD卡上安装ext2根文件系统 82

3.3.7 用Windows主机设置快速demo 83

3.3.8 系统引导 83

3.4 功能演示 89

3.4.1 LCD 89

3.4.2 触摸屏 89

3.4.3 USB 90

3.4.4 以太网 92

3.5 应用开发 93

3.5.1 标准Linux应用的部署 93

3.5.2 mp3play 93

3.5.3 Qtopia 94

3.5.4 开发用户应用 95

3.5.5 VFP支持的应用 96

3.6 BSP移植到定制的目标板 96

3.7 常用工具及资源 96

3.7.1 LTIB命令 96

3.7.2 BSP文件 97

3.7.3 U-Boot补丁 97

3.7.4 Kernel补丁 97

3.7.5 预建立的工具链 97

3.7.6 可使用的链接 97

3.8 常见问题解答 98

第4章 BootLoader之Stage1阶段的芯片驱动 101

4.1 KS的操作过程及实现的功能 101

4.1.1 KS操作 102

4.1.2 Stage1应用 103

4.2 S1L的操作过程及实现的功能 103

4.2.1 S1L操作过程 103

4.2.2 资源使用 103

4.3 通用驱动库的介绍(CDL) 114

4.3.1 软件结构 115

4.3.2 软件包 115

4.3.3 软件包安装 116

4.3.4 CodeSourcery GNU工具支持 116

4.3.5 Build软件 116

4.4 KS和S1L及烧写工具Restore的编程实现 122

4.4.1 KS的编程实现 122

4.4.2 S1L的编程实现 124

4.5 restore程序 135

4.5.1 restore的源代码 135

4.5.2 将restore程序下载到目标板运行 141

4.6 Nand Flash芯片介绍和Nand控制器的使用 145

第5章 Bootloader之U-Boot阶段的启动过程及芯片驱动 158

5.1 U-Boot简介 158

5.2 U-Boot的源代码结构和使用方法 159

5.2.1 源代码结构 159

5.2.2 U-Boot的启动流程 160

5.2.3 U-Boot的配置和编译 163

5.2.4 U-Boot的使用 164

5.3 U-Boot的移植 169

5.4 U-Boot设备驱动程序的编写 170

5.4.1 U-Boot中与设备有关的数据结构 170

5.4.2 Nand Flash的U-Boot驱动 171

5.4.3 以太网控制器的U-Boot驱动 173

5.5 U-Boot命令的添加 183

第6章 Linux Kernel加载移植及设备驱动 188

6.1 Linux内核简介 188

6.1.1 Linux2.6内核的特点 188

6.1.2 Linux内核源代码目录结构 189

6.2 Linux Makefile分析 190

6.3 Linux内核的引导 195

6.4 Linux内核模块编程基础 196

6.4.1 Linux内核模块简介 196

6.4.2 Linux内核编程基础 197

6.4.3 Linux内核模块命令 198

6.4.4 模块加载函数 199

6.4.5 模块卸载函数 199

6.4.6 模块的使用计数 199

6.4.7 模块的编译 200

6.5 Linux设备驱动程序开发 201

6.6 I2C设备驱动 206

6.6.1 I2C总线介绍 206

6.6.2 LM75A温度传感器 206

6.6.3 I2C驱动程序编写范例 207

6.7 Linux网络设备驱动 211

6.7.1 初始化 212

6.7.2 打开 213

6.7.3 发送 214

6.7.4 接收 215

6.7.5 关闭 217

6.7.6 退出 218

附录A Linux常用命令 219

A.1 Linux的树形目录结构 219

A.2 文件/目录处理命令 220

A.3 挂接和卸载文件系统的命令 223

A.4 进程处理命令 223

A.5 备份与压缩命令 223

A.6 磁盘管理命令 225

A.7 网络命令 226

A.8 软件安装命令 231

附录B Linux的shell编程 233

B.1 shell程序的变量和参数 233

B.2 shell程序设计的流程控制 234

B.3 运行shell程序的方法 237

B.4 LTIB中shell脚本的例子 238

附录C Linux编程基础 240

C.1 编译器GCC的使用 240

C.2 用gdb调试GCC程序 241

C.3 Makefile 243

附录D 代码阅读、编辑工具 250

D.1 Source Insight 250

D.2 Kscope 253

参考文献 254