出版时间:2010-11 出版社:北京航空航天大学出版社 作者:李宁 页数:249
前言
近几十年来,8位微控制器一直占据着整个嵌入式市场的主导地位。其中,8051系列芯片的应用最为广泛,然而其指令系统和寻址能力都有着一定的局限性,有时为了提高性能,甚至需对8051指令系统进行大幅修改。随着时代的发展、MCU应用范围的扩展,市场对更强大性能、更低功耗的低价MCU的需要越来越强烈。于是我们NXP半导体公司开始寻找8051系列芯片的替代品,NXP公司与ARM公司的产品经理也对此开始进行了深入地研讨。当时,Cortex-M3已经在32位处理器市场崭露头角,NXP也有了相应的Cortex-M3处理器LPcl3xx系列和LPCI7xx系列,但它们还没有涉足16位和高端8位处理器市场,在价格上还不能替代8051微控制器。由于意识到8/16位微控制器市场是不容忽视的,NXP公司的微控制器经理与ARM公司有了一次会谈,向ARM公司定制一个极小的32位微控制器,这次会谈的结果就是Cortex-MO微处理器的诞生,它主要包含了以下特性:精简的指令集,仅有56个指令,向后兼容ARMv6指令集(Thumb-2)。增加了一个32位输入中断控制器。处理器活动功耗与主流8/16位微处理器相当。逻辑门减少到1万2千个(总逻辑门与8051并齐,比ColdFire vl少得多)。可以复用已有的ARM集成开发环境(IDE)和硬件调试工具。ARM的生态系统(编译器、工具、软件、社区等)把MCu用户从重复学习和不断的投资中解救了出来。有了ARM的良好生态系统,LPC1xx(基于Cor-tex-MO)系列处理器一面世就很快吸引了很多合作者提供廉价甚至免费的开发工具、解决方案。除了传统的MDK和IAR开发工具之外,像CooCox Tools这样的免费开发工具,就是LPclxx受世界范围大量支持的证明。CooCox这种基于云计算采用组件开发模式的开发工具,给开发者提供了一个非常低廉且容易上手的交互平台,开发LPC1xx McU应用所需的各种信息都可从中获得,而且它还成为了众多开发者和爱好者交流ARM MCU开发经验及知识的平台。
内容概要
本书介绍了基于MDK的LPC1100处理器应用开发。全书共8章,分为4部分;第一部分包括第1到第3章,详细介绍了Corltex-MO处理器的编程模型、存储结构、异常处理机制、指令集、NVIC、系统控制块SCB和调试系统等。第二部分包括第4、5章,简要介绍了LPC1100处理器的系统控制器、片上外设、GPIO及引脚配置、EM-LPC11ooLK开发板和MDK使用方法,并在此基础上给出了一个简单的LPC1100例程,是读者学习使用MDK进行LPC1100处理器应用开发的准备知识。第三部分包括第6、7章,介绍了LPC1100处理器的所有系统控制以及片上外设,对每个模块都详细介绍其结构、特点及功能,并提供了一个小的应用实例。第四部分为第8章,介绍了两个基于LPC1100处理器的综合应用实例。 本书既是使用MDK进行LPC1100处理器应用开发的指导书,还可作为LPC1100处理器的开发参考手册。另外,还可以作为ARM Cortex-MO的编程入门指南。
书籍目录
第1章 Cortex-M0处理器简介 1.1 Cortex-M0处理器的特点 1.2 Cortex-M0处理器的基本结构 1.3 LPC 1100系列处理器第2章 Cortex-M0处理器编程模型 2.1 处理器核寄存器组 2.2 处理器工作模式及堆栈使用 2.3 存储系统组织 2.4 异常处理 2.5 功耗管理 2.6 指令集第3章 Cortex-M0核外设 3.1 内嵌向量中断控制器NVIC 3.2 系统控制块 3.3 系统定时器SysTick 3.4 调试系统第4章 LPC1110处理器基础 4.1 系统控制模块 4.2 处理器引脚及I/O功能配置 4.3 通用I/O端口 4.4 处理器片内Flash及其编程第5章 快速启用LPC1100 5.1 EM-LPC1100LK开发套件 5.2 MDK的安装与配置 5.3 μVision 4.0 IDE 5.4 CMSIS标准 5.5 第一个LPC1100应用程序Blinky第6章 LPC1110处理器基本接口第7章 LPC1110处理器通信接口第8章 综合应用参考文献
章节摘录
插图:1.进入睡眠模式进入睡眠模式的方式有以下几种:等待中断指令wFI,使处理器立即进入睡眠模式;当处理器执行一条WFI指令时,它停止执行指令并进入睡眠模式。等待事件指令wFE,根据条件让处理器进入睡眠模式,这里的条件是根据1位事件寄存器的值。当处理器执行一条wFE指令时,它将检查事件寄存器的值:如果是0,则处理器停止执行指令,进人睡眠模式;如果是处理器将寄存器该位的值置为1,并继续执行指令,则不进入睡眠模式。如果事件寄存器的值为1,表明处理器在执行wFE指令时不能进入睡眠模式。典型的情况:这是由于一个外部事件信号的要求,或在多处理器系统中的另一个处理器执行了一条SEV指令。异常退出时睡眠(sleep-on-exit),如果SCR寄存器的SLEEPONEXIT位置1,则当处理器完成执行一个异常处理并返回Thread模式时,处理器立即进入睡眠状态,这一机制用于仅仅需要处理器在中断发生时才运行的应用中。系统可能产生伪唤醒事件,例如,一个调试操作可唤醒处理器。因此软件在此事件后,必须能重新让处理器进入睡眠模式。为了把处理器置回睡眠模式,程序可能需要一个空闲循环。
编辑推荐
《基于MDK的LPC1100处理器开发应用》:ARM RealView MDK系列丛书
图书封面
评论、评分、阅读与下载