前言
随着我国信息化建设的不断发展,嵌入式技术成为发展最快、应用最广、最有前景的技术之一,嵌入式设备也不断应用到人们生活的各个领域,如电信、医疗、汽车电子、安全和消费等。广阔的应用前景导致了巨大的人才需求,据国内人才网统计,嵌入式工程师凭借其旺盛的需求荣登IT职场人气排行榜榜首,社会各界也对嵌入式人才的就业前景非常看好。
面对嵌入式系统如火如荼的发展形势,业界掀起了嵌入式系统理论和应用开发的学习热潮,各大高校也开设了相关课程。“桂电-丰宝联合实验室”在合作开发嵌入式教学平台的基础上,相继出版了嵌入式系列教材“ARM原理与嵌入式应用——基于LPC2400系列处理器和IAR开发环境”、“基于LPC3250的嵌入式Linux系统开发”。本书是“桂电-丰宝联合实验室”长期合作的又一成果,本书以LPC1100系列处理器为例,介绍Cortex-M0处理器的工作原理与应用开发。
Cortex-M0是ARM公司为了占领单片机市场而推出的一款极具竞争力的MCU,该处理器是市场上现有的最小、功耗最低、最节能的具有32位架构性能的ARM处理器。与素有“体积小、功耗低、简单易学、性能价格比高”的8051单片机相比,Cortex-M0的价格与之相当,但体积更小,功耗更低,性能更强,学习难度也与8051相当,因此,该款处理器极其适合作为入门级的首选。目前已有多家公司获得Cortex-M0处理器授权,比如新唐科技、NXP(恩智浦)等。其中,NXP的LPC1100系列处理器以其低功耗和高性能等特性,在Cortex-M0产品中占有较大市场份额。
本书从基础理论知识到实际应用,详细介绍了LPC1100系列处理器的结构、指令、接口和中断等,是读者学习Cortex-M0应用开发的基础入门教程。同时,实践是嵌入式系统课程的重要环节,缺乏实践的嵌入式系统课程是纸上谈兵。为了便于读者揣摩研习,本书的所有例程均已在上海丰宝电子信息科技有限公司开发的基于LPC1100系列处理器的实验平台——LINPO-PS-LPC11xx实验平台测试过,该平台可与本书配合使用。
本书围绕着NXP的LPC1100系列处理器及应用开发展开,共10章,5个部分,包括嵌入式系统概述、LPC1100硬件结构和指令系统、IAR EWARM集成开发环境、LPC1100接口技术与中断、基于LPC1100系列处理器的应用开发实例。
第一部分为第1章,即嵌入式系统概述,主要对嵌入式系统及ARM处理器进行了概述,对ARM处理器的结构进行了介绍,并简要介绍Cortex-M0处理器的特点和技术规范。
第二部分包括第2章和第3章,其中第2章主要介绍LPC1100系列处理器的硬件结构。内容包括LPC1100系列处理器的简介、总线结构、存储器管理、寄存器组织、系统配置、电源管理、串行线调试和最小系统等。第3章为Cortex-M0指令系统,首先对Cortex-M0指令系统进行了概述,介绍了几种常用的寻址方式,并对Cortex-M0常用的指令集进行了详细介绍,包括存储器访问指令、通用数据处理指令、跳转与控制指令和综合指令等,最后对汇编程序基本结构进行了举例说明。
第三部分为第4章,即IAR集成开发环境应用,主要介绍了IAR EWARM的特点,以及结合LPC1100系列处理器进行工程建立、编译与连接的方法,其中重点介绍了IAR C-SPY调试器的使用。此外,还介绍了如何在上海丰宝电子信息科技有限公司的LINPO-PS-LPC11xx实验平台上进行应用程序的开发与调试。
第四部分为第5~9章,主要对LPC1100系列处理器的接口技术和中断系统进行了介绍。其中,第5章介绍中断控制系统,第6章介绍通用I/O口配置及其应用,第7章介绍定时/计数器及其应用,第8章介绍LPC1100系列处理器的串行总线通信及其应用,包括UART、SPI、I2C和CAN,第9章对LPC1100系列处理器的A/D转换器及其应用进行介绍。在对接口技术进行介绍时,对接口配置的方法进行了详细描述,通过实例来引导读者更好地学习。
第五部分为第10章,是基于LPC1100系列处理器的应用开发实践。本部分介绍了4个应用开发实例,分别为SPI Flash存储器的读写、波形发生器的设计、矩阵键盘与显示、温度采集。SPI Flash存储器的读写是针对Winbond公司生产的W25X系列Flash存储器的应用,波形发生器是采用LPC1100系列处理器具有的PWM功能而设计的,矩阵键盘与显示利用了LINPO-PS-LPC11xx实验平台上的矩阵键盘,温度采集是利用具有I2C接口的LM75A数字温度传感器和温度监控器而设计的温度采集系统。
附录部分介绍了LPC1100系列芯片的各封装引脚图、Cortex-M0处理器指令集、IAR下的汇编启动代码和LINPO-PS-LPC11xx实验平台的电路图。
本书可作为高等院校电子信息类专业本科生及研究生“嵌入式系统”课程入门教程,也可作为嵌入式爱好者或从事嵌入式系统应用的人员参考。本书也可以作为工程开发的入门指导书,还可作为LPC1100处理器的开发参考手册。另外,还可以作为ARM Cortex M0的编程入门指南。
本书由张红梅担任主编,由“桂电-丰宝联合实验室”的教师和工程师共同策划和编写,其中参与策划和编写的有张红梅、魏艺海、王鹏鹏、陈俊彦、张全君、吴阿沛。全书由张红梅负责统稿工作,郭远洋、吕兆辉、田庆阳、何燕、韦贤岁对本书进行了认真的校对。
感谢上海丰宝电子信息科技有限公司的朱玉峰总经理对本书工作的支持,感谢NXP(北京)有限公司的王鹏鹏女士、NXP(上海)有限公司的王维先生对本书提出的许多建设性意见和不辞劳苦的审阅工作。同时,也非常感谢家人的理解与支持。
由于时间仓促及作者水平有限,书中难免存在遗漏和不足之处,恳请读者批评指正。
桂林电子科技大学
张红梅
2011年9月