积分规则 网站地图 帮助中心    
嵌入式软件 单 片 机 DSP 存储器 传感控制 光电显示
嵌入式硬件 CPLD/FPGA SOPC AD/DA 接口电路 模拟设计
I C设计 通信产品 汽车电子 电源产品 消费电子 数控系统
工业控制 军工/航天 安防产品 医疗电子 计算机外设 测试测量
供应 I C
求购 公司库
当前位置:首页 >> 商城 > 图书 - 周立功公司策划图书
点击浏览商品大图
+ 查看大图
ARM微控制器基础与实战
出版社/厂家:北京航空航天大学出版社.
商品数量:10本 被浏览2745次  热卖中
商品折扣: 10 折
商品价格: 49元
49元
 
市场价 会员价  
内容简介     以ARM控制器LPC2104及基于LPC2104的开发学习板EasyARM2104入手,逐步引导读者掌握使用开发ARM的基本知识。本书分3个部分: 第1部分为基础篇,包括第1章和第2章,主要从ARM芯片开发者的角度介绍ARM7TDMI的体系结构和指令系统。第2部分为实验篇,包括第3章、第4章和第5章,详细介绍ARM控制器LPC2104的内部结构和开发学习板EasyARM2104的硬件结构等知识,给出LPC2104的各个功能部件的编程方法,包括汇编代码和C语言代码。第3部分为提高篇,包括第6章~第13章,介绍如何把嵌入式实时操作系统μC/OSII移植到LPC2104,在不同情况下如何编译这些代码。然后介绍LPC2104的几个重要功能部件在μC/OSII的驱动程序(中间件),以及其它功能部件在μC/OSII上的使用方法。
    本书可作为高等院校嵌入式系统课程的参考用书,以及ARM应用技术开发人员的参考手册。



前言     相信比较敏锐的使用单片机开发项目的电子工程师会感觉到: 32位微控制器的广泛应用已经到了“山雨欲来风满楼”的时候了。这主要由两方面的因素引起,一个因素是需求推动,另一个因素是技术进步拉动。

    有人说“需求决定一切”,这话虽然有些武断,但需求的确是很多事情的原动力。目前,随着人们生活水平的提高,人民对生活质量的追求也逐步提高。因此,人们对智能产品的需求增加了(如PDA、手机和智能家居等),且对智能产品要求提高了(如更具人性化、操作更简单、功能更强大、容错性更好、更安全以及更具个性化等)。另外,随着网络的发展,越来越多的产品需要具有联网功能。这一切需要智能产品具有一个更强劲的“芯”,这是8位机很难做到的。同时,由于要生产这样的产品,对生产线的要求也同样提高了(全自动、更精确、效率更高、更安全、容错性更好以及可提供个性化产品等),这也需要一个更强劲的“芯”。同时,对于产品研发的企业来说,有时产品上市的时间很重要。有时上市时间落后于竞争对手就意味着市场的丢失,不过同时质量也要有起码的保证。这样就要求开发者尽量减少重复劳动。建立开发平台是一个很好的产品开发战略思想且具有现实意义,但8位系统的可怜资源对建立开发平台十分不利,用32位系统就好多了。

    在个人电脑行业有著名的“摩尔定律”,它已经主宰个人电脑行业很多年了。在嵌入系统领域虽然“摩尔定律”没有那么明显,但技术的进步已经使32位系统不再高高在上,32位微控制器的价格已经不比8位机高多少,有些系统使用32位机其整体成本甚至比用8位机还要低。这样,使用32位系统就没有技术和成本的障碍了。

    目前,在32位市场上,ARM扮演着8位市场上8051的角色,又由于感觉到“山雨欲来风满楼”之势,很多人觉得: 应该学一学ARM了。但如何学ARM是一个很大的问题。目前,很多ARM开发板/学习板给人的印象是: 学ARM必移植LINUX(或者uCLinux),必搞TCP/IP。其实这是不对的。LINUX(μCLinux)、TCP/IP均是计算机范畴的东西,与ARM没有必然的联系,它们本身就是一个十分复杂的体系。一个人要精通任何一种都很困难,又何必与ARM搅在一起,人为增加学习ARM的难度?而且,如果学习这些不成功,势必会打击学习者的积极性。本书就是以一个简单的ARM开发学习板EasyARM2104为基础,引导大家学习ARM的精髓,让想学ARM的人都读得懂、学得会,增强其信心,为以后可学习更复杂的ARM打下坚实的基础。

本书的各个章节安排如下:

    第1章介绍了ARM7TDMI和ARM7TDMI(S)的体系结构中对程序员有用的部分。体系结构中很多东西仅仅对芯片设计者或编译器开发者或仿真器开发者有用,它们没有包含到第1章中。
    
    第2章介绍ARM7TDMI(S)的指令集且介绍了如何编写汇编程序。ARM7TDMI和ARM7TDMI(S)是基于ARM体系结构版本v4T的,这一章仅介绍ARM体系结构版本v4T支持的指令,ARM体系结构版本v5及以上版本扩展的指令没有介绍。汇编程序设计是以ARM公司自己开发的基层开发环境ADS1.2中附带的汇编器为基础讲解,这一章还给出C与汇编混合编程的方法,并给出指令和汇编伪指令速查表。

    第3章介绍EasyARM2104开发学习板的主控芯片LPC2104的硬件结构和功能部件,在介绍功能部件原理的同时通过简单的程序片断加深读者对相应功能件的理解。

    第4章介绍了EasyARM2104开发学习板的特点、硬件原理和基本使用方法,相当于EasyARM2104开发学习板的简单说明书。阅读完这一章,读者应当知道如何设计基于芯片LPC2106/2105/2104的用户板。

    第5章详细讲述了LPC2106/2105/2104的各个功能部件的编程方法。这一章首先介绍了系统最底层的一些操作代码,并给出了一个使用C语言但不使用RTOS时通用的启动代码。使用这个启动代码之后,这几个芯片最底层的一些操作读者可以不再关心,读者可以从C语言的main函数开始编写代码。然后本章分析各个功能部件的编程方法,并分别给出汇编的例子和C语言的例子。

    第6章详细讲述了如何把嵌入式实时操作系统μC/OSII移植到芯片LPC2106/2105/2104上。与一般公开的移植不同,本移植的任务不必在特权模式下运行(在用户和/或系统模式下运行),任务可以任意使用ARM指令和/或Thumb指令。而且,它还支持μC/OSII内核与用户任务分别编译,分别调入芯片执行的应用。

    第7章介绍了各种情况下移植代码的使用方法,包括如何建立ADS工程。用户可以根据自己的需求参考相关部分编写自己的代码。

    第8章介绍了移植代码相对原来的μC/OSII增加的函数和配置参数。

    第9章~第12章介绍了LPC2106/2105/2104几个重要功能部件的中间件,并分析了中间件的原理。它们包括数据队列、串口驱动驱动、I2C总线驱动和SPI总线驱动。它们应当可以直接在用户板中使用。

    第13章则介绍了剩余功能部件在使用μC/OSII的情况下如何编程。由于这些部件使用非常灵活,所以很难写出通用中间件。但读者可以通过这一章学会使用它们的方法。

    参与本书写作、策划及EasyARM2104开发套件设计的工作主要人员有: 陈明计、戚军、黄绍斌、钟亦峰、岳宪臣、朱旻和李仕兵等,全书由周立功负责策划、审定和统稿。

    在此感谢美国PHILIPS半导体公司的潘志强先生、PHILIPS亚太区经理华果先生、PHILIPS香港区的梅润平、李建业、刘俊杰、郭志锐和陈华程等先生以及PHILIPS大陆区的刘忠、杨俊等先生多年来的大力支持和帮助。如果没有他们长期以来对我们的支持,我们肯定不能取得今天这样的成绩。

    感谢北京航空航天大学出版社的大力支持,如果没有他们的帮助和努力,这本书不会这么快出版。
感谢“周立功单片机团队”所有成员几年来亲密无间的合作和默默无私的奉献,我之所以有今天,完全是与他们共同努力的结果,我仅仅是“周立功公司”的代表而已。

    由于本书的所有作者都是初次使用ARM,理解难免出现偏差。因此,本书在各个方面难免有疏忽、不恰当甚至完全错误的地方,恳请各位同行指正。

                                 周立功
      2003年9月3日
    如果读者在阅读本书时有什么问题,或需要技术支持,或需要购买与本书配套的EasyARM2104开发套件,可与我公司联系。具体联系方式如下:广州周立功单片机发展有限公司
邮编: 510630
地址: 广州市天河区天河北路689号光大银行大厦16楼D2
电话: (020) 38730916387309173873097638730977传真: (020)38730925
电子邮箱:info@zlgmcu.com网址: http://www.zlgmcu.com
技术支持
电话: (020)8552099585539796855473868554162185541773
电子邮箱: ARM@zlgmcu.com
广州周立功专卖店
地址: 广州市天河区新赛格电子城203~204室
电话: (020)87578634传真: (020)87578842
深圳周立功
地址: 深圳市深南中路2070号电子科技大厦A座22楼2201室
电话: (0755)837817688378178883782922传真: (0755)83781798
成都周立功
地址: 成都市一环路南一段57号金城大厦618室
电话: (028)85499320传真: (028)85439505
北京周立功
地址: 北京市海淀区黄庄知春路113号银网中心715室(中发电子市场斜对面)
电话: (010)625361786253617982614433传真: (010)82614433
上海周立功
地址: 上海市中山西路827号东华大学上海喜天游大酒店4楼C31室
电话: (021)62199015传真: (021)62199016
杭州周立功
地址: 杭州市教工路2号杭州电子市场仪器仪表城二楼555室
电话: (0571)88271834传真: (0571)88271326
南京周立功
地址: 南京市珠江路280号珠江大厦2006室
电话: (025)3613221传真: (025)3641103ARM



目录 第1章 从程序员角度看ARM7TDMI(S)
1.1简介1
1.1.1 ARM1
1.1.2 ARM的体系结构1
1.1.3 ARM7TDMI(S)2
1.2 ARM7TDMI(S)的模块和内核框图3
1.3 体系结构直接支持的数据类型3
1.4 处理器状态5
1.5 处理器模式5
1.6 内部寄存器6
1.6.1 简介6
1.6.2 ARM状态寄存器集6
1.6.3 Thumb状态寄存器集9
1.7 程序状态寄存器11
1.7.1 简介11
1.7.2 条件代码标志12
1.7.3 控制位12
1.7.4 保留位13
1.8 异常13
1.8.1 简介13
1.8.2 异常入口/出口汇总14
1.8.3 进入异常14
1.8.4 退出异常15
1.8.5 快速中断请求15
1.8.6 中断请求15
1.8.7 中止16
1.8.8 软件中断指令16
1.8.9 未定义的指令17
1.8.10 异常向量17
1.8.11 异常优先级17
1.9 中断延迟18
1.9.1 最大中断延迟18
1.9.2 最小中断延迟18
1.10 复位18
1.11 存储器及存储器映射I/O19
1.11.1 简介19
1.11.2 地址空间19
1.11.3 存储器格式20
1.11.4 未对齐的存储器访问21
1.11.5 指令的预取和自修改代码22
1.11.6 存储器映射的I/O25
1.12 寻址方式简介27
1.13 ARM7TDMI(S)指令集简介27
1.13.1 简介27
1.13.2 ARM指令集28
1.13.3 Thumb指令集31
1.14 协处理器接口简介32
1.14.1 简介32
1.14.2 可用的协处理器33
1.15 调试接口简介33

第2章 ARM7TDMI(S)指令集及汇编
2.1 ARM处理器寻址方式35
2.2 指令集介绍38
2.2.1 ARM指令集38
2.2.2 Thumb指令集62
2.3 伪指令78
2.3.1 符号定义伪指令78
2.3.2 数据定义伪指令81
2.3.3 报告伪指令86
2.3.4 汇编控制伪指令88
2.3.5 杂项伪指令91
2.3.6 ARM伪指令97
2.3.7 Thumb伪指令98
2.4 ARM汇编程序设计99
2.5 C与汇编混合编程108
2.5.1 内嵌汇编109
2.5.2 访问全局变量113
2.5.3 C与汇编相互调用113

第3章 LPC2106/2105/2104硬件结构与功能
3.1 简介117
3.1.1 特性118
3.1.2 引脚信息119
3.2 LPC2106/2105/2104存储器寻址123
3.2.1 片内存储器123
3.2.2 存储器映射124
3.2.3 LPC2106/2105/2104存储器重新映射和Boot Block126
3.2.4 预取指中止和数据中止异常129
3.3 系统控制模块129
3.3.1 系统控制模块功能汇总129
3.3.2 引脚描述129
3.3.3 晶体振荡器130
3.3.4 寄存器描述130
3.3.5 外部中断输入131
3.3.6 存储器映射控制134
3.3.7 PLL(锁相环)135
3.3.8 功率控制140
3.3.9 复位142
3.3.10 VPB分频器142
3.3.11 唤醒定时器143
3.4 存储器加速模块144
3.4.1 介绍144
3.4.2 存储器加速器模块的操作模式146
3.4.3 MAM配置147
3.4.4 寄存器描述147
3.5 向量中断控制器149
3.5.1 特性149
3.5.2 描述149
3.5.3 寄存器描述149
3.5.4 VIC寄存器151
3.5.5 中断源154
3.5.6 VIC使用事项156
3.6 GPIO159
3.6.1 特性159
3.6.2 应用159
3.6.3 引脚描述159
3.6.4 寄存器描述160
3.6.5 GPIO使用注意事项161
3.7 引脚连接模块162
3.7.1 介绍162
3.7.2 应用162
3.7.3 寄存器描述162
3.8 UART0167
3.8.1 特性167
3.8.2 引脚描述167
3.8.3 寄存器描述168
3.8.4 结构174
3.9 UART1176
3.9.1 特性176
3.9.2 引脚描述177
3.9.3 寄存器描述177
3.9.4 结构185
3.10 I2C接口188
3.10.1 特性188
3.10.2 应用188
3.10.3 描述188
3.10.4 引脚描述191
3.10.5 寄存器描述191
3.10.6 结构196
3.11 SPI接口199
3.11.1 特性199
3.11.2 描述199
3.11.3 引脚描述202
3.11.4 寄存器描述202
3.11.5 结构204
3.12 定时器0和定时器1206
3.12.1 特性206
3.12.2 应用207
3.12.3 引脚描述207
3.12.4 寄存器描述207
3.12.5 定时器举例操作212
3.12.6 结构213
3.13 脉宽调制器(PWM)215
3.13.1 特性215
3.13.2 描述216
3.13.3 引脚描述219
3.13.4 寄存器描述219
3.14 实时时钟226
3.14.1 特性226
3.14.2 描述226
3.14.3 结构226
3.14.4 寄存器描述227
3.14.5 RTC中断228
3.14.6 混合寄存器组228
3.14.7 完整时间寄存器230
3.14.8 时间计数器组231
3.14.9 报警寄存器组232
3.14.10 基准时钟分频器(预分频器)232
3.15 看门狗236
3.15.1 特性236
3.15.2 应用237
3.15.3 描述237
3.15.4 寄存器描述237
3.15.5 方框图239
3.16 Flash存储器系统和编程240
3.16.1 Flash存储器系统240
3.16.2 Flash Boot装载程序240
3.16.3 特性241
3.16.4 应用241
3.16.5 描述241
3.16.6 Boot处理流程图244
3.16.7 扇区数244
3.16.8 JTAG Flash编程接口256

第4章 EasyARM2104开发实验板
4.1 功能特点258
4.2 硬件原理259
4.2.1 原理图259
4.2.2 原理说明259
4.3 硬件结构264
4.3.1 布局图264
4.3.2 跳线器及连接器说明265
4.4 实验板使用基础268
4.4.1 调试框图268
4.4.2 调试设置及操作268
4.4.3 固化程序273
4.4.4 其它276

第5章 LPC2106/2105/2104基础实验
5.1 LPC2106/2105/2104系统基础278
5.1.1 系统时钟介绍278
5.1.2 REMAP操作及调试280
5.1.3 启动代码说明281
5.2 LPC2106/2105/2104功能部件实战287
5.2.1 GPIO287
5.2.2 中断299
5.2.3 定时器306
5.2.4 UART311
5.2.5 I2C接口320
5.2.6 SPI接口334
5.2.7 PWM339
5.2.8 实时时钟344
5.2.9 WDT350
5.2.10 低功耗353
5.2.11 IAP应用358
5.2.12 除法运算364
5.3 PC机人机界面370
5.3.1 EasyARM软件窗口介绍370
5.3.2 EasyARM软件通信协议370
5.3.3 EasyARM应用例程373

第6章 移植μC/OSII
6.1 μC/OSII简介379
6.2 移植规划380
6.2.1 编译器的选择380
6.2.2 任务模式的取舍380
6.2.3 支持的指令集380
6.2.4 对RTOS系统内核与任务分别编译的支持380
6.3 编写LPC2106/2105/2104的启动代码381
6.3.1 为何要编写启动代码381
6.3.2 文件的划分381
6.3.3 异常向量表381
6.3.4 系统初始化代码382
6.3.5 初始化CPU堆栈InitStack383
6.3.6 异常处理代码与C语言接口的例子384
6.3.7 系统基本初始化TargetResetInit()的例子387
6.3.8 初始化库函数的堆391
6.4 移植μC/OSII391
6.4.1 关于头文件Includes.h和Config.h391
6.4.2 不依赖于编译的数据类型391
6.4.3 使用软中断SWI作底层接口392
6.4.4 软中断的汇编接口393
6.4.5 OS_ENTER_CRITICAL() 和 OS_EXIT_CRITICAL()397
6.4.6 OS_STK_GROWTH398
6.4.7 OS_TASK_SW()399
6.4.8 OSStartHighRdy()399
6.4.9 OSCtxSw()和OSIntCtxSw()400
6.4.10 中断程序及系统时钟节拍中断服务程序的编写405
6.4.11 OSTaskStkInt()407
6.4.12 ...Hook()函数408
6.4.13 移植增加的特定函数409
6.5 移植μC/OSII的例子412
6.5.1 移植例子中的PC.C(PC中的功能函数)413
6.5.2 范例1的移植413
6.5.3 范例2的移植413
6.5.4 范例3的移植414

第7章 移植代码的使用
7.1 高性能的应用415
7.1.1 选择指令集415
7.1.2 建立ADS的工程415
7.1.3 调试参数的设置422
7.1.4 编程注意事项423
7.2 高代码密度的应用424
7.2.1 选择指令集424
7.2.2 建立ADS的工程424
7.2.3 调试参数的设置426
7.2.4 编程注意事项426
7.3 性能与代码密度兼顾的应用427
7.3.1 选择指令集427
7.3.2 建立ADS的工程427
7.3.3 调试参数的设置428
7.3.4 编程注意事项428
7.4 μC/OSII与应用代码分别编译的应用429
7.4.1 分别编译的必要性429
7.4.2 分别编译的局限性429
7.4.3 生成μC/OSII的ROM映像代码(写入Flash中)430
7.4.4 生成应用程序代码434
7.4.5 注意事项436

第8章 移植代码新增的函数手册和配置手册
8.1 新增的函数手册437
8.2 新增的配置手册440

第9章 中间件之数据队列
9.1 概述441
9.2 使用441
9.2.1 配置选项441
9.2.2 函数手册441
9.2.3 使用范例445
9.3 原理447
9.3.1 数据结构447
9.3.2 建立数据队列447
9.3.3 FIFO方式发送数据449
9.3.4 LIFO方式发送数据451
9.3.5 取得数据454
9.3.6 清空数据队列456
9.3.7 取得数据队列状态456

第10章 中间件之串口驱动
10.1 概述458
10.2 使用458
10.2.1 配置选项458
10.2.2 函数手册458
10.2.3 使用范例460
10.3 原理463
10.3.1 初始化UART0463
10.3.2 UART0中断处理例程465
10.3.3 发送一个字节468
10.3.4 发送多个字节468
10.3.5 接收一个字节469

第11章 中间件之I2C总线驱动
11.1 概述470
11.2 使用470
11.2.1 函数手册470
11.2.2 使用范例472
11.3 原理474
11.3.1 初始化I2C474
11.3.2 写I2C从器件475
11.3.3 从I2C从器件读数据477
11.3.4 I2C中断服务程序478

第12章 中间件之SPI总线驱动
12.1 概述481
12.2 使用481
12.2.1 配置选项481
12.2.2 函数手册482
12.2.3 使用范例484
12.3 原理486
12.3.1 初始化SPI486
12.3.2 获取SPI状态487
12.3.3 开始访问SPI(获取SPI访问权)487
12.3.4 读写SPI488
12.3.5 访问SPI结束(归还SPI访问权)488
12.3.6 SPI中断服务程序489

第13章 在μC/OSII中使用其它片内外设
13.1 概述491
13.2 通用I/O的使用491
13.3 定时器的使用493
13.4 PWM的使用493
13.5 实时时钟的使用495

附录A常见问题
A.1 程序写入Flash后不能运行500
A.2 进入AXD后无法调试500
A.3 不能进入ISP501
A.4 从JTAG调试出错501
A.5 项目不能拷贝到其它目录501
附录BJTAG接口设计指南
附录CARM指令集相关列表汇总
C.1 ARM指令列表503
C.2 Thumb指令列表505
C.3 汇编预定义变量及伪指令507
C.4 其它511
附录DPHLIPS LPC ARM微控制器系列产品列表
参考文献


商品评论

(*只显示最新6条评论。评论内容只代表网友观点,与本站立场无关。)

发表评论
(带*号为必填项)  
姓 名: ☆☆ ☆☆☆ ☆☆☆☆ ☆☆☆☆☆
标 题:
内 容:
 
本类热门商品
 
ARM嵌入式系统实验教程(一)
单片机创新开发与机器人制作
单片机应用技术选编(4)
机器人制作入门篇
机器人的创意设计与实践
单片机应用技术选编(3)
机器人制作提高篇
《单片机与嵌入式系统应用》合订本2003(上)
单片机应用技术选编(2)精装
单片机应用技术选编(1)

 

 
图书分类
 
嵌入式技术
教材与教辅
应用技术基础
应用程序设计与开发
不同应用领域
实例、实践、系统设计及接口技术
51系列单片机器件原理及应用
INTEL公司16位单片机
AVR单片机
PIC单片机
MSP430单片机
MOTOROLA单片机
EPSON单片机
凌阳公司单片机
其他公司单片机
单片机及外围器件手册
应用技术选编及应用文集
青少年单片机
模糊技术
单片机综合类
DSP
ARM
嵌入式系统教程
嵌入式操作系统及软件开发
嵌入式系统国外版权引进
复杂数字系统设计
总线技术
无线通信电路设计
会议论文集
杂志合订本
周立功公司策划图书
机器人
 
赞助商 [更多]
 


ICP许可证号:[粤 05056597]
联系电话:010-82517432 82517615 传真: 010-82517615

版权所有 Copyright © 2006 嵌入式技术网