基于32位ColdFire构建嵌入式系统

出版社:电子工业出版社
出版日期:2009-7
ISBN:9787121092121
页数:434页

章节摘录

  第1章 概述  作为全书导引,本章内容与具体芯片无关。主要内容有:简要给出嵌入式系统定义、由来及特点;简要阐述嵌入式系统的知识体系,分析如何避免进入嵌入式系统的学习误区,根据嵌入式系统的特点,就如何学习嵌入式系统提出几点建议;归纳嵌入式系统的常用术语;给出嵌入式系统常用的标准c语言基本语法概要;对本书提供的学习与实践资料给出概要说明与索引。  1.1 嵌入式系统定义、由来及特点  1.1.1 嵌入式系统的定义  嵌入式系统(Embedded system)有多种多样的定义,但本质是相同的。本书关于嵌  入式系统的定义取自美国CMP Books出版的Jack Ganssle和Michael Barr著作《Embedded System Dictionary》。  嵌入式系统的定义:一种计算机硬件和软件的组合,也许还有机械装置,用于实现一个特定功能。在某些特定情况下,嵌入式系统是一个大系统或产品的一部分。世界上第一个嵌入式系统是1971年Busicom公司用Intel单芯片4004微处理器完成的商用计算器系列。该词典还给出了嵌入式系统的一些示例,如微波炉、手持电话、计算器、数字手表、录像机、巡航导弹、GPS接收机、数码相机、传真机、跑步机、遥控器和谷物分析仪等,难以尽数。通过与通用计算机的对比可以更形象地理解嵌入式系统的定义。该词典给出的通用计算机定义是:计算机硬件和软件的组合,用做通用计算平台。PC、MAC和Unix工作站是最流行的现代计算机。  我国国家标准GB/T 5271《信息技术词汇一嵌入式系统与单片机》部分,给出的嵌入式系统定义是:置入应用对象内部起操作控制作用的专用计算卡几系统。

前言

  嵌入式计算机系统简称为嵌入式系统,其概念最初源于传统测控系统对计算机的需求。随着以微处理器(MPU)为内核的微控制器(MCU)制造技术的不断进步,计算机领域在通用计算机系统与嵌入式计算机系统这两大分支分别得以发展。通用计算机已经在科学计算、事务管理、通信、日常生活等各个领域产生重要的影响。在后PC时代, 嵌入式系统的广阔应用将是计算机发展的重要特征。一般来说,嵌入式系统的应用范围可以粗略分为两大类:一类是电子系统的智能化(如工业控制、现代农业、家用电器、汽车电子、测控系统、数据采集等);另一类是计算机应用的延伸(如MP4、手机、通信、网络、计算机外围设备等)。不论如何分类,嵌入式系统的技术基础是不变的,即要完成一个以MCU为核心的嵌入式系统应用产品设计,需要有硬件、软件及行业领域相关知识。但是,随着嵌入式系统中软件规模日益增大,对嵌入式底层驱动软件的封装提出了更高的要求,可复用性与可移植性受到特别的关注,嵌入式软件构件化开发方法逐步被业界所重视。本书以嵌入式硬件构件与底层软件构件设计为主线,按照嵌入式软件工程的要求,以飞思卡尔半导体公司的32位ColdFire系列微控制器中带以太网接口的MCF52233、带CAN总线接口的MCF52235、带USB2.0接口的MCF52223三个型号为蓝本,按照“通用知识—芯片编程结构概要—基本编程方法—底层驱动构件封装—应用方法与举例”的线条,逐步阐述电子系统智能化嵌入式应用的软件与硬件设计。  关于飞思卡尔ColdFire系列微控制器  飞思卡尔半导体是全球最大半导体公司之一,在微控制器领域长期居全球市场领先地位,以高可靠性获得业界的一致赞誉。该公司的微控制器产品系列齐全,由不同位数(如8位、16位、32位等)、不同封装形式(如DIP、SOIC、QFP等)、不同温度范围、所含模块不同等构成了庞大的飞思卡尔微控制器产品系列,广泛地应用于汽车电子、消费电子、工业控制、网络和无线市场等嵌入式系统各个领域。该公司每年的研发投入超过12亿美元。飞思卡尔公司的ColdFire系列单芯片微控制器解决方案主要面向工业/家庭自动化、远程数据采集与控制、医疗仪表、照明控制节点、以太网应用、USB应用、ZigBeeTM控制节点等领域。该公司自2006年开始提供32微控制器MCF5223x、MCF5222x部分样片以来,已经逐步形成了不同的功能、价格、集成度和调试能力的32位单芯片嵌入式应用的解决方案,使得用户可以各取所需。也就是说,面向电子系统智能化嵌入式应用的设计,无论需要怎样的系统功能和集成度,总能从ColdFire庞大产品系列中选取一款合适的芯片进行应用开发。这正是嵌入式系统产品设计者所期望的。本书是第一本以完整实例方式阐述飞思卡尔MCF5223x与MCF5222x应用设计的著作。  本书特点  (1)把握通用知识与芯片相关知识之间的平衡。书中对于嵌入式“通用知识”的基本原理,以应用为立足点,进行语言简洁、逻辑清晰的阐述,同时注意与芯片相关知识之间的衔接,使读者在更好地理解基本原理的基础上,理解芯片应用的设计,同时反过来,加深对通用知识的理解。  (2)把握硬件与软件的关系。嵌入式系统是软件与硬件的综合体,嵌入式系统设计是一个软件、硬件协同设计的工程,不能像通用计算机那样,软件、硬件完全分开来看。特别是对电子系统智能化嵌入式应用来说,没有对硬件的理解就不可能写好嵌入式软件,同样没有对软件的理解也不可能设计好嵌入式硬件。因此,本书注重把握硬件知识与软件知识之间的关系。  (3)对底层驱动进行构件化封装。书中对每个模块均给出根据嵌入式软件工程基本原则并按照构件化封装要求编制底层驱动程序,同时给出详细、规范的注释及对外接口,为实际应用提供底层构件,方便移植与复用,可以为读者进行实际项目开发节省大量时间。  (4)设计合理的测试用例。书中所有源程序均经测试通过,并保留测试用例在本书的网络光盘中,避免了因例程的书写或固有错误给读者带来烦恼。这些测试用例,也为读者验证与理解带来方便。  (5)网络光盘提供了所有模块完整的底层驱动构件化封装程序、文档与测试用例,同时网络光盘中还包含芯片参考手册、写入器安装与使用方法、工具软件(如开发环境、程序写入与读出软件、串口调试工具、USB工具、以太网工具)、有关硬件原理图及其他技术资料。  (6)提供硬件评估版、写入调试器,并给出单独进行程序写入与读出的软件工具,方便读者进行实践与应用。  主要内容  全书共16章,其中第1章为概述,阐述嵌入式系统的知识体系、学习误区、学习建议。第2~3章概述ColdFire系列微处理器特点,给出MCF52233的引脚功能与硬件最小系统电路,同时给出了第一个样例程序及ColdFire工程组织,完成第一个ColdFire工程的入门。第4~10章分别给出UART、键盘、LED与LCD、A/D、定时器、QSPI、I2C与Flash存储器在线编程等。第11~15分别给出MCF52235的CAN总线、基于MCF52233嵌入式以太网、MCF52233的其他模块、 MCF52223的USB 2.0编程、μC/OS-Ⅱ在ColdFire上的移植与应用,第16章给出基于硬件构件的嵌入式系统开发方法。附录A给出了本书使用的ColdFire系列MCU芯片封装;附录B给出了写入器、评估板及购买方法;附录C给出了常见实践问题解答。  本书网络光盘下载地址  为方便读者,本书网络光盘可从下列地址之一进行下载,给出多个地址的目的是防止从某一地址下载不成功。作者可能每半年对下载内容进行更新,敬请读者关注。  电子工业出版社华信教育资源网(教育网:www.huaxin.edu.cn或公共网:www.huaxin.com.cn)免费注册后下载;苏州大学飞思卡尔嵌入式系统研发中心:http://sumcu.suda.edu.cn;苏州苏大万佳技术有限公司:http://sueee.com.cn;昆山鑫盛盟创科技有限公司:http://www.xsmc.net;上海卓嘉电子有限公司:http://www.can-lin.com。  致谢  本书除封面署名作者外,还有苏州大学计算机科学与技术学院嵌入式应用方向研究生王玉丽、屯娜、姚键东、王凤林、钱仇圣、舒胜强、钟海林等协助书稿整理及程序调试工作,他们卓有成效的工作,使本书更加实用。飞思卡尔半导体有限公司的Andy Mastronardi先生、马莉女士一直关心支持苏州大学飞思卡尔嵌入式系统研发中心的建设,为本书的撰写提供了硬件及软件资料,并提出了许多宝贵建议。飞思卡尔半导体有限公司的许多技术人员提供了技术支持。电子工业出版社的高买花女士、田宏峰先生为本书的出版付出了大量细致的工作。在此一并表示诚挚的谢意。  鉴于作者水平有限,书中难免存在不足和错误之处,恳望读者提出宝贵意见和建议,以便再版时改进。

书籍目录

第1章 概述 11.1 嵌入式系统定义、由来及特点 11.1.1 嵌入式系统的定义 11.1.2 嵌入式系统的由来及其与微控制器的关系 21.1.3 嵌入式系统的特点 31.2 嵌入式系统的知识体系、学习误区及学习建议 41.2.1 嵌入式系统的知识体系 41.2.2 嵌入式系统的学习误区 51.2.3 基础阶段的学习建议 81.3 嵌入式系统常用术语 91.3.1 与硬件相关的术语 91.3.2 与通信相关的术语 111.3.3 与功能模块及软件相关的术语 121.4 嵌入式系统常用的标准C语言基本语法概要 131.5 本书学习与实践资料索引 22第2章 ColdFire概述与MCF52233硬件最小系统 242.1 ColdFire系列微处理器概述 242.2 MCF5223x系列微控制器存储器映像与编程结构 262.2.1 MCF5223x性能概述与内部结构简图 262.2.2 MCF5223x存储器映像 282.2.3 编程模式与寻址方式 282.2.4 ColdFire异常和中断控制 312.3 MCF52233的引脚功能与硬件最小系统 332.3.1 MCF52233的引脚功能 332.3.2 MCF52233的硬件最小系统 352.3.3 硬件最小系统测试方法 38第3章 第一个样例程序及ColdFire工程组织 413.1 通用I/O接口基本概念及连接方法 413.2 MCF52233的GPIO 433.2.1 MCF52233GPIO编程的基本原理 433.2.2 GPIO模块寄存器与GPIO的编程基本方法 443.3 开发套件CodeWarrior开发环境与ColdFire写入器 463.3.1 CodeWarrior开发环境简介与基本使用方法 463.3.2 WA-Ⅰ型32位ColdFire写入器 473.3.3 MCF52233EVB硬件评估板 483.4 CW工程文件组织 483.4.1 工程文件的组织 483.4.2 初始化相关文件 503.4.3 主程序、中断程序及其他文件 533.4.4 链接文件及机器码文件 563.5 第一个应用实例:控制小灯闪烁 593.5.1 GPIO构件 603.5.2 Light构件 653.5.3 Light测试工程主程序 673.6 理解第一个C工程的执行过程 68第4章 异步串行通信与直接存储器访问 714.1 异步串行通信的基础知识 714.1.1 基本概念 714.1.2 RS-232C总线标准 734.1.3 电平转换电路原理 744.2 MCF52233的UART模块的物理结构 764.3 MCF52233的UART模块的编程结构 794.4 基于构件方法的UART编程 824.4.1 UART构件的函数原型设计 824.4.2 UART构件的头文件 834.4.3 UART构件的源程序文件 864.4.4 UART构件的测试工程 914.5 ColdFire第一个带有中断功能的实例 924.6 MCF52233的四通道DMA控制器 954.6.1 DMA概述 954.6.2 MCF52233四通道DMA特点 954.6.3 MCF52233的DMA控制器编程结构 964.7 MCF52233的DMA编程要点 994.7.1 DMA初始化 1004.7.2 DMA启动序列与重启序列 1004.8 基于构件的带DMA的UART编程实例 1014.8.1 DMA构件的函数原型设计 1014.8.2 DMA构件的头文件 1014.8.3 DMA构件的源程序文件 1054.8.4 DMA方式收/发测试实例 1084.9 进一步讨论 1104.9.1 流控制与Break信号 1104.9.2 延长串口通信的距离 1114.9.3 串口的扩展 111第5章 GPIO的应用实例——键盘、LED与LCD 1135.1 键盘 1135.1.1 键盘模型及接口 1135.1.2 键盘编程的基本问题 1145.1.3 键盘编程实例 1145.2 码管LED 1215.2.1 描法编程原理 1215.2.2 码管编程实例 1225.3 液晶LCD 1265.3.1 HD44780的编程结构 1265.3.2 点阵字符型LCD编程实例 127第6章 MCF52233的A/D转换模块 1336.1 A/D转换的基本问题 1336.2 MCF52233的A/D转换结构与特性 1346.3 MCF52233的A/D模块编程寄存器 1356.4 基于构件的A/D编程 1446.4.1 A/D构件的函数原型设计 1446.4.2 A/D构件的头文件 1456.4.3 A/D构件的源程序文件 1466.5 MCF52233A/D模块编程实例——物理量采集回归系统 1496.5.1 低端软件设计 1496.5.2 高端软件设计 1516.6 常用传感器简介及一个典型信号采样电路设计 1526.6.1 常用传感器简介 1526.6.2 电阻型传感器采样电路设计 154第7章 定时器相关模块及其应用 1567.1 可编程中断定时器 1567.1.1 PIT模块的编程寄存器 1567.1.2 PIT模块的运行模式与编程方法 1577.1.3 PIT模块的编程实例 1587.2 通用定时器GPT模块 1617.2.1 计数器/定时器的基本工作原理 1617.2.2 定时器模块的定时计数功能 1627.2.3 定时器模块的输入捕捉功能 1667.2.4 定时器模块的输出比较功能 1717.2.5 定时器模块的脉冲累加功能 1747.3 PWM与D/A转换 1777.3.1 PWM基本概念 1777.3.2 PWM的编程寄存器 1797.3.3 PWM的编程实例 1827.3.4 PWM的进一步讨论 1897.3.5 用PWM实现D/A转换 190第8章 队列式串行外设接口 1918.1 SPI的基本工作原理 1918.1.1 SPI基本概念 1918.1.2 SPI的数据传输 1928.1.3 SPI模块的时序 1938.1.4 模拟SPI 1948.2 MCF52233队列串行外设接口(QSPI)模块编程结构 1958.2.1 QSPI概述 1958.2.2 QSPI工作原理 1968.2.3 QSPI功能描述 1978.2.4 QSPI模块寄存器 1988.2.5 发送延时 2028.3 MCF52233的串行外设接口QSPI模块编程实例 203第9章 I2C模块及应用实例 2099.1 I2C模块 2099.1.1 I2C总线特点 2099.1.2 I2C总线标准的发展历史 2109.1.3 I2C总线的相关术语 2109.2 I2C总线工作原理 2119.2.1 总线上数据的有效性 2119.2.2 总线上的信号 2119.2.3 总线上数据传输格式 2139.2.4 I2C总线寻址约定 2139.2.5 主机向从机读/写1个字节数据的过程 2139.3 I2C模块的编程基础 2149.3.1 MCF52233的I2C模块 2149.3.2 MCF52233的I2C模块寄存器介绍 2159.3.3 MCF52233的I2C模块编程 2189.4 MCF52233的I2C模块的进一步讨论 2249.4.1 仲裁程序 2249.4.2 实现数据传输同步交换 225第10章 Flash在线编程 22610.1 Flash存储器概述 22610.2 ColdFireFlash存储器编程方法 22710.2.1 ColdFireFlash模块寄存器 22810.2.2 ColdFireFlash存储器擦除/写入的步骤 23110.3 ColdFireFlash擦除/写入函数的测试工程 23610.4 ColdFireFlash存储器的保护特性和安全性 23710.4.1 ColdFireFlash存储器的保护特性 23710.4.2 ColdFireFlash存储器的安全性 237第11章 MCF52235FlexCAN模块编程方法 24111.1 CAN总线通用知识 24111.1.1 CAN总线协议的历史概况 24111.1.2 CAN硬件系统的典型电路 24111.1.3 CAN总线的有关基本概念 24411.1.4 帧结构 24711.1.5 位时间 25011.2 MCF52235FlexCAN模块概述与编程结构 25111.2.1 FlexCAN特性 25111.2.2 操作模式 25211.2.3 FlexCAN模块的内存映像以及寄存器定义 25411.2.4 FlexCAN报文缓冲区(MessageBuffer,MB) 25911.3 MCF52235FlexCAN模块报文发送与接收函数设计 26311.3.1 数据帧发送/接收 26311.3.2 远程帧发送/接收 26711.3.3 仲裁处理、匹配处理及报文缓冲区管理 27111.4 MCF52235FlexCAN模块编程实例 27211.4.1 初始化函数设计 27211.4.2 MCF52235FlexCAN模块测试工程说明 27411.5 进一步讨论 276第12章 基于MCF52233的嵌入式以太网 28012.1 嵌入式以太网相关基础知识 28012.1.1 以太网的由来与协议模型 28012.1.2 以太网中主要物理设备 28312.1.3 相关名词解释 28412.2 MCF52233以太网模块外部连接及编程基础 28812.2.1 以太网模块引脚及硬件连接 28812.2.2 以太网物理层收/发器EPHY的编程基础 29012.2.3 第一个测试实例:网络连接 29412.2.4 快速以太网控制器FEC的编程基础 29912.3 链路层编程 30712.3.1 FEC初始化函数FEC_Init 30712.3.2 以太帧发送 31112.3.3 以太帧接收 31312.3.4 第二个测试实例:以太帧的发送和接收 31512.3.5 第三个测试实例:链路层ARP协议编程 31712.4 网络层的IP协议与ICMP协议编程 32012.4.1 IP协议简介 32012.4.2 第四个测试实例:使用ICMP协议响应Ping请求 32212.5 传输层的UDP与TCP协议编程 32412.5.1 UDP协议概述 32412.5.2 第五个测试实例:UDP报文的发送和接收 32412.5.3 TCP协议概述 32612.5.4 第六个测试实例:TCP报文的发送和接收 32612.6 应用层的HTTP协议编程 32912.6.1 HTTP协议概述 33012.6.2 第七个测试实例:HTTP协议静态页面的实现 332第13章 其他模块 33313.1 时钟模块 33313.2 芯片配置模块 33413.2.1 芯片配置模块简介 33513.2.2 芯片配置模块寄存器定义 33513.3 系统控制模块 33613.3.1 系统控制模块功能概述 33613.3.2 系统控制模块的可编程寄存器 33713.3.3 对系统初始化过程的理解 33913.4 实时时钟模块 34113.5 电源管理模块 34313.5.1 低功耗模式 34313.5.2 低功耗模式下的外设行为 34413.5.3 电源管理模块寄存器定义 34413.6 复位控制模块 345第14章 基于MCF52223的USB2.0编程 34714.1 USB基本概念及硬件特性 34714.1.1 USB概述 34714.1.2 USB相关基本概念 34914.1.3 USB的物理特性 35414.2 USB的通信协议 35614.2.1 USB基本通信单元:包 35614.2.2 USB通信中的事务处理 35814.2.3 从设备的枚举看USB数据传输 36014.3 MCF52223硬件最小系统及USB模块功能简介 36414.3.1 MCF52223硬件最小系统 36414.3.2 MCF52223的USB模块功能简介 36514.3.4 .MCF52223的USB模块主要寄存器介绍 36614.4 MCF52223作为USB从机的开发方法 37014.4.1 PC端USB设备驱动程序的选择及基本原理 37014.4.2 PC作为USB主机的程序设计 37414.4.3 MCF52223作为USB从机的程序设计 37714.5 MCF52223作为USB主机的开发方法 38114.5.1 MCF52223作为USB主机的基本功能 38114.5.2 USB主机与CDC类USB设备通信 38314.5.3 USB主机与MassStorage类USB设备通信 38414.6 采用OTG技术的USB系统开发方法 384第15章 μC/OS-Ⅱ在ColdFire上的移植与应用 38815.1 实时操作系统概述 38815.1.1 实时操作系统基本含义和要求 38815.1.2 任务和多任务 38815.1.3 RTOS的常用术语 38915.1.4 RTOS的现状 39015.2 嵌入式实时操作系统μC/OS-Ⅱ 39215.2.1 μC/OS-Ⅱ简介 39215.2.2 μC/OS-Ⅱ与几种RTOS的比较 39315.2.3 μC/OS-Ⅱ中的任务 39315.2.4 ?C/OS-Ⅱ用户应用程序的一般结构 39415.3 μC/OS-Ⅱ的任务划分 39515.3.1 任务划分的目标 39615.3.2 任务划分的方法 39615.4 μC/OS-Ⅱ在MCF52233上的应用实例 39815.4.1 基于μC/OS-Ⅱ的应用实例 39815.4.2 与无RTOS实例的比较 40015.5 μC/OS-Ⅱ在MCF52233上的移植 40115.5.1 定义内核的大小和功能 40115.5.2 与硬件相关的代码 403第16章 基于硬件构件的嵌入式系统开发方法 40716.1 嵌入式系统开发所遇到的若干问题 40716.2 嵌入式硬件构件的基本思想与应用方法 40816.3 基于硬件构件的嵌入式系统硬件电路设计原则 40816.3.1 设计时需要考虑的基本问题 40816.3.2 硬件构件化电路原理图绘制规则 40916.3.3 PCB设计基本原则 41116.4 基于硬件构件的嵌入式底层软件构件的编程方法 41316.4.1 嵌入式硬件构件和软件构件的层次模型 41316.4.2 底层构件的实现方法与编程思想 41416.4.3 硬件构件及底层软件构件的重用与移植方法 41616.5 硬件构件化嵌入式开发技术的应用实例 41716.5.1 系统功能 41716.5.2 硬件设计 41816.5.2 软件设计 422附录A 425附录B 427附录C 430参考文献 434

编辑推荐

  以完整实例方式阐述嵌入式应用设计,遵循嵌入式软件工程规范;满足移植与复用要求的底层驱动构件封装;提供硬件评估系统与工具、清晰注释文档与测试用例。

作者简介

《基于32位ColdFire构建嵌入式系统》以Freescale 32位微控制器ColdFire系列的MCF52233为蓝本阐述嵌入式系统的软件与硬件设计。全书共18章,《基于32位ColdFire构建嵌入式系统》配有网络光盘,包含了ColdFire系列微控制器开发环境的安装文件、书中提供的所有实例源程序、辅助资料、相关芯片资料及常用软件工具。《基于32位ColdFire构建嵌入式系统》可供大学有关专业的高年级学生和研究生用作教材或参考读物,也可供嵌入式系统开发与研究人员用作参考和进修资料。
读者对象:
可供大学有关专业的高年级学生和研究生用作教材或参考读物,也可供嵌入式系统开发与研究人员用作参考和进修资料。

图书封面


 基于32位ColdFire构建嵌入式系统下载



发布书评

 
 


 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024