嵌入式设计及通信设备开发详解——基于MPC82XX处理器
分类: 图书,工业技术,电子 通信,无线通信,
作者: 李朋铜编著
出 版 社: 机械工业出版社
出版时间: 2009-3-1字数:版次: 1页数: 325印刷时间:开本: 16开印次:纸张:I S B N : 9787111264279包装: 平装内容简介
本书针对通信处理器MPC82XX系列,共分为10章:前6章讲述了MPC82XX开发的基本知识、常用功能模块以及基础的PPC汇编;第7章到第10章,重点介绍了4个实际的应用案例,内容涉及二层交换机开发、七号信令测试仪开发、ATM信元收发卡开发、GSM信令测试仪开发等。
本书适合从事通信设备开发的程序员及相关专业的师生。
目录
前言
第1章 目标产品和开发简介
第2章PowerPC 32位处理器概述
第3章 PowerPC架构实现及寄存器概述
3.1 处理器概要
3.2 指令字段的合法组合
3.3指令的分类
3.4 已定义类指令的形式
3.5 异常
3.6存储单元的寻址
3.6.1 存储单元的操作数
3.6.2有效地址的计算
3.7 寄存器集
3.7.1USIA寄存器
3.7.2 虚拟环境架构寄存器集——时基
3.7.3 操作环境的架构寄存器集
第4章 常用指令概述
第5章 学习PowerPC汇编
5.1 学习PowerPC汇编语言基础
5.2 PowerPC汇编深入学习——数据访问方法和与位置无关的代码
5.2.1 寻址模式
5.2.2 指令格式
5.2.3 编写与位置无关的代码
5.3 使用PowerPC分支寄存器进行编程
5.3.1 分支寄存器
5.3.2 无条件分支
5.3.3 条件分支
5.3.4 其他条件寄存器特性
5.3.5 使用计数寄存器
5.4 开发PowerPC嵌入式程序
5.4.1 文件格式
5.4.2 数据类型和对齐方式
5.4.3 寄存器调用约定
5.4.4栈帧约定
5.4.5 参数传递
5.4.6小数据区
第6章 MPC8260进行通信设备开发初步——基本驱动编写实例
6.1 上电初始化过程
6.1.1 定义程序入口点
6.1.2初始化栈
6.1.3 设置异常向量
6.2 MPC8260 SCC的工作原理与编程示例
6.2.1 简介
6.2.2驱动程序概述
6.2.3驱动程序实现
第7章 二层交换机最小系统实现
7.1 二层交换机的基本原理简述
7.2 二层交换机软硬件系统概述
7.2.1 二层交换机硬件系统结构
7.2.2 系统模块图
7.2.3 MPC8260与ZL50408的连接方式
7.2.4 ZL50408与DP83843的连接方式
7.2.5 二层交换机软件系统结构
7.3 驱动程序的设计和实现
7.3.1 DMA模式概述
7.3.2ZL50408二层交换芯片概述
7.3.3 收发包的过程
7.4 二层交换机代码结构
7.5 二层交换机代码实现
7.5.1 基本数据结构和功能函数实现
7.5.2 总体初始化流程
7.5.3 链路失效转移配置
7.5.4板卡启动初始化
7.5.5 收发包驱动函数
7.5.6 端口控制的实现
7.5.7VLAN模块的实现
7.5.8MAC模块的实现
第8章 七号信令测试仪最小系统实现
8.1 七号信令测试仪下位机实现概述
8.1.1 DS21354功能描述
8.1.2 DS21354引脚控制
8.1.3 DS21354寄存器概述
8.1.4 上电过程及相关寄存器
……
第9章ATM信元收发卡最小系统实现
第10章GSM信令测试仪最小系统实现
书摘插图
第1章 目标产品禾和开发简介
我们的目标是掌握本书第7章的二层交换机、第8章的七号信令测试仪、第9章的ATM信元收发卡和第10章的GSM信令测试仪开发。这些通信设备的开发完全依赖于MPC8260处理器。在通信设备领域,Freescale的实力非常强大。由于MPC82XX处理器实现操作复杂,使有的开发者望而却步。但是MPC82XX提供了丰富的片上资源,使我们的开发过程恰恰能变得简单许多。本书的核心章节所列举的产品程序,都是经过笔者精心调试,在目标板“跑”过的程序,经过了必要的裁剪,基本都是可拿来直接用的.我个人认为学习嵌入式开发分为以下几个阶段。
阶段1:“跑流水灯”。学习之初的重中之重是阅读代码,因为刚开始学,毕竟什么都不懂,先看看别人的程序总是有益的。然后自己再调试程序,使程序在硬件上“跑”起来(刚开始在没有开发板的情况下,可以试着自己进行软件仿真),有了感性认识后,一切都好办了。如果一味地看书只能是越来越困惑,看着后边的忘了前边的,到最后失去兴趣。另外,不要小瞧流水灯这个小小的程序。使其轻松地“跑”起来,也不是轻而易举的,你的各个功能模块都必须调试正确。笔者初学嵌入式时,在MPC8250ADS开发板上把流水灯点起来,也是着实高兴了一阵。这说明内存映射、程序载入的地址、I/O口配置、中断如果用到了)、bootloader、BDM调试过程、自己编的程序全部都正确。对于初学者来说,这也是不小的成就了。
阶段2:“看着datasheet,拿着模板改程序”。等有了一定的基础后就会发现,我们必然要学习某种具体的芯片(读者不可能永远停留在“跑跑”流水灯的水平),这时就要翻阅大量的原厂手册(有的还可能需要签NDA),这说明读者的水平已经达到了新的层次。当然此时还必须辅以原厂例程模板,才能继续开发。毕竟只有少数人,才能进行创造性的开发。没有一个程序,每行代码都需要自己来完成。当产品实现类似时,就需要寻找合适的解决方案了。
阶段3:“看着datasheet,写程序”。现在真正的开发就要开始,读者到这个阶段后已经可以根据不同的平台(如MPC8260与$3C4510b)编写与其硬件对应的汇编初始化程序(堆栈设置、中断handler、复位等)以及程序的主框架等。这就要求读者对芯片非常熟悉(精确到内存级)。
……