本书以ARM Cortex M3内核LPC1788微控制器为讲述对象,分成基础篇、入门篇、进阶篇,覆盖了LPC1788微控制器基本外设应用、嵌入式实时操作系统μC/OS II、μC/OS III、FreeRTOS、TCP/IP协议栈LwIP、μIP,以及嵌入式图形系统μC/GUI的应用,软件与硬件兼顾,涉及理论但更偏重于实践。
全书共分为20章,所讲述的18个实例涵盖了最常用的外设以及典型的应用,实例设计中软件架构清晰,层次分明,跨平台可移植性强。
本书可作为高等院校计算机、电子信息工程、自动控制等专业本科生、研究生的嵌入式系统教材,也可供从事ARM和嵌入式软件开发的科研人员、从业人员和高等院校师生使用。
ARM CortexM3是一种基于ARM7v架构的最新ARM内核,NXP公司的LPC178x/7x系列微控制器以性能强大的ARM CortexM3 版本r2p0为内核, 面向通信、工业、医疗、消费家电、汽车等领域,用于处理要求高集成度和低功耗嵌入式应用的32位RISC处理器。
目前,市面上有关LPC1788系列微控制器的图书为数不多,一般分为两种类型:一类基于μC/OSIII讲述嵌入式实时操作系统及外设应用,另一类则多针对各种外设接口介绍编程设计。很少有能够综合硬件与嵌入式系统软件设计,集各类综合应用于一体的。本书基于LPC178x/7x系列微控制器,既涉及基础理论,又涉及嵌入式系统软件设计,整体侧重于实践。内容分为基础篇、入门篇和进阶篇:基础篇主要介绍LPC1788微控制器分类与结构特点,RealView MDK、IAR EWARM的开发环境及其开发板;入门篇主要基于LPC1788微控制器的常用外设进行应用设计;重点为进阶篇,覆盖了嵌入式实时操作系统μC/OSII、μC/OSIII、FreeRTOS、TCP/IP协议栈LwIP、μIP,以及嵌入式图形系统μC/GUI,在介绍硬件编程设计与应用的同时,深化了基于系统软件层次架构下的应用,使读者迅速入门和提高。
本书的内容结构
全书共20章,划分为三大篇。各篇、章内容安排如下:
基础篇 ARM CortexM3是一种基于ARM7v架构的最新ARM内核,NXP公司的LPC178x/7x系列微控制器以性能强大的ARM CortexM3 版本r2p0为内核, 面向通信、工业、医疗、消费家电、汽车等领域,用于处理要求高集成度和低功耗嵌入式应用的32位RISC处理器。
目前,市面上有关LPC1788系列微控制器的图书为数不多,一般分为两种类型:一类基于μC/OSIII讲述嵌入式实时操作系统及外设应用,另一类则多针对各种外设接口介绍编程设计。很少有能够综合硬件与嵌入式系统软件设计,集各类综合应用于一体的。本书基于LPC178x/7x系列微控制器,既涉及基础理论,又涉及嵌入式系统软件设计,整体侧重于实践。内容分为基础篇、入门篇和进阶篇:基础篇主要介绍LPC1788微控制器分类与结构特点,RealView MDK、IAR EWARM的开发环境及其开发板;入门篇主要基于LPC1788微控制器的常用外设进行应用设计;重点为进阶篇,覆盖了嵌入式实时操作系统μC/OSII、μC/OSIII、FreeRTOS、TCP/IP协议栈LwIP、μIP,以及嵌入式图形系统μC/GUI,在介绍硬件编程设计与应用的同时,深化了基于系统软件层次架构下的应用,使读者迅速入门和提高。
本书的内容结构
全书共20章,划分为三大篇。各篇、章内容安排如下:
基础篇
第1章,简述基于ARM CortexM3内核的LPC178x/7x处理器的产品型号与分类、主要特点、外设配置、存储器映射等,此外还介绍了CMSIS软件接口标准,基于CMSIS架构的软件设计层次,为后续学习打好基础。
第2章,是开发工具入门介绍,讲述了开发工具软件环境RealView MDK、IAR EWARM、仿真器Jlink、ULINK2,以及本书配套实验LPC1788硬件开发平台,读者可以对常用开发工具及硬件平台有一入门性的了解。
入门篇
第3章,先从I/O配置与GPIO端口部分进行原理讲述,然后列举了两个简单的GPIO端口应用实例。
第4章,讲述RTC内部功能结构以及RTC应用实例。着重介绍RTC原理、相关寄存器与库函数功能、通过调用I/O引脚连接管理驱动库、RTC模块驱动库以及UART模块驱动库等,列举了两个简单的RTC应用实例。
第5章,讲述定时器的特点、结构、库函数,以及应用实例。着重介绍定时器外设的原理、相关寄存器与库函数功能、通过定时器外设驱动库以及UART模块驱动库等实现的两个定时器应用实例。
第6章,着重讲述ADC外设的基本原理、寄存器,以及库函数功能,详解调用其他公用模块驱动库实现两个ADC采样与转换实例的编程设计。
第7章,简述DAC外设的基本结构、寄存器,以及库函数功能,详述通过综合I/O引脚连接管理驱动库、定时器外设驱动库、DMA控制器驱动库、DAC驱动库实现DAC输出的应用。
第8章,简述PWM外设的基本结构、相关寄存器,以及库函数功能等,详解以I/O引脚连接管理驱动库、PWM外设驱动库为基础实现单双沿PWM信号的应用。
第9章,主要介绍MCPWM外设的基本结构、相关寄存器、库函数以及基本应用操作,以MCPWM外设驱动库为基础实现MCPWM信号的简单输出应用。读者可通过改良,快速实现三相直流或交流电机驱动。
第10章,主要介绍UART外设的基本结构、寄存器、库函数以及基本应用操作等,详解以UART外设驱动库为基础实现RS232和RS485标准数据通信的应用。
第11章,主要介绍SSP外设相关寄存器、库函数功能等,介绍基于SSP外设驱动库来设计SST25VF016B存储器的相关操作功能函数和实现串行存储器的简易操作。
第12章,主要介绍I2S外设的基本特性、寄存器和库函数。定义I2C总线接口对数字音频编解码UDA1380的硬件配置,I2S总线接口实现对既定义音频数据流的传送,实现了一个数字音频数据流演示传输的实例。
第13章,主要介绍MCI外设的基本特性、相关寄存器和库函数功能等。安排了基于SD卡的文件系统操作实例,实例软件设计基于应用层、中间件层、硬件底层的三层架构,对FATFS中间件层程序文件、文件系统的各种操作指令及存储介质I/O接口均作了详细的阐述。
第14章,介绍LCD控制器的基本特性、相关寄存器,并简单介绍一些库函数功能,演示了LCD控制器驱动7 in(英寸)TFT液晶屏以及触摸屏多点校准的例程。
第15章,讲述LPC178x微控制器以太网控制器接口的基本结构与特性、寄存器及库函数功能等,同时也介绍了以太网物理收发器LAN8720A的相关寄存器及配置方式,以及μIP协议栈的特点、架构、与底层的接口、移植重点等,通过两个应用实例演示采用以太网接口的网络通信,实例侧重于μIP协议栈的应用设计。
进阶篇
第16章,主要介绍嵌入式实时操作系统μC/OSII的内核体系结构和特点,并集中讲述μC/OSII嵌入式系统的移植要点,最后给出一个简易μC/OSII系统软件编程实例。通过实例展示了如何在μC/OSII系统中进行软件设计,其软件设计涉及的层次结构又是怎样的,以及μC/OSII系统任务的建立和启动方式。
第17章,是一个综合应用实例,以第15章为设计基础。首先介绍网络传输介质、以太网协议的数据帧格式、嵌入式系统的以太网协议等,紧接着详细介绍LwIP协议栈常用的API函数以及内存管理机制,并进一步介绍了基于μC/OSII系统环境的LwIP移植过程。
第18章,详细介绍FreeRTOS系统的特点、文件架构、移植步骤与要点,并通过一个简单的应用实例演示了FreeRTOS系统的运行。
第19章,是一个综合型应用实例,基于第14章LCD控制器进行软件设计。首先讲述嵌入式图形系统μC/GUI的系统架构、各模块的功能实现函数、系统移植步骤等,然后通过一个图形界面显示实例来演示如何在μC/OSII系统中构建μC/GUI图形用户接口及执行触点校准动作。
第20章,详细介绍嵌入式实时操作系统μC/OSIII的特点、内核、内核结构以及主要功能函数,并详细阐述了μC/OSIII系统基于CortexM3内核LPC1788微控制器的移植要点。
本书通过18个实例,由浅入深、点面结合,详细深入地阐述了LPC1788应用实例的开发与应用。这些应用实例典型、类型丰富、覆盖面广,涉及理论但更侧重于实践,代表性和指导性强。
本书特色
(1) 实例丰富、技术新潮。精选了18个应用实例,基础实例主要涉及理论讲述与简易设计,进阶应用实例偏重实践,综合实践指导性强。
(2) 全书实例以“硬件电路设计+软件设计”相结合的形式讲授,帮助读者掌握开发精要,学懂学透。
(3) 基础实例与进阶应用实例并举,软件设计架构分明、层次清晰,有利于跨开发平台移植,兼容性强。
本书实例全部在配套的LPC1788开发板上调试通过。该开发板很适合教学使用,同时也是很好的通用开发板。为促进读者更好地学习,加强互动,提供优惠购买图书配套开发板活动,有需要的读者可以在作者的淘宝网店购买,也可以通过邮件联系作者本人。
本书的代码设计基本采用NXP公司官方公布的库函数,易于操作,使用方便。一般来说,软件模块化设计,主要面向大规模的用户群体以及项目群体,这也是一种最通用的设计;库函数的提供可作为软件设计正规化、规范化、模块化、系统化、承前继后、迭代更新的一种很重要的实现手段。这类库函数在嵌入式操作系统层面设计时适用性较好,可快速实现系统设计与硬件驱动层面的剥离。当然这也对驱动库函数的编写提出了更大的挑战:必须隔离性好,操作定位精确,冗余少,编码风格易懂。这里也必须说明自定义的寄存器型软件设计,它的针对性强,面向客户化需求,其操作时序、速度、效率较高,适合于快速应用、中小规模及裸机系统的固件设计,但不一定适合研发团队代码量很大的开发应用。尽管两种方式都有优缺点,但有一点不容置疑,无论采用哪种方式进行软件设计,硬件底层的设计最终都是针对寄存器的操作,包括但不仅限于配置、定义、修改等操作,它们的实现最终都需要精确到每个寄存器位的设置。
致谢
本书除参考文献提及的书籍与文献外,部分章节的编写参考了网络传播资源以及NXP公司提供的库函数及演示代码,未再一一列出这些资料的贡献者,在此一并感谢。
本书由刘波文编著。这里还要特别感谢黄红光、黄国灿、黄国铭、黄亮金、夏铁华、罗敏、程义育、丁磊、王磊、梁海峰、梁丹、聂静敏、毛文秀、何同芬、崔春艳、崔虎威、熊尉、孙岩、孙江波、陈秋宇、陈攀、陈明、李楠、毛青、张永明、易耀、吕帅、劳展杰、董琴、陶源、谢志强、汤砚侠、刘健等人参与了编写及资料收集工作。
由于涉及内容较多,加之知识有限,时间仓促,书中不足和错误之处在所难免,恳请专家和读者批评指正。
刘波文
2014年6月12日
于深圳
基础篇
第1章 LPC178x系列微控制器概述
1.1CortexM3处理器概述
1.1.1CortexM3配置选项
1.1.2LPC178x/177x系列微控制器型号与分类
1.1.3LPC178x/177x系列微控制器主要特点
1.1.4LPC178x/177x系列微控制器结构概述
1.1.5LPC178x/177x系列微控制器存储器映射
1.1.6片上存储器
1.1.7片上外设及基址
1.2CMSIS软件接口标准
1.2.1CMSIS层与软件架构
1.2.2CMSIS文件结构
第2章 开发工具概述
2.1常用开发工具概览
基础篇
第1章 LPC178x系列微控制器概述
1.1CortexM3处理器概述
1.1.1CortexM3配置选项
1.1.2LPC178x/177x系列微控制器型号与分类
1.1.3LPC178x/177x系列微控制器主要特点
1.1.4LPC178x/177x系列微控制器结构概述
1.1.5LPC178x/177x系列微控制器存储器映射
1.1.6片上存储器
1.1.7片上外设及基址
1.2CMSIS软件接口标准
1.2.1CMSIS层与软件架构
1.2.2CMSIS文件结构
第2章 开发工具概述
2.1常用开发工具概览
2.1.1RealView MDK开发环境
2.1.2IAR EWARM开发环境
2.1.3JLink仿真器
2.1.4ULINK2仿真器
2.2LPC1788评估板简述
2.2.1开发板概览
2.2.2开发板外设接口I/O分配
2.3RealView MDK开发环境快速入门
2.3.1工程项目的建立
2.3.2工程项目的配置
2.3.3编写演示代码
2.3.4工程项目的编译
2.3.5程序下载与调试
2.4IAR开发环境快速入门
2.4.1IAR工程项目的快速建立
2.4.2编译和链接应用程序
2.4.3仿真调试
入门篇
第3章 GPIO端口应用
3.1I/O端口配置概述
3.1.1I/O端口配置描述
3.1.2I/O端口控制寄存器功能描述
3.2GPIO端口概述
3.2.1引脚描述
3.2.2GPIO寄存器描述
3.3GPIO及I/O配置常用库函数
3.3.1GPIO端口库函数功能详解
3.3.2引脚连接配置库函数功能详解
3.4GPIO端口应用实例
3.4.1设计目标
3.4.2硬件电路设计
3.4.3实例软件设计
3.5实例总结
第4章 实时时钟应用
4.1实时时钟(RTC)概述
4.1.1RTC基本配置
4.1.2RTC引脚描述
4.2RTC寄存器描述
4.2.1RTC中断
4.2.2混合寄存器组
4.2.3完整时间寄存器组
4.2.4时间计数器组
4.2.5通用寄存器组
4.2.6报警寄存器组
4.3RTC常用库函数
4.4RTC应用实例
4.4.1设计目标
4.4.2硬件电路设计
4.4.3实例软件设计
4.5实例总结
第5章 定时器应用
5.1定时器(Timer)概述
5.1.1定时器的基本配置
5.1.2定时器的引脚描述
5.2Timer寄存器描述
5.2.1中断寄存器
5.2.2定时器控制寄存器
5.2.3定时器/计数器
5.2.4预分频寄存器
5.2.5预分频计数器
5.2.6匹配控制寄存器
5.2.7匹配寄存器0~
5.2.8捕获寄存器0~
5.2.9捕获控制寄存器
5.2.10外部匹配寄存器
5.2.11计数控制寄存器
5.2.12DMA操作
5.3Timer常用库函数
5.4Timer应用实例
5.4.1设计目标
5.4.2硬件电路设计
5.4.3实例软件设计
5. 5实例总结
第6章 模/数转换器应用
6.1模/数转换器(ADC)概述
6.1.1ADC的基本配置
6.1.2ADC的引脚描述
6.1.3ADC的操作
6.2ADC寄存器描述
6.2.1ADC控制寄存器
6.2.2ADC全局数据寄存器
6.2.3ADC中断使能寄存器
6.2.4ADC数据寄存器0~
6.2.5ADC状态寄存器
6.2.6ADC调节寄存器
6.3ADC常用库函数
6.4ADC应用实例
6.4.1设计目标
6.4.2硬件电路设计
6.4.3实例软件设计
6. 5实例总结
第7章 数/模转换器应用
7.1数/模转换器(DAC)概述
7.1.1DAC的基本配置
7.1.2DAC的引脚描述
7.1.3DAC的操作
7.2DAC寄存器描述
7.2.1D/A转换器寄存器
7.2.2D/A转换器控制寄存器
7.2.3D/A转换器计数器值寄存器
7.3常用库函数
7.3.1DAC驱动库
7.3.2通用DMA控制器常用库函数
7.4DAC应用实例
7.4.1设计目标
7.4.2硬件电路设计
7.4.3实例软件设计
7. 5实例总结
第8章 脉宽调制器应用
8.1脉宽调制器(PWM)概述
8.1.1脉宽调制器的基本配置
8.1.2脉宽调制器的引脚描述
8.1.3单沿和双沿控制规则的采样波形
8.2PWM寄存器描述
8.2.1PWM中断寄存器
8.2.2PWM定时器控制寄存器
8.2.3PWM计数控制寄存器
8.2.4PWM定时器/计数器
8.2.5PWM预分频寄存器
8.2.6PWM预分频计数器寄存器
8.2.7PWM匹配控制寄存器
8.2.8PWM匹配寄存器
8.2.9PWM捕获控制寄存器
8.2.10PWM捕获寄存器
8.2.11PWM控制寄存器
8.2.12PWM锁存使能寄存器
8.3PWM常用库函数
8.4PWM应用实例
8.4.1设计目标
8.4.2硬件电路设计
8.4.3实例软件设计
8. 5实例总结
第9章 电机控制脉宽调制器应用
9.1电机控制脉宽调制器概述
9.1.1电机控制脉宽调制器的基本配置
9.1.2电机控制脉宽调制器的引脚描述
9.2电机控制脉宽调制器寄存器描述
9.2.1MCPWM控制寄存器
9.2.2MCPWM捕获控制寄存器
9.2.3MCPWM中断寄存器
9.2.4MCPWM计数控制寄存器
9.2.5MCPWM定时器/计数器0~2寄存器
9.2.6MCPWM界限0~2寄存器
9.2.7MCPWM匹配0~2寄存器
9.2.8MCPWM死区时间寄存器
9.2.9MCPWM通信格式寄存器
9.2.10MCPWM捕获寄存器
9.3MCPWM的应用操作
9.3.1脉宽调制
9.3.2映射寄存器和同时更新
9.3.3快速中止(ABORT)
9.3.4捕获事件
9.3.5外部事件计数(计数器模式)
9.3.6三相直流模式
9.3.7三相交流模式
9.3.8中断源
9.4MCPWM常用库函数
9.5MCPWM应用实例
9.5.1设计目标
9.5.2硬件电路设计
9.5.3实例软件设计
9. 6实例总结
第10章 通用异步收发器应用
10.1通用异步收发器(UART)概述
10.1.1通用异步收发器的基本配置
10.1.2通用异步收发器的引脚描述
10.2UART寄存器描述
10.2.1UARTn接收缓冲寄存器(RBR)
10.2.2UARTn发送保持寄存器(THR)
10.2.3UARTn除数锁存器LSB/MSB寄存器(DLL,DLM)
10.2.4UARTn中断使能寄存器(IER)
10.2.5UARTn中断标识寄存器(IIR)
10.2.6UARTn FIFO控制寄存器(FCR)
10.2.7UARTn线控制寄存器(LCR)
10.2.8UARTn Modem控制寄存器(MCR)
10.2.9UARTn线状态寄存器(LSR)
10.2.10UARTn Modem状态寄存器(MSR)
10.2.11UARTn高速缓存寄存器(SCR)
10.2.12UARTn自动波特率控制寄存器(ACR)
10.2.13UARTn分数分频器寄存器(FDR)
10.2.14UARTn发送使能寄存器(TER)
10.2.15UARTn的RS485控制寄存器(RS485CTRL)
10.2.16UARTn的RS485地址匹配寄存器(RS485ADRMATCH)
10.2.17UARTn的RS485延时值寄存器(RS485DLY)
10.2.18UART4过采样寄存器OSR
10.2.19UART4智能卡接口控制寄存器SCICTRL
10.2.20UART4同步模式控制寄存器(SYNCCTRL)
10.2.21UART4 IrDA控制寄存器
10.3UART常用库函数
10.4UART应用实例
10.4.1设计目标
10.4.2硬件电路设计
10.4.3实例软件设计
10.5实例总结
第11章 串行同步端口控制器应用
11.1串行同步端口概述
11.1.1串行同步端口基本配置
11.1.2串行同步端口的引脚描述
11.2SSP寄存器描述
11.2.1SSPn 控制寄存器0(CR0)
11.2.2SSPn 控制寄存器1(CR1)
11.2.3SSPn数据寄存器(DR)
11.2.4SSPn状态寄存器(SR)
11.2.5SSPn时钟预分频寄存器(CPSR)
11.2.6SSPn中断使能置位/清零寄存器(IMSC)
11.2.7SSPn原始中断状态寄存器(RIS)
11.2.8SSPn 使能中断状态寄存器(MIS)
11.2.9 SSPn中断清零寄存器(ICR)
11.2.10SSPn DMA控制寄存器(CMACR)
11.3SSP常用库函数
11.4SSP外设应用实例
11.4.1设计目标
11.4.2硬件电路设计
11.4.3实例软件设计
11. 5实例总结
第12章 I2S数字音频接口应用
12.1I2S总线接口概述
12.1.1I2S总线接口的基本配置
12.1.2I2S接口的引脚描述
12.2I2S寄存器描述
12.2.1数字音频输出寄存器(I2SDAO)
12.2.2数字音频输入寄存器(I2SDAI)
12.2.3发送缓冲寄存器(I2STXFFO)
12.2.4接收缓冲寄存器(I2SRXFIFO)
12.2.5状态反馈寄存器(I2SSTATE)
12.2.6DMA配置寄存器1(I2SDMAI)
12.2.7DMA配置寄存器2(I2SDMA2)
12.2.8中断请求控制寄存器(I2SIRQ)
12.2.9发送时钟速率寄存器(I2STXRATE)
12.2.10接收时钟速率寄存器(I2SRXRATE)
12.2.11发送时钟位速率寄存器(I2STXBITRATE)
12.2.12接收时钟位速率寄存器(I2SRXBITRATE)
12.2.13发送模式控制寄存器(I2STXMODE)
12.2.14接收模式控制寄存器(I2SRXM0DE)
12.3I2S常用库函数
12.4I2S数字音频接口播放器应用实例
12.4.1设计目标
12.4.2硬件电路设计
12.4.3实例软件设计
12.5实例总结
第13章 SD卡接口应用
13.1SD卡接口概述
13.1.1SD卡接口的基本配置
13.1.2SD卡接口的引脚描述
13.2SD卡接口寄存器描述
13.2.1电源控制寄存器(MCOPower)
13.2.2时钟控制寄存器(MCIClock)
13.2.3参数寄存器(MCIArgument)
13.2.4命令寄存器(MCICommand)
13.2.5命令响应寄存器(MCIRespCommand)
13.2.6响应寄存器0~3(MCIResponse0~3)
13.2.7数据定时器寄存器
13.2.8数据长度寄存器(MCIDataLength)
13.2.9数据控制寄存器(MCIDataCtrl)
13.2.10数据计数器寄存器(MCIDataCnt)
13.2.11状态寄存器(MCIStatus)
13.2.12清零寄存器(MCIClear)
13.2.13中断屏蔽寄存器(MCIMask)
13.2.14FIFO计数器寄存器(MCIFifoCnt)
13.2.15数据FIFO寄存器(MCIFIFO)
13.3SD卡接口的常用库函数
13.4基于SD卡接口的文件系统实例
13.4.1设计目标
13.4.2硬件电路设计
13.4.3实例软件设计
13. 5实例总结
第14章 LCD控制器与触摸应用
14.1LCD控制器概述
14.1.1LCD上电与掉电顺序
14.1.2LCD控制器的基本配置
14.1.3LCD控制器的引脚描述
14.2LCD控制器寄存器描述
14.2.1LCD配置和计时控制寄存器(LCD_CFG)
14.2.2水平时序控制寄存器(LCD_TIMH)
14.2.3垂直时序控制寄存器(LCD_TIMV)
14.2.4时钟与信号极性控制寄存器(LCD_POL)
14.2.5线端控制寄存器(LCD_LE)
14.2.6上面板帧基址寄存器(LCD_UPBASE)
14.2.7下面板帧基址寄存器(LCD_LPBASE)
14.2.8LCD控制寄存器(LCD_CTRL)
14.2.9中断屏蔽寄存器(LCD_INTMSK)
14.2.10原始中断屏蔽寄存器(LCD_INTRAW)
14.2.11中断屏蔽状态寄存器(LCD_INTSTAT)
14.2.12中断清零寄存器(LCD_INTCLR)
14.2.13上面板当前地址寄存器(LCD_UPCURR)
14.2.14下面板当前地址寄存器(LCD_LPCURR)
14.2.15彩色调色板寄存器(LCD_PAL)
14.2.16光标图像寄存器(CRSR_IMG)
14.2.17光标控制寄存器(CRSR_CTRL)
14.2.18光标配置寄存器(CRSR_CFG)
14.2.19光标调色板寄存器0(CRSR_PAL0)
14.2.20光标调色板寄存器1(CRSR_PAL1)
14.2.21光标XY位置寄存器(CRSR_XY)
14.2.22光标剪裁位置寄存器
14.2.23光标中断屏蔽寄存器(CRSR_INTMSK)
14.2.24光标中断清零寄存器(CRSR_INTCLR)
14.2.25光标原始中断状态寄存器(CRSR_INTRAW)
14.2.26光标中断屏蔽状态寄存器(CRSR_INTSTAT)
14.3LCD控制器的常用库函数
14.4LCD控制器应用实例
14.4.1设计目标
14.4.2硬件电路设计
14.4.3文字显示实例软件设计
14.4.4触摸屏校准实例软件设计
14.5实例总结
第15章 以太网接口应用
15.1以太网接口概述
15.1.1以太网模块的内部结构与特性
15.1.2以太网数据包
15.1.3以太网接口的基本配置
15.1.4以太网接口的引脚描述
15.2以太网接口寄存器描述
15.2.1MAC寄存器组
15.2.2控制寄存器组
15.2.3接收过滤寄存器组
15.2.4模块控制寄存器组
15.2.5描述符与状态
15.3以太网接口的常用库函数
15.4以太网接口应用实例
15.4.1设计目标
15.4.2硬件电路设计
15.4.3简易网页浏览实例软件设计
15.4.4μIP实例软件设计
15.5实例总结
进阶篇
第16章 嵌入式实时操作系统μC/OSII的移植与应用
16.1嵌入式系统μC/OSII概述
16.1.1μC/OSII系统特点
16.1.2μC/OSII系统内核
16.1.3任务管理
16.1.4时间管理
16.1.5任务之间的通信与同步
16.1.6内存管理
16.2如何在LPC1788微处理器上移植μC/OSII系统
16.2.1移植μC/OSII系统必须满足的条件
16.2.2初识μC/OSII嵌入式系统
16.2.3重提μC/OSII嵌入式系统移植要点
16.3应用实例
16.3.1设计目标
16.3.2硬件电路设计
16.3.3μC/OSII系统软件设计
16.4实例总结
第17章 LwIP移植与应用实例
17.1以太网概述
17.1.1以太网的网络传输介质
17.1.2以太网数据帧格式
17.1.3嵌入式系统的以太网协议
17.2LwIP协议栈概述
17.2.1LwIP协议栈的整体架构和进程模型
17.2.2LwIP协议栈的API接口
17.2.3LwIP内存管理
17.3LwIP协议栈基于μC/OSII系统的移植
17.3.1LwIP协议栈的源文件结构
17.3.2LwIP协议栈的移植
17.4应用实例
17.4.1设计目标
17.4.2系统软件设计
17.5实例总结
第18章 嵌入式实时操作系统FreeRTOS应用
18.1嵌入式系统FreeRTOS概述
18.1.1FreeRTOS系统的特点
18.1.2FreeRTOS系统的任务管理
18.1.3FreeRTOS系统的队列管理
18.1.4FreeRTOS系统的信号量
18.1.5FreeRTOS系统的资源管理
18.1.6FreeRTOS系统的内存管理
18.1.7联合程序
18.2如何在LPC1788微控制上器移植FreeRTOS系统
18.2.1初识FreeRTOS嵌入式系统
18.2.2FreeRTOS系统的移植
18.2.3FreeRTOS系统的可配置参数项
18.3FreeRTOS应用实例
18.4实例总结
第19章 嵌入式图形系统μC/GUI的移植与应用
19.1嵌入式图形系统μC/GUI
19.1.1μC/GUI系统的软件结构
19.1.2文本显示
19.1.3数值显示
19.1.42D图形库
19.1.5字体
19.1.6颜色
19.1.7存储设备
19.1.8视窗管理器
19.1.9窗口对象
19.1.10对话框
19.1.11抗锯齿
19.1.12输入设备
19.1.13时间函数
19.2μC/GUI系统的移植
19.2.1初识μC/GUI系统
19.2.2细说μC/GUI系统的移植
19.2.3μC/GUI系统的触摸屏驱动
19.2.4μC/OSII系统环境下支持μC/GUI系统
19.3设计目标
19.4系统软件设计
19.5实例总结
第20章 嵌入式实时操作系统μC/OSIII的移植与应用
20.1嵌入式系统μC/OSIII概述
20.1.1μC/OSIII系统的特点
20.1.2代码的临界段
20.1.3任务管理
20.1.4任务就绪表
20.1.5任务调度
20.1.6上下文切换
20.1.7时间管理
20.1.8资源管理
20.1.9信号量
20.1.10事件标志组
20.1.11消息传递
20.1.12内存管理
20.2如何在LPC1788处理器上移植μC/OSIII系统
20.2.1移植μC/OSIII系统必须满足的条件
20.2.2初识μC/OSIII嵌入式系统
20.3设计目标
20.4μC/OSIII系统软件设计
20.5实例总结
参考文献