深入浅出ColdFire系列32位嵌入式微处理器
2009-9
北京航空航天大学
谌利//张瑞//汪浩//李侃
359
这是一本关于飞思卡尔32位ColdFire处理器开发和应用的书。很多人在看这本书前可能会问这样两个问题:为什么要32位?为什么是ColdFire?这是一个不争的事实:嵌入式系统中的核心部件微控制器(MCU)或微处理器(MPU)正从早些年的主流8位系统逐渐向全新的32位系统快速升级换代。特别是近年来半导体设计和制造技术的突飞猛进,大大降低了芯片的价格,使得32位系统在总体成本上已经可以被包括消费类产品在内的众多应用领域所接受;另外由于日趋复杂的功能需求,特别是呈爆炸性扩展的网络通信互联的需要,正促使32位系统以异乎寻常的速度进入各类产品和系统的设计领域,32位的设计方案也被大量摆放在广大电子设计工程师的面前。因此,如何深入理解一款32位处理器的性能和资源及其所需的开发环境,以便在较短时间内设计出一款高性价比和高可靠性的产品,是摆在很多硬件和软件设计工程师面前的一个巨大挑战。和传统的8位系统发展道路类似,现在的32位系统设计也正处于群雄逐鹿、各显神通的阶段,国内比较常见的32位微控制器有ARM,ColdFire和MIPS等系列。纵观国内嵌入式系统设计领域,目前ARM架构无疑处于32位系统设计的主导地位,这点和当初的51系列在8位单片机中的地位是何其相似。各种原因当然有很多,但其中一个非常重要的原因是关于ARM架构的设计开发资料和相关书籍比较多,工程师们比较容易从公开的渠道获取一些基本资料,以支撑自己的产品开发。但恰恰也像8位单片机的发展历程一样,面对形形色色各类差异化的产品设计,绝非一个架构就可以包揽一切。对于广大设计工程师来说,有机会能了解和掌握不同架构的32位处理器系统,对于优化自己的设计方案,扩展设计思路将会提供非常大的帮助。
《深入浅出ColdFire系列32位嵌入式微处理器》是针对飞思卡尔32位ColdFire系列嵌入式微处理器的应用和开发,主要是针对该系列V2与V3内核,即代表该系列大部分的中低端产品的应用。通过对每个模块的介绍和详细的应用实例,使读者更方便更容易地理解各个功能模块的应用,从而达到快速上手的目的。《深入浅出ColdFire系列32位嵌入式微处理器》基于一个具体的芯片MCF5225x进行举例和应用,该芯片为最新的ColdFire家族成员,其特点是集成了几乎所有ColdFire家族的中低端功能模块,包括使用比较多的以太网,USB OTG,CAN,DMA,FlexBus/MiniBus,SDR/DDR Controller等模块,并且可以适用于其他各类ColdFire系列芯片。《深入浅出ColdFire系列32位嵌入式微处理器》附光盘1张,内含飞思卡尔半导体公司授权的ColdFire系列资料和代码例程。 读者对象主要是目前ColdFire处理器的使用者和32位嵌入式处理器的开发者与爱好者,也可作为大学相关课程的实验教材。
谌利,谌利现任飞思卡尔半导体高级应用工程师。1997—2004年,就读于北京航空航天大学,获电子信息工程专业学士和通信与信息系统专业硕士学位。2004年,进入飞思卡尔半导体公司(原摩托罗拉北亚中心半导体部门)工作,有多年的高端嵌入式处理器系统软硬件开发经验。作为全球核心团队成员,带领上海ColdFire团队主要负责32位微处理器ColdFire系列的研发、新产品定义支持与验证、应用软硬件和参考平台的定义与开发、技术文档编写以及对全球区域客户市场的技术支持工作。
第1章 ColdFire基本介绍1.1 ColdFire的历史和概述1.2 ColdFire应用领域1.2.1 工业控制领域1.2.2 消费类电子领域1.2.3 医疗电子领域1.2.4 测试与测量1.2.5 家庭及楼宇自动化1.3 本书内容第2章 ColdFire内核及处理器架构介绍2.1 ColdFire 内核基本介绍2.2 ColdFire内核结构2.2.1 V2内核架构2.2.2 V3内核架构2.2.3 V4内核架构2.2.4 V4e内核架构2.3 内核主要寄存器2.3.1 数据寄存器2.3.2 地址寄存器2.3.3 堆栈指针2.3.4 程序指针2.3.5 条件寄存器2.3.6 异常中断向量基地址寄存器2.3.7 状态寄存器2.4 MAC和EMAC2.4.1 MAC2.4.2 EMAC2.4.3 应用实例2.5 高速缓存2.5.1 ColdFire缓存工作原理2.5.2 主要寄存器2.6 内部SRAM和内部Flash2.6.1 内部SRAM2.6.2 内部Flash2.7 ColdFire处理器架构2.7.1 CF5210平台2.7.2 标准产品平台2.7.3 系统访问控制2.8 基本指令集介绍2.8.1 寻址模式2.8.2 指令集2.9 μCOSⅡ在ColdFire上的移植2.9.1 μCOSⅡ移植的关键代码2.9.2 OS_CPU.H2.9.3 OS_CPU_C.C2.9.4 OS_CPU_A.ASM2.9.5 OS_CPU_I.ASM第3章 编程开发工具3.1 开发工具概况3.2 CodeWarrior for ColdFire3.2.1 CodeWarrior基本使用3.2.2 项目配置3.2.3 Link文件语法3.2.4 ColdWarrior的默认库文件3.2.5 烧写编程3.2.6 调试3.3 Linux/μCLinux开发环境——BSP3.3.1 Linux/μCLinux for ColdFire基本介绍3.3.2 LTIB使用3.3.3 内核与文件系统的下载3.3.4 调试3.4 IAR for ColdFire基本介绍3.4.1 IDE环境介绍3.4.2 编译器3.4.3 调试器CSPY第4章 内核异常与中断控制器4.1 内核异常与中断控制器的基本介绍4.2 内核异常处理4.2.1异常中断处理的工作原理4.2.2中断向量表与异常介绍4.3 中断控制器的介绍4.3.1 中断优先级和中断级别4.3.2 寄存器基本介绍4.4 应用实例4.4.1 中断控制器的初始化4.4.2 中断向量表的初始化4.4.3 中断服务程序的例程第5章 Flex总线和MiniFlex总线5.1 Flex总线基本介绍5.2 硬件信号5.3 寄存器介绍5.4 工作模式5.4.1 总线状态机和突发模式5.4.2 时序分析5.4.3 数据对齐和非对齐5.5 应用实例5.5.1 连接通用总线设备5.5.2 Flex总线与EIM的区别第6章 SDRAM控制器6.1 SDRAM外部功能引脚支持6.1.1 统一架构6.1.2 伪分裂架构6.1.3 全分裂架构6.1.4 SDRAM控制器的信号6.2 SDRAM控制寄存器简介6.2.1 SDRAM模式/扩展模式寄存器6.2.2 SDRAM控制寄存器6.2.3 SDRAM配置寄存器1/6.3 SDR/DDR/DDR2的功能比较6.3.1 外部引脚功能比较6.3.2 性能差异分析6.4 应用案例6.4.1 MCF5445x SDRAM接口应用向导6.4.2 硬件设计样例6.4.3 DDR2 RAM初始化样例6.4.4 DDR2硬件设计的布局参考6.4.5 PCB布线指导第7章 USB控制器7.1 USB基本概述..7.2 MCU USB模块介绍7.2.1 MCU USB模块概述7.2.2 主机实现7.2.3 设备类实现7.2.4 人机接口设备类介绍7.2.5 存储设备类实现7.3 MPU USB模块介绍7.3.1 MPU USB模块概述7.3.2 USB设备类的工作原理7.3.3 USB设备类例程7.3.4 USB主机类原理7.3.5 USB主机类例程第8章 快速以太网控制器8.1 快速以太网控制器概述8.2 以太网控制寄存器简介8.3 以太网控制器外部功能引脚8.3.1 功能引脚简介8.3.2 MII接口原理图8.4 以太网控制器的中断控制8.4.1 中断源简介8.4.2 中断初始化样例8.5 以太网控制器应用简介8.5.1 缓冲区描述符8.5.2 初始化启动流程8.5.3 发送数据流程8.5.4 接收数据流程8.5.5 以太网控制器简单测试实例8.6 应用案例——ColdFire_TCP/IP_Lite8.6.1 简介8.6.2 协议栈启动过程8.6.3 NicheTask实时操作系统8.6.4 Mini Socket TCP API简介8.6.5 协议的流程分析样例第9章 串行外设接口模块9.1 队列串行外设模块9.1.1 QSPI概述9.1.2 QSPI寄存器介绍9.1.3 QSPI工作原理与数据传输流程9.1.4 QSPI使用实例9.2 DMA串行外设接口模块9.2.1 DSPI概述9.2.2 DSPI寄存器介绍9.2.3 DSPI工作原理9.2.4 DSPI使用实例9.3 EZPORT模块9.3.1 EZPORT概述9.3.2 EZPORT命令集9.3.3 EZPORT使用实例第10章I2C模块介绍与应用10.1 I2C协议简介10.2 I2C模块框图和寄存器介绍10.3 I2C模块初始化流程10.4 I2C模块中断处理流程10.5 I2C模块应用实例——基于NicheTask的LCD驱动第11章 FlexCAN控制器11.1 FlexCAN控制器寄存器简介11.1.1 FlexCAN模式寄存器11.1.2 FlexCAN控制寄存器11.1.3 自由计时器11.1.4 接收屏蔽寄存器11.1.5 错误计数器11.1.6 错误和状态寄存器11.1.7 消息缓冲中断屏蔽寄存器11.1.8 消息缓冲中断标志寄存器11.1.9 消息缓冲11.2 CAN外部功能引脚简介11.3 CAN的中断控制11.4 FlexCAN应用向导11.4.1 CAN总线位时序的计算11.4.2 FlexCAN模块的振荡器容许公差11.5 CAN底层驱动简介11.5.1 软件架构11.5.2 API函数简介11.5.3 API函数样例第12章 DMA与EDMA控制器介绍与应用12.1 DMA控制器12.1.1 DMA控制器概述12.1.2 DMA寄存器介绍12.1.3 DMA控制器原理12.1.4 DMA使用实例12.2 EDMA控制器12.2.1 EDMA控制器概述12.2.2 EDMA寄存器介绍12.2.3 EDMA控制器原理12.2.4 EDMA应用实例第13章 ColdFire内置定时器13.1 ColdFire定时器基本介绍13.2 通用定时器13.2.1 通用定时器的输入捕捉模式13.2.2 通用定时器的输出比较模式13.2.3 通用定时器的脉冲计数模式13.2.4 通用定时器的PWM功能13.3 可编程中断定时器13.3.1 可编程中断定时器概述13.3.2 应用实例13.4 DMA定时器13.4.1 DMA定时器概述13.4.2 应用实例13.5 实时时钟模块RTC第14章 脉宽调制模块14.1 简介14.2 PWM寄存器介绍14.2.1 PWM使能寄存器14.2.2 PWM极性控制寄存器14.2.3 PWM时钟源选择寄存器14.2.4 PWM时钟预分频选择寄存器14.2.5 PWM中央对齐使能寄存器14.2.6 PWM控制寄存器14.2.7 PWM比例寄存器A和PWM比例寄存器B14.2.8 PWM通道计数器14.2.9 PWM通道周期寄存器14.2.10 PWM通道占空比寄存器14.2.11 PWM关闭寄存器14.3 功能介绍14.3.1 PWM时钟源选择14.3.2 PWM定时器14.4 PWM使用实例第15章 通用异步收发器15.1 UART模块概述15.2 UART工作简介15.2.1 异步通信的数据格式15.2.2 UART的通道工作模式15.2.3 UART的中断15.2.4 波特率计算15.2.5 DMA操作UART收发15.2.6 UART多点通信15.3 UART的寄存器15.4 UART的应用15.4.1 UART配置流程15.4.2 例程15.4.3 UART外围硬件设计参考文献
插图:第1章 ColdFire基本介绍为什么要使用32位处理器?在嵌入式领域,对于早期的应用来说主要是基于8位和16位单片机,这些应用一般是任等单一、简单可靠的系统。随着应用领域对系统的功能和性能等方面提出更高的需求,8位和16位单片机系统已经无法胜任,这时就需要基于32位系统架构的微处理器。一般来说,如果一个嵌入式系统有以下几个方面的特点,就需要采用32位微处理器:·当系统寻址范围大于64KB时,所需的地址线位宽是16位,16位单片机勉强能胜任,此时应该考虑32位系统;当寻址范围大于1MB时,则地址位宽为20位,此时需要使用32位系统。·当需要在一个8位的系统上实现大于20 MIPS的性能时,或者在16位系统上实现大于40MIPS的性能时,需要考虑使用32位系统。·当需要采用Linux操作系统时,处理器需要采用32位带内存管理单元MMU;而霤Linux则用于没有内存管理单元的32位微处理器。·当需要使用多层次的通信协议栈时,如TCP/IP,采用32位处理器可以达到很好的通信效果和性能支持。·需要采用浮点运算或者高精度定点运算时,使用32位微架构可以达到更好的运算处理能力。
《深入浅出ColdFire系列32位嵌入式微处理器》内容特色:ColdFire及其前身68K系列32位微处理器,在工业控制与消费类领域拥有着30多年的应用历史,其架构高效,性能稳定可靠,成为欧美嵌入式系统设计工程师青睐的主流处理器。《深入浅出ColdFire系列32位嵌入式微处理器》为中国的读者开启了深入了解和使用ColdFire系列处理器的大门,期望这款系列芯片能够更好更快地为中国的工业自动化、医疗、消费、安防等领域服务。《深入浅出ColdFire系列32位嵌入式微处理器》重点对处理器的各模块进行介绍,配合详实的应用代码,让读者可以从原理和应用等方面深入了解处理器,并快速地开发出自己的应用系统。《深入浅出ColdFire系列32位嵌入式微处理器》读者对象主要是目前ColdFire处理器的使用者和32位嵌入式微处理器的开发者与爱好者,也可作为大学相关课程的实验教材。书中涵盖CoIdFire系列的精华:◆ColdFire历史概述;◆ColdFire的内核架构和指令系统;◆开发工具;◆内核异常与中断控制器;◆并行总线系统;◆SDRAM控制器;◆USB控制器;◆快速以太网控制器;◆串行同步外设接口SPI控制器;◆I2C控制器;◆FlexCAN控制器;◆DMA控制器;◆定时模块;◆脉宽调制模块;◆异步串行通信模块UART。随书光盘包含飞思卡尔半导体公司授权的ColdFire系列资料和代码例程。
深入浅出ColdFire系列32位嵌入式微处理器 PDF格式下载
非常好的学习书籍,值得一看
摄入到时有了,绝对没有浅出。
买来没有怎么用的,,,但是看了觉得还不错
书的内容都是我需要的 而且是比较新的 哈哈