注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络硬件、外部设备与维护ARM嵌入式系统基础教程

ARM嵌入式系统基础教程

ARM嵌入式系统基础教程

定 价:¥32.00

作 者: 周立功等编著
出版社: 北京航空航天大学出版社
丛编项: 高等学校嵌入式系统通用教材
标 签: 嵌入式计算机

ISBN: 9787810775779 出版时间: 2005-01-01 包装: 简裝本
开本: 23cm 页数: 452 字数:  

内容简介

  本书是《ARM嵌入式系统系列教程》中的理论课教材。以PHILIPS公司LPC2000系列ARM微控制器为例,深入浅出地介绍嵌入式系统开发的各个方面。全书共分为3部分:第1章和第2章为理论部分,主要介绍嵌入式系统的概念及开发方法。第3~5章为基础部分,主要介绍ARM7体系结构、指令系统及LPC2000系列ARM微控制器的结构原理。第6~8章为应用部分,主要以LPC2000系列微控制器为例介绍如何设计嵌入式系统,包括硬件的设计、μC/OS-II的移植以及建立软件开发平台的方法。本书可以作为高等院校电子、自动化、机电一体化计算机等相关专业嵌入式系统课程的教材,也可作为从事嵌入式系统应用开发工程师的参考资料。本书配套多媒体教学课件。

作者简介

  周立功周立功,男,1964年3月出生,毕业于东华大学自动化及计算机系,高级工程师,中国单片机学会理事,中国海洋大学讲座教授,硕士生导师,主要研究方向为嵌入式系统与现场总线,目前正在从事80C51、ARM与NiosII等软核SoC的研究与开发。1981年6月参加工作,先后在大型国有企业担任过工段长、车间主任、团委书记、厂长、党委书记,先后被评为省及国家级劳动模范与新长征突击手,长期从事微机、单片机与嵌入式系统应用推广、开发工作。早期主要从事6502、Z80、8080及其5G14500(一位机)微机应用开发及工业低温辐射远红外节电技术应用与研究等工作,在1987年就出版过《工业低温辐射远红外节电技术》专著。从1994年11月开始创办了广州周立功单片机发展有限公司、广州致远电子有限公司除担任董事长与总经理之外,还继续从事实际的技术开发工作并任首席系统设计师和软件架构师,致力于单片机与嵌入式系统技术的推广及其产业化工作。深入浅出ARM7:LPC213x/214x(下册)>>更多作品

图书目录

第1章 嵌入式系统概述
1.1 嵌入式系统1
1.1.1 现实中的嵌入式系统1
1.1.2 嵌入式系统的概念1
1.1.3 嵌入式系统的未来2
1.2 嵌入式处理器3
1.2.1 嵌入式处理器简介3
1.2.2 嵌入式系统的分类4
1.3 嵌入式操作系统6
1.3.1 嵌入式操作系统简介6
1.3.2 嵌入式操作系统基本概念7
1.3.3 使用实时操作系统的必要性10
1.3.4 实时操作系统的优缺点11
1.3.5 常见的嵌入式操作系统11
思考与练习16
第2章 嵌入式系统工程设计
2.1 嵌入式系统项目开发生命周期17
2.1.1 识别需求18
2.1.2 提出方案20
2.1.3 执行项目22
2.1.4 结束项目26
2.2 嵌入式系统工程设计方法简介27
2.2.1 由上而下与由下而上27
2.2.2 UML系统建模27
2.2.3 面向对象OO的思想28
思考与练习29
第3章 ARM7体系结构
3.1 ARM30
3.1.1 ARM的体系结构30
3.1.2 ARM处理器核32
3.2 ARM7TDMI33
3.2.1 三级流水线34
3.2.2 存储器访问34
3.2.3 存储器接口34
3.3 ARM7TDMI的模块、内核和功能框图35
3.4 体系结构直接支持的数据类型37
3.5 处理器状态38
3.6 处理器模式39
3.7 内部寄存器39
3.7.1 ARM状态寄存器集40
3.7.2 Thumb状态寄存器集43
3.8 程序状态寄存器45
3.8.1 条件代码标志46
3.8.2 控制位46
3.8.3 保留位47
3.9 异常48
3.9.1 异常入口/出口汇总48
3.9.2 进入异常49
3.9.3 退出异常49
3.9.4 快速中断请求49
3.9.5 中断请求50
3.9.6 中止50
3.9.7 软件中断指令51
3.9.8 未定义的指令51
3.9.9 异常向量52
3.9.10 异常优先级52
3.10 中断延迟52
3.10.1 最大中断延迟52
3.10.2 最小中断延迟53
3.11 复位53
3.12 存储器及存储器映射I/O53
3.12.1 地址空间54
3.12.2 存储器格式55
3.12.3 未对齐的存储器访问56
3.12.4 指令的预取和自修改代码57
3.12.5 存储器映射的I/O60
3.13 寻址方式62
3.14 ARM7指令集63
3.14.1 ARM指令集63
3.14.2 Thumb指令集66
3.15 协处理器接口68
3.15.1 协处理器接口简介68
3.15.2 可用的协处理器69
3.15.3 关于未定义的指令69
3.16 调试接口69
3.16.1 典型调试系统69
3.16.2 调试接口70
3.16.3 EmbeddedICERT70
3.16.4 扫描链和JTAG接口71
3.17 ETM接口71
思考与练习71
第4章 ARM7TDMI(S)指令系统
4.1 ARM处理器寻址方式73
4.2 指令集介绍76
4.2.1 ARM指令集77
4.2.2 Thumb指令集105
4.3 本章小结130
思考与练习130
第5章 LPC2000系列ARM硬件结构
5.1 LPC2000系列简介132
5.1.1 特性132
5.1.2 器件信息133
5.1.3 结构133
5.2 引脚配置135
5.2.1 引脚排列及封装信息135
5.2.2 LPC2114/2124的引脚描述135
5.2.3 LPC2210/2212/2214的引脚描述140
5.2.4 引脚功能选择使用示例147
5.3 存储器寻址147
5.3.1 片内存储器147
5.3.2 片外存储器148
5.3.3 存储器映射148
5.3.4 预取指中止和数据中止异常150
5.3.5 存储器映射及引导块151
5.3.6 启动代码相关部分153
5.4 系统控制模块155
5.4.1 系统控制模块功能汇总155
5.4.2 引脚描述155
5.4.3 寄存器描述156
5.4.4 晶体振荡器156
5.4.5 复位158
5.4.6 外部中断输入161
5.4.7 外部中断应用示例165
5.4.8 存储器映射控制165
5.4.9 PLL(锁相环)168
5.4.10 VPB分频器173
5.4.11 功率控制174
5.4.12 唤醒定时器177
5.4.13 启动代码相关部分177
5.5 存储器加速模块179
5.5.1 结构180
5.5.2 操作模式182
5.5.3 配置183
5.5.4 寄存器描述183
5.5.5 使用注意事项184
5.5.6 启动代码相关部分184
5.6 外部存储器控制器185
5.6.1 特性185
5.6.2 结构185
5.6.3 引脚描述186
5.6.4 寄存器描述187
5.6.5 外部存储器接口189
5.6.6 典型总线时序190
5.6.7 外部存储器选择190
5.6.8 启动代码相关部分192
5.7 引脚连接模块193
5.7.1 寄存器描述193
5.7.2 引脚功能控制197
5.7.3 启动代码相关部分198
5.8 向量中断控制器199
5.8.1 特性199
5.8.2 功能199
5.8.3 结构200
5.8.4 寄存器描述201
5.8.5 中断源207
5.8.6 使用注意事项209
5.8.7 使用示例210
5.8.8 启动代码相关部分211
5.9 GPIO213
5.9.1 特性213
5.9.2 用途213
5.9.3 引脚描述213
5.9.4 寄存器描述213
5.9.5 使用注意事项216
5.9.6 使用示例216
5.10 UART0216
5.10.1 特性216
5.10.2 引脚描述217
5.10.3 应用217
5.10.4 结构217
5.10.5 寄存器描述219
5.10.6 使用示例227
5.11 UART1229
5.11.1 特性229
5.11.2 引脚描述230
5.11.3 应用231
5.11.4 结构231
5.11.5 寄存器描述232
5.12 I2C接口242
5.12.1 特性242
5.12.2 用途242
5.12.3 引脚描述242
5.12.4 I2C接口描述243
5.12.5 I2C操作模式246
5.12.6 寄存器描述258
5.13 SPI接口262
5.13.1 特性262
5.13.2 引脚描述262
5.13.3 接口描述263
5.13.4 结构269
5.13.5 寄存器描述269
5.14 定时器0和定时器1272
5.14.1 特性272
5.14.2 用途272
5.14.3 引脚描述273
5.14.4 结构274
5.14.5 寄存器描述274
5.14.6 定时器操作举例280
5.14.7 使用示例281
5.15 脉宽调制器284
5.15.1 特性284
5.15.2 引脚描述285
5.15.3 PWM描述285
5.15.4 结构286
5.15.5 寄存器描述289
5.15.6 使用示例295
5.16 A/D转换器297
5.16.1 特性297
5.16.2 引脚描述298
5.16.3 寄存器描述298
5.16.4 操作301
5.16.5 使用示例301
5.17 实时时钟302
5.17.1 特性302
5.17.2 结构302
5.17.3 RTC中断302
5.17.4 闰年计算303
5.17.5 寄存器描述304
5.17.6 混合寄存器组305
5.17.8 完整时间寄存器307
5.17.8 时间计数器组308
5.17.9 报警寄存器组309
5.17.10 基准时钟分频器(预分频器)310
5.17.11 使用注意事项312
5.17.12 使用示例312
5.18 看门狗316
5.18.1 特性316
5.18.2 用途316
5.18.3 使用方法316
5.18.4 结构316
5.18.5 寄存器描述317
5.18.6 使用示例319
5.19 本章小结320
思考与练习320
第6章 接口技术与硬件设计
6.1 最小系统322
6.1.1 框图322
6.1.2 电源323
6.1.3 时钟327
6.1.4 复位及复位芯片配置327
6.1.5 存储器系统330
6.1.6 调试与测试接口330
6.1.7 完整的最小系统332
6.2 片内外设335
6.2.1 GPIO(通用I/O)335
6.2.2 UART和MODEM340
6.2.3 I2C342
6.2.4 SPI350
6.3 总线接口354
6.3.1 并行SRAM354
6.3.2 并行Flash360
6.3.3 USB(D12)接口374
6.3.4 液晶接口379
6.3.5 网络接口390
6.4 其他外设401
6.4.1 并行打印机接口401
6.4.2 CF卡及IDE硬盘接口408
思考与练习414
第7章 移植μC/OSII到ARM7
7.1 μC/OSII415
7.2 移植规划415
7.2.1 编译器的选择415
7.2.2 任务模式的取舍415
7.2.3 支持的指令集416
7.3 移植μC/OSII416
7.3.1 移植μC/OSII简介416
7.3.2 关于头文件includes.h和config.h417
7.3.3 编写OS_CPU.h418
7.3.4 编写Os_cpu_c.c文件419
7.3.5 编写OS_CPU_A.S424
7.3.6 关于中断及时钟节拍427
7.4 移植代码应用到LPC2000429
7.4.1 编写或获取启动代码429
7.4.2 挂接SWI软件中断429
7.4.3 中断及时钟节拍中断430
7.4.4 编写应用程序430
思考与练习432
第8章 嵌入式系统开发平台
8.1 嵌入式系统开发平台的建立433
8.1.1 使用平台开发是大势所趋433
8.1.2 建立开发平台的方法437
8.1.3 编写自己的软件模块437
8.2 数据队列438
8.2.1 数据队列简介438
8.2.2 API函数集438
8.3 串口驱动443
8.3.1 串口驱动简介443
8.3.2 API函数集443
8.4 MODEM接口模块445
8.4.1 MODEM简介445
8.4.2 MODEM的状态445
8.4.3 API函数集445
8.5 I2C总线模块447
8.5.1 I2C简介447
8.5.2 API函数集447
8.6 SPI总线模块449
8.6.1 SPI总线模块简介449
8.6.2 API函数集449
8.7 其他软件模块452
思考与练习452
参考文献

本目录推荐