描述
纸 张: 胶版纸包 装: 平装是否套装: 否国际标准书号ISBN: 9787810775830
内容简介
本书详细介绍当前几大热点ARM嵌入式系统软件模块的原理及其在AM7上的实现。分为5章,每章介绍一种模块。第1章介绍FAT文件系统的基础知识,以及兼容FAT12、FAT16和FAT32的文件系统模块ZLG/FS的源码分析。第2章介绍USB模块驱动程序的设计思想及实现过程。第3章详细介绍CF卡和IDE硬盘及相应软件模块ZLG/CF的设计思想及实现过程。第4章详细介绍TCP/IP及相应软件模块ZLG/IP的设计思想及实现过程。第5章介绍GUI的基础知识及GUI模块ZLG/GUI的设计思想和实现过程。
这些模块是在PHILIPS公司的通用ARM7微控制器LPC2200系列上调式通过的,可以很容易地移植到基于其他处理器核的嵌入式系统上。
本书可作为《ARM嵌入式系统系列教程》的配套参考资料,可用作高等院校相关专业的ARM嵌入式系统课程的参考书,也可作为从事ARM嵌入式系统开发应用工程技术人员的参考资料。
这些模块是在PHILIPS公司的通用ARM7微控制器LPC2200系列上调式通过的,可以很容易地移植到基于其他处理器核的嵌入式系统上。
本书可作为《ARM嵌入式系统系列教程》的配套参考资料,可用作高等院校相关专业的ARM嵌入式系统课程的参考书,也可作为从事ARM嵌入式系统开发应用工程技术人员的参考资料。
目 录
第1章 ZLG/FS原理与应用
1.1 概述
1.1.1 ZLG/FS简介
1.1.2 ZLG/FS的特点
1.1.3 已实现的特性
1.1.4 暂时未实现的特性
1.2 使用
1.2.1 使用示例
1.2.2 Config.h和fat.h
1.2.3 与编译器无关的数据类型
1.2.4 初始化ZLG/FS
1.2.5 目录相关操作
1.2.6 文件相关操作
1.2.7 关闭ZLG/FS
1.2.8 在多任务环境下使用ZLG/FS
1.3 ZLG/FS的结构视图
1.3.1 概述
1.3.2 应用程序
1.3.3 文件管理与目录管理
1.3.4 文件分配表管理与文件目录表管理
1.3.5 逻辑盘管理模块
1.3.6 高速缓存管理模块
1.3.7 底层驱动程序
1.3.8 实用程序
1.3.9 源代码文件说明
1.4 驱动程序设计指南
1.4.1 一个驱动程序的例子
1.4.2 参数
1.4.3 逻辑盘初始化
1.4.4 卸载逻辑盘
1.4.5 读/写扇区
1.5 FAT文件系统基础知识
1.5.1 简介
1.5.2 本节的约定
1.5.3 概述(适用于各类型的FAT文件系统)
1.5.4 引导扇区和BPB
1.5.5 FAT数据结构
1.5.6 FAT类型的确定
1.5.7 FAT卷的初始化
1.5.8 FAT32 FSInfo扇区结构和备份引导扇区
1.5.9 FAT的目录结构(FDT表)
1.5.10 FAT的长目录项
1.5.11 命名限制和字符集
1.5.12 短文件名和长文件名的名字映射
1.5.13 命名惯例和长文件名
1.5.14 长目录项对旧版FAT的影响
1.5.15 验证目录的内容
1.5.16 与FAT目录项相关的其他注意事项
1.6 逻辑盘信息管理
1.6.1 用户接口函数
1.6.2 内部使用函数
1.6.3 逻辑盘和卷的区别
1.6.4 逻辑盘信息登录项
1.6.5 初始化
1.6.6 加载底层驱动程序
1.6.7 卸载底层驱动程序
1.6.8 获取逻辑盘信息
1.6.9 获取空闲登录项
1.7 Cache管理
1.7.1 用户接口函数
1.7.2 内部使用函数
1.7.3 原理
1.7.4 初始化
1.7.5 通过Cache读/写逻辑扇区
1.7.6 把Cache数据写回逻辑盘
1.8 文件分配表管理
1.8.1 FAT简介
1.8.2 接口函数
1.8.3 获取簇的下一个簇号
1.8.4 设置下一个簇号
1.8.5 为簇链增加一个簇
1.8.6 删除一个簇链
1.9 文件目录表管理
1.9.1 FDT简介
1.9.2 用户接口函数
1.9.3 内部接口函数
1.9.4 数据结构
1.9.5 读取FDT信息
1.9.6 保存FDT信息
1.9.7 获取指定目录指定FDT信息
1.9.8 设置指定目录指定FDT信息
1.9.9 在指定目录查找指定FDT
1.9.10 指定目录查增加FDT
1.9.11 在指定目录删除指定FDT
1.9.12 改变指定目录指定FDT属性
1.9.13 察看指定目录是否为空
1.9.14 在指定目录查看指定FDT是否存在
1.10 目录操作
1.10.1 用户接口函数
1.10.2 内部接口函数
1.10.3 获取指定目录的逻辑盘号
1.10.4 改变当前逻辑盘
1.10.5 建立目录
1.10.6 删除目录
1.10.7 改变当前目录
1.10.8 用户文件/目录名转换为系统名
1.10.9 获取指定文件/目录所在的目录的开始簇号及系统内名称
1.10.10 获取指定目录开始簇号
1.11 文件操作
1.11.1 用户接口函数
1.11.2 数据结构
1.11.3 初始化
1.11.4 删除文件
1.11.5 打开文件
1.11.6 查看指定的文件是否处于打开状态
1.11.7 关闭文件
1.11.8 从文件中读数据
1.11.9 把数据写入文件
1.11.10 判断文件是否读/写到文件尾
1.11.11 移动文件读/写位置
1.12 实用程序
第2章 USB驱动程序开发
2.1 USB1.1协议简介
2.1.1 USB系统构成
2.1.2 USB设备的枚举过程
2.1.3 USB的分组标识
2.1.4 USB标准设备请求
2.1.5 USB设备描述符
2.2 PDIUSBD12器件简介
2.3 硬件电路设计
2.4 软件设计总体思想
2.5 USB设备控制层
2.6 USB接口控制驱动
2.7 应用层
2.7.1 初始化PDIUSBD12
2.7.2 控制传输处理
2.7.3 端点1和端点2数据接收与发送设计思想
2.7.4 从端点接收数据
2.7.5 往端点发送数据
2.8 协议层
2.9 USB驱动程序软件包的使用方法
第3章 CF卡及IDE接口实现与编程
3.1 CF简介
3.1.1 CF背景
3.1.2 CFA目标与宗旨
3.1.3 CF存储卡总览
3.1.4 CF存储特点与应用
3.2 CF存储卡物理层结构
3.2.1 CF存储卡
3.2.2 CF+卡
3.3 CF存储卡电气接口
3.3.1 物理描述
3.3.2 电气描述
3.3.3 电气接口
3.3.4 电气规范
3.3.5 接口/总线时序
3.3.6 True IDE模式 I/O传输功能
3.4 CF+/CF卡True IDE模式软件接口
3.4.1 数据寄存器
3.4.2 错误寄存器
3.4.3 特征寄存器
3.4.4 扇区计数寄存器
3.4.5 扇区号寄存器
3.4.6 柱面低寄存器
3.4.7 柱面高寄存器
3.4.8 设备/磁头寄存器
3.4.9 状态和辅助状态寄存器
3.4.10 设备控制寄存器
3.4.11 命令寄存器
3.4.12 ATA设备硬件复位
3.4.13 ATA设备插入及移出检测
3.4.14 主/从设备的配置与操作
3.5 ATA指令描述
3.5.1 CFATA指令集
3.5.2 设置特征——EFH
3.5.3 设备识别——ECH
3.5.4 读扇区——20H或21H
3.5.5 写扇区——30H或31H
3.5.6 立即空闲——95H或E1H
3.5.7 立即待机——94H或E0H
3.6 ATA指令流程规范
3.6.1 选择设备
3.6.2 PIO data in设备有数据输出
3.6.3 PIO data out设备有数据输入
3.6.4 Non?data设备没有数据传输
3.7 ZLG/CF驱动中间件
3.7.1 ZLG/CF驱动的结构视图
3.7.2 中间件原理
第4章 ZLG/IP的原理及应用
4.1 概述
4.1.1 ZLG/IP简介
4.1.2 ZLG/IP特点
4.2 ZLG/IP支持的硬件举例以太网接口
4.2.1 EasyARM2200以太网接口电路图
4.2.2 以太网控制芯片RTL8019AS
4.2.3 RTL8019AS引脚分类
4.2.4 RTL8019AS 寄存器的说明
4.3 ZLG/IP的应用指南
4.3.1 SOCKET API的使用指南
4.3.2 ZLG/IP设置指南
4.3.3 ZLG/IP的驱动编写规则
4.4 TCP/IP协议栈的分析
4.4.1 TCP/IP简介
4.4.2 TCP/IP的分层
4.4.3 TCP/IP协议栈中底层的链路层
4.4.4 网络层协议
4.4.5 传输层协议
4.5 嵌入式TCP/IP协议栈的实现
4.5.1 与操作系统的联系
4.5.2 ZLG/IP的设置文件
4.5.3 以太网驱动程序的编写
4.5.4 以太网层程序的编写
4.5.5 ARP协议处理程序的编写
4.5.6 IP协议处理程序的编写
4.5.7 ICMP协议处理程序的编写
4.5.8 UDP协议处理程序的编写
4.5.9 TCP协议处理程序的编写
4.5.10 SOCKET API程序的编写
第5章 GUI图形用户界面基础
5.1 概述
5.2 基本画图原理
5.3 基本画图函数
5.3.1 点
5.3.2 线
5.3.3 圆形
5.3.4 圆弧及扇形
5.3.5 椭圆形
5.3.6 矩形
5.3.7 正方形
5.3.8 填充
5.4 简易窗口管理
5.5 字符及图形
5.6 菜单的操作
5.7 彩色图形处理
5.8 ZLG/GUI应用实例
5.8.1 驱动程序的编写
5.8.2 基本作图
5.8.3 画窗口
5.8.4 图形、汉字显示
5.8.5 菜单操作
附录 版权声明及许可协议
1.1 概述
1.1.1 ZLG/FS简介
1.1.2 ZLG/FS的特点
1.1.3 已实现的特性
1.1.4 暂时未实现的特性
1.2 使用
1.2.1 使用示例
1.2.2 Config.h和fat.h
1.2.3 与编译器无关的数据类型
1.2.4 初始化ZLG/FS
1.2.5 目录相关操作
1.2.6 文件相关操作
1.2.7 关闭ZLG/FS
1.2.8 在多任务环境下使用ZLG/FS
1.3 ZLG/FS的结构视图
1.3.1 概述
1.3.2 应用程序
1.3.3 文件管理与目录管理
1.3.4 文件分配表管理与文件目录表管理
1.3.5 逻辑盘管理模块
1.3.6 高速缓存管理模块
1.3.7 底层驱动程序
1.3.8 实用程序
1.3.9 源代码文件说明
1.4 驱动程序设计指南
1.4.1 一个驱动程序的例子
1.4.2 参数
1.4.3 逻辑盘初始化
1.4.4 卸载逻辑盘
1.4.5 读/写扇区
1.5 FAT文件系统基础知识
1.5.1 简介
1.5.2 本节的约定
1.5.3 概述(适用于各类型的FAT文件系统)
1.5.4 引导扇区和BPB
1.5.5 FAT数据结构
1.5.6 FAT类型的确定
1.5.7 FAT卷的初始化
1.5.8 FAT32 FSInfo扇区结构和备份引导扇区
1.5.9 FAT的目录结构(FDT表)
1.5.10 FAT的长目录项
1.5.11 命名限制和字符集
1.5.12 短文件名和长文件名的名字映射
1.5.13 命名惯例和长文件名
1.5.14 长目录项对旧版FAT的影响
1.5.15 验证目录的内容
1.5.16 与FAT目录项相关的其他注意事项
1.6 逻辑盘信息管理
1.6.1 用户接口函数
1.6.2 内部使用函数
1.6.3 逻辑盘和卷的区别
1.6.4 逻辑盘信息登录项
1.6.5 初始化
1.6.6 加载底层驱动程序
1.6.7 卸载底层驱动程序
1.6.8 获取逻辑盘信息
1.6.9 获取空闲登录项
1.7 Cache管理
1.7.1 用户接口函数
1.7.2 内部使用函数
1.7.3 原理
1.7.4 初始化
1.7.5 通过Cache读/写逻辑扇区
1.7.6 把Cache数据写回逻辑盘
1.8 文件分配表管理
1.8.1 FAT简介
1.8.2 接口函数
1.8.3 获取簇的下一个簇号
1.8.4 设置下一个簇号
1.8.5 为簇链增加一个簇
1.8.6 删除一个簇链
1.9 文件目录表管理
1.9.1 FDT简介
1.9.2 用户接口函数
1.9.3 内部接口函数
1.9.4 数据结构
1.9.5 读取FDT信息
1.9.6 保存FDT信息
1.9.7 获取指定目录指定FDT信息
1.9.8 设置指定目录指定FDT信息
1.9.9 在指定目录查找指定FDT
1.9.10 指定目录查增加FDT
1.9.11 在指定目录删除指定FDT
1.9.12 改变指定目录指定FDT属性
1.9.13 察看指定目录是否为空
1.9.14 在指定目录查看指定FDT是否存在
1.10 目录操作
1.10.1 用户接口函数
1.10.2 内部接口函数
1.10.3 获取指定目录的逻辑盘号
1.10.4 改变当前逻辑盘
1.10.5 建立目录
1.10.6 删除目录
1.10.7 改变当前目录
1.10.8 用户文件/目录名转换为系统名
1.10.9 获取指定文件/目录所在的目录的开始簇号及系统内名称
1.10.10 获取指定目录开始簇号
1.11 文件操作
1.11.1 用户接口函数
1.11.2 数据结构
1.11.3 初始化
1.11.4 删除文件
1.11.5 打开文件
1.11.6 查看指定的文件是否处于打开状态
1.11.7 关闭文件
1.11.8 从文件中读数据
1.11.9 把数据写入文件
1.11.10 判断文件是否读/写到文件尾
1.11.11 移动文件读/写位置
1.12 实用程序
第2章 USB驱动程序开发
2.1 USB1.1协议简介
2.1.1 USB系统构成
2.1.2 USB设备的枚举过程
2.1.3 USB的分组标识
2.1.4 USB标准设备请求
2.1.5 USB设备描述符
2.2 PDIUSBD12器件简介
2.3 硬件电路设计
2.4 软件设计总体思想
2.5 USB设备控制层
2.6 USB接口控制驱动
2.7 应用层
2.7.1 初始化PDIUSBD12
2.7.2 控制传输处理
2.7.3 端点1和端点2数据接收与发送设计思想
2.7.4 从端点接收数据
2.7.5 往端点发送数据
2.8 协议层
2.9 USB驱动程序软件包的使用方法
第3章 CF卡及IDE接口实现与编程
3.1 CF简介
3.1.1 CF背景
3.1.2 CFA目标与宗旨
3.1.3 CF存储卡总览
3.1.4 CF存储特点与应用
3.2 CF存储卡物理层结构
3.2.1 CF存储卡
3.2.2 CF+卡
3.3 CF存储卡电气接口
3.3.1 物理描述
3.3.2 电气描述
3.3.3 电气接口
3.3.4 电气规范
3.3.5 接口/总线时序
3.3.6 True IDE模式 I/O传输功能
3.4 CF+/CF卡True IDE模式软件接口
3.4.1 数据寄存器
3.4.2 错误寄存器
3.4.3 特征寄存器
3.4.4 扇区计数寄存器
3.4.5 扇区号寄存器
3.4.6 柱面低寄存器
3.4.7 柱面高寄存器
3.4.8 设备/磁头寄存器
3.4.9 状态和辅助状态寄存器
3.4.10 设备控制寄存器
3.4.11 命令寄存器
3.4.12 ATA设备硬件复位
3.4.13 ATA设备插入及移出检测
3.4.14 主/从设备的配置与操作
3.5 ATA指令描述
3.5.1 CFATA指令集
3.5.2 设置特征——EFH
3.5.3 设备识别——ECH
3.5.4 读扇区——20H或21H
3.5.5 写扇区——30H或31H
3.5.6 立即空闲——95H或E1H
3.5.7 立即待机——94H或E0H
3.6 ATA指令流程规范
3.6.1 选择设备
3.6.2 PIO data in设备有数据输出
3.6.3 PIO data out设备有数据输入
3.6.4 Non?data设备没有数据传输
3.7 ZLG/CF驱动中间件
3.7.1 ZLG/CF驱动的结构视图
3.7.2 中间件原理
第4章 ZLG/IP的原理及应用
4.1 概述
4.1.1 ZLG/IP简介
4.1.2 ZLG/IP特点
4.2 ZLG/IP支持的硬件举例以太网接口
4.2.1 EasyARM2200以太网接口电路图
4.2.2 以太网控制芯片RTL8019AS
4.2.3 RTL8019AS引脚分类
4.2.4 RTL8019AS 寄存器的说明
4.3 ZLG/IP的应用指南
4.3.1 SOCKET API的使用指南
4.3.2 ZLG/IP设置指南
4.3.3 ZLG/IP的驱动编写规则
4.4 TCP/IP协议栈的分析
4.4.1 TCP/IP简介
4.4.2 TCP/IP的分层
4.4.3 TCP/IP协议栈中底层的链路层
4.4.4 网络层协议
4.4.5 传输层协议
4.5 嵌入式TCP/IP协议栈的实现
4.5.1 与操作系统的联系
4.5.2 ZLG/IP的设置文件
4.5.3 以太网驱动程序的编写
4.5.4 以太网层程序的编写
4.5.5 ARP协议处理程序的编写
4.5.6 IP协议处理程序的编写
4.5.7 ICMP协议处理程序的编写
4.5.8 UDP协议处理程序的编写
4.5.9 TCP协议处理程序的编写
4.5.10 SOCKET API程序的编写
第5章 GUI图形用户界面基础
5.1 概述
5.2 基本画图原理
5.3 基本画图函数
5.3.1 点
5.3.2 线
5.3.3 圆形
5.3.4 圆弧及扇形
5.3.5 椭圆形
5.3.6 矩形
5.3.7 正方形
5.3.8 填充
5.4 简易窗口管理
5.5 字符及图形
5.6 菜单的操作
5.7 彩色图形处理
5.8 ZLG/GUI应用实例
5.8.1 驱动程序的编写
5.8.2 基本作图
5.8.3 画窗口
5.8.4 图形、汉字显示
5.8.5 菜单操作
附录 版权声明及许可协议
前 言
本书自成体系,也可作为《ARM嵌入式系统系列教程》的配套参考资料。
互联网为何发展如此迅速?因为沟通的魅力无限。沟通可以极大地促进社会发展,这不是相加的关系,而是相乘甚至是指数的关系。设想一下,远古时代的类人猿一个一个地在森林中生活,“老死不相往来”
互联网为何发展如此迅速?因为沟通的魅力无限。沟通可以极大地促进社会发展,这不是相加的关系,而是相乘甚至是指数的关系。设想一下,远古时代的类人猿一个一个地在森林中生活,“老死不相往来”
评论
还没有评论。