基于S3C2440的嵌入式WinCE开发与实践

基于S3C2440的嵌入式WinCE开发与实践
作 者: 董辉
出版社: 电子工业出版社
丛编项:
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 计算机?网络 硬件 外部设备 维修
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  董辉,浙江工业大学副教授,拥有十余年的产业工作经验和一线教学经验,长期从事电子系统设计相关领域的教学和科研工作,经验丰富。

内容简介

本书循序渐进、全面地讲解ARM9各个模块的嵌入式开发以及基于ARM9的嵌入式操作系统Windows CE的系统定制、驱动开发与应用程序开发,本书提供大量实用案例,共13章,主要介绍S3C2440芯片各模块的功能以及相对应的寄存器,以及嵌入式操作系统Windows CE在S3C2440芯片上的嵌入式开发,并给出相关的实验代码来具体演示其实现过程。主要内容包括:S3C2440各时钟模块、GPIO、UART、存储控制器、NAND FLASH控制器、中断模块、ADC模块、LCD控制器、DMA控制器和SD控制器的嵌入式开发、Windows CE的平台构建与移植、Windows CE的应用程序开发及Windows CE驱动开发等。

图书目录

目 录

第1章 嵌入式系统概述\t1

1.1 嵌入式系统基本概念\t1

1.2 嵌入式系统组成\t1

1.3 主流嵌入式操作系统\t4

1.3.1 VxWorks\t4

1.3.2 μC/OS-II\t4

1.3.3 Windows CE\t5

1.3.4 嵌入式Linux\t5

1.4 ARM处理器系列\t6

1.4.1 ARM微处理器系列\t6

1.5 S3C2440A处理器\t7

1.5.1 S3C2440A简介\t7

1.5.2 基本编程模型\t10

1.5.3 ARM指令集介绍\t18

1.6 开发板简介\t22

课后练习\t23

第2章 WinCE平台构建\t24

2.1 开发平台构建\t24

2.1.1 Platform Builder简介\t24

2.1.2 Platform Builder安装\t24

2.1.3 板级支持包BSP\t27

2.2 系统定制实验\t29

2.2.1 WinCE5.0系统定制\t29

2.2.2 编译系统\t33

2.2.3 Eboot下载\t35

2.2.4 操作系统下载\t35

2.3 SDK输出\t37

2.4 WinCE5.0调试\t40

2.4.1 WinCE模拟器\t40

2.4.2 WinCE5.0调试\t44

课后习题\t47

第3章 WinCE应用程序开发\t48

3.1 开发环境的构建\t48

3.1.1 Visual Studio 2005的安装\t48

3.1.2 SDK的安装\t53

3.2 应用程序开发\t55

3.2.1 新建项目\t55

3.2.2 控件编程\t59

3.2.3 进程编程\t62

3.2.4 多线程编程\t64

3.2.5 读写文件\t66

3.2.6 访问注册表\t68

3.2.7 网络编程\t71

课后习题\t78

第4章 时钟与定时器程序设计\t79

4.1 时钟概述\t79

4.1.1 系统时钟\t79

4.1.2 时钟控制逻辑\t81

4.1.3 慢速模式\t82

4.1.4 系统时钟特殊寄存器\t83

4.2 WatchDog\t87

4.2.1 WatchDog定时器简介\t87

4.2.2 看门狗定时器的特殊寄存器\t87

4.3 PWM定时器\t88

4.3.1 PWM定时器简介\t88

4.3.2 PWM定时器特殊寄存器\t90

4.3.3 PWM工作步骤与原理\t90

4.4 实时时钟RTC\t92

4.4.1 实时时钟简介\t92

4.4.2 实时时钟特殊功能寄存器\t93

4.5 PWM实验\t94

4.5.1 系统时钟设置\t94

4.5.2 实验测试\t95

4.5.3 实验结果\t97

4.6 RTC实验\t97

4.6.1 实验测试\t97

4.6.2 实验结果\t101

4.7 定时器模块在WinCE中的程序

设计\t102

4.7.1 PWM输出实验\t102

课后习题\t108

第5章 GPIO接口与UART串口应用\t109

5.1 S3C2440A的GPIO接口介绍\t109

5.1.1 GPIO寄存器\t109

5.1.2 寄存器地址\t110

5.2 LED灯实验\t110

5.2.1 硬件原理图\t110

5.2.2 寄存器配置\t111

5.2.3 实验测试\t112

5.3 串口通信原理和简介\t122

5.3.1 串口概述\t122

5.3.2 S3C2440A串口简介\t124

5.3.3 S3C2440A的串口操作\t125

5.4 S3C2440A的UART特殊功能

寄存器\t126

5.4.1 UART控制寄存器\t126

5.4.2 UART状态寄存器\t127

5.5 UART通信测试实验\t129

5.5.1 UART电路原理\t129

5.5.2 UART初始化程序\t129

5.5.3 UART测试程序\t130

5.5.4 UART通信实验结果\t133

5.6 基本接口模块\t134

5.6.1 GPIO输出控制实验\t134

5.6.2 串口控制实验\t135

课后习题\t142

第6章 存储器接口设计与WinCE

BootLoader\t143

6.1 存储器概述\t143

6.1.1 半导体存储器介绍\t143

6.1.2 动态随机存储器原理\t144

6.1.3 NAND Flash存储原理\t145

6.2 SDRAM内存管理\t146

6.2.1 地址空间与地址映射\t146

6.2.2 SDRAM工作原理\t148

6.2.3 内存管理模块特殊寄存器\t149

6.3 SDRAM测试实验\t150

6.3.1 SDRAM存储器接口\t150

6.3.2 初始化SDRAM\t151

6.4 NAND Flash介绍\t153

6.4.1 芯片介绍\t153

6.4.2 NAND Flash读操作\t155

6.4.3 NAND Flash擦除操作\t155

6.4.4 NAND Flash写操作\t155

6.5 NAND Flash控制器\t156

6.5.1 S3C2440A的NAND Flash

控制器特征\t156

6.5.2 NAND Flash控制器的配置\t157

6.5.3 NAND Flash控制器的特殊

寄存器\t158

6.6 NAND Flash测试实验\t160

6.6.1 NAND Flash实验电路及原理\t160

6.6.2 NAND Flash初始化\t160

6.6.3 读NAND Flash函数\t163

6.6.4 擦除NAND Flash函数\t164

6.6.5 写NAND Flash函数\t165

6.6.6 NAND Flash代码拷贝程序\t166

6.6.7 Nand Flash实验\t169

6.6.8 实验介绍\t170

6.6.9 使用NAND Flash注意事项:\t170

6.6.10 实验主要代码\t170

6.6.11 实验结果\t174

6.7 WinCE BootLoader\t175

6.7.1 WinCE5.0 Stepldr\t175

6.7.2 Eboot移植\t177

课后习题\t180

第7章 中断系统\t181

7.1 中断概述\t181

7.1.1 中断的定义及作用\t181

7.1.2 中断源\t181

7.1.3 中断向量与中断嵌套\t181

7.1.4 中断处理过程\t182

7.2 S3C2440A的中断系统\t183

7.2.1 S3C2440A中断控制系统\t183

7.2.2 S3C2440A中断源\t183

7.2.3 S3C2440A中断控制寄存器\t185

7.2.4 S3C2440A的IRQ中断处理

过程\t188

7.3 外部中断实验\t189

7.3.1 C语言实现中断过程\t189

7.3.2 外部中断寄存器配置\t191

7.3.3 实验测试\t192

7.3.4 实验结果\t195

课后习题\t195

第8章 ADC与触摸屏接口\t196

8.1 ADC与触摸屏工作原理\t196

8.1.1 ADC工作原理\t196

8.1.2 触摸屏工作原理\t196

8.2 S3C2440A的ADC及触摸屏接口\t198

8.3 ADC与触摸屏接口特殊寄存器\t199

8.4 触摸屏实验\t201

8.4.1 触摸屏实验寄存器配置\t201

8.4.2 实验测试\t202

8.4.3 实验结果\t205

课后习题\t205

第9章 LCD程序设计\t206

9.1 LCD基本概念\t206

9.1.1 LCD的发展历史\t206

9.1.2 LCD分类\t207

9.1.3 LCD参数介绍\t208

9.2 LCD工作原理\t208

9.2.1 显示原理\t209

9.2.2 LCD的驱动方式\t209

9.3 S3C2440A的LCD模块\t209

9.3.1 S3C2440A的LCD模块组成

结构\t209

9.3.2 S3C2440A的LCD控制器的

特性\t210

9.3.3 STN-LCD控制器配置\t211

9.3.4 TFT-LCD控制器配置\t216

9.4 S3C2440A的LCD控制器特殊

寄存器\t220

9.4.1 LCD控制器的控制寄存器

LCDCON1/2/3/4/5\t220

9.4.2 帧缓冲起始地址寄存器

LCDSADDR1/2/3\t222

9.4.3 视频显示寄存器\t222

9.4.4 LCD中断控制寄存器\t223

9.4.5 LCD寄存器设置向导\t224

9.5 LCD实验\t225

9.5.1 实验原理\t225

9.5.2 寄存器配置\t226

9.5.3 图片存储与显示\t229

9.5.4 实验测试及结果\t230

9.6 WinCE下的LCD接口实验\t230

课后习题\t232

第10章 DMA控制器介绍与应用\t233

10.1 DMA控制器介绍\t233

10.1.1 DMA控制器概述\t233

10.1.2 DMA控制器原理\t234

10.2 DMA控制器操作\t235

10.2.1 DMA基本时序\t235

10.2.2 查询/握手模式对比\t235

10.2.3 DMA特殊寄存器\t236

10.3 DMA编程与测试\t236

10.3.1 DMA数据传输\t236

10.3.2 DMA测试程序\t239

10.3.3 DMA测试实验结果\t240

课后习题\t241

第11章 SD存储卡\t242

11.1 SD存储卡的基本概念\t242

11.1.1 SD存储卡概述\t242

11.1.2 SD存储卡发展\t242

11.1.3 SD存储卡特性\t243

11.2 SD总线基本概念\t244

11.2.1 SD总线结构\t245

11.2.2 SD总线协议\t245

11.3 S3C2440A的SD/MMC控制器\t248

11.3.1 S3C2440A的SD/MMC控制器

简介\t248

11.3.2 S3C2440A的SD/MMC控制器

操作\t248

11.3.3 S3C2440A的SD/MMC控制器

特殊寄存器\t249

11.4 SD模块的编程与测试\t252

11.4.1 SD实验电路及原理\t252

11.4.2 SD模块初始化编程\t252

11.4.3 SD命令传输编程\t257

11.4.4 SD数据读/写编程\t259

11.4.5 SD测试程序\t265

11.4.6 SD测试实验结果\t267

课后习题\t267

第12章 WinCE5.0驱动编写\t268

12.1 WinCE5.0驱动分类\t268

12.1.2 驱动模型分类\t268

12.1.2 驱动程序的体系结构\t269

12.1.3 驱动加载方式\t269

12.2 流接口驱动开发\t270

12.2.1 接口函数分析\t270

12.2.2 驱动编译设置\t272

12.2.3 流接口驱动开发实例\t272

12.3 动态加/卸载驱动\t279

12.3.1 动态加/卸载驱动函数\t279

12.3.2 动态加/卸载驱动实验\t279

12.4 中断流驱动\t282

12.4.1 S3C2440A中断控制系统\t282

12.4.2 WinCE5.0中断流驱动\t284

12.4.3 应用程序读中断\t292

课后习题\t295

第13章 WinCE聊天程序和文件收发程序

设计\t296

13.1 WinCE聊天程序设计\t296

13.1.1 新建工程\t296

13.1.2 放置对话框控件\t298

13.1.3 初始化套接字\t299

13.1.4 消息处理\t300

13.1.5 字符转换\t301

13.1.6 添加事件处理程序\t302

13.2 文件传输\t306

13.2.1 添加CMessage类\t306

13.2.2 添加CServerSocket类\t307

13.2.3 添加CClientSocket类\t309

13.2.4 添加对话框控件\t311

13.2.5 创建套接字\t313

13.2.6 添加线程函数\t317

13.2.7 添加收发文件函数\t319

13.2.8 消息处理\t322

13.2.9 实验结果\t325

课后习题\t326