首 页服务网点企业文化解决方案致远电子人才招聘联系我们技术论坛网站更新通知大学老师登记 ?
 NXP 32位ARM微控制器系列
LPC2000系列ARM
LH7(原夏普)系列ARM
ARM系列开发平台
ARM嵌入式系统教学
RealView MDK开发套件
MiniARM嵌入式工控模块
ARM嵌入式工控机
邮购价(1)
 Luminary Micro半导体系列
Stellaris系列ARM
经典配套外围器件
配套开发工具
应用设计
邮购价(2)
 NXP 8位单片机系列
LPC700系列单片机
LPC700配套开发工具
LPC900系列单片机
LPC900配套开发工具
80C51系列单片机
应用设计
邮购价(3)
 Actel FPGA系列
Fusion系列
ProASIC3系列
IGLOO系列
配套开发工具
邮购价(4)
 RAMTRON半导体
FRAM铁电简介
串行FRAM
并行FRAM
处理器外围电路
Versa 8051系列MCU
状态保持器
配套开发工具
邮购价(5)
 热门外围器件系列
CAN-bus器件
USB-bus器件
I2C-bus器件
NXP UART系列器件
LCD驱动器
数码管显示与键盘管理芯片
ESD保护器件
智能卡读写芯片
智能卡读写模块(Mifare)
语音模块
电源模块(DC-DC)
邮购价(6)
 NXP 汽车电子系列
汽车网络
 CATALYST 半导体系列
复位监控器件
内置E2PROM存储器的监控电路
串行E2PROM
可编程数字电位器
LED驱动器
LDO电源管理器件
应用设计
 Exar(原Sipex)半导体系列
选型指南
DC / DC升压型稳压器
DC / DC降压型稳压器
Exar UART系列器件
LDO电源管理器件
电源Blox组件
复位监控器件
USB电源控制开关
多协议接口器件
RS232接口器件
RS485接口器件
 Keil C51软件
Keil C51软件
 嵌入式系统产品系列
逻辑分析仪
USB-bus分析仪
CAN-bus分析仪
编程器
仿真器
80C51系列开发平台
FPGA系列开发平台
 其他产品
OEM/ODM产品
邮购价(7)
 工业通讯产品系列
CAN-bus总线产品
DeveiceNet网络产品
EtherNet网络产品
无线通讯系列
 智能楼宇/ODM/OEM
Mifare读卡模块
门禁控制系统
协议转换器
门禁考勤系统
读卡器/发卡器
门禁/考勤管理系统




ARM嵌入式系统软件开发实例(一)


(点击图片可放大)
ARM嵌入式系统软件开发实例(一)
作者:周立功 等编著
定价:56元
书号:7-81077-583-9
出版日期:200412
开本:787×960 1/16开
字数:788千字
购买联系: 北航出版社  网上购书
内容简介
       本书详细介绍当前几大热点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嵌入式系统开发应用工程技术人员的参考资料。
前    言


    

1. ARM嵌入式系统的发展趋势
       由于网络与通信技术的发展,嵌入式系统在经历了近20年的发展历程后,又进入了一个新的历史发展阶段,即从普遍的低端应用进入到一个高、低端并行发展,并且不断提升低端应用技术水平的时代,其标志是近年来32位MCU的发展。
       32位MCU的应用不会走8位机百花齐放、百余种型号系列齐上阵的道路,这是因为在8位机的低端应用中,嵌入对象与对象专业领域十分广泛而复杂;而当前32位MCU的高端应用则多集中在网络、通信和多媒体技术领域,32位MCU将会集中在少数厂家发展的少数型号系列上。
       在嵌入式系统高端应用的发展中,曾经有众多的厂家参与,很早就有许多8位嵌入式MCU厂家实施了8位、16位和32位机的发展计划。后来,8位和32位机的技术扩展侵占了16位机的发展空间。传统电子系统智能化对8位机的需求使这些厂家将主要精力放在8位机的发展上,形成了32位机发展迟迟不前的局面。当网络、通信和多媒体信息家电业兴起后,出现了嵌入式系统高端应用的市场;而在嵌入式系统的高端应用中,进行多年技术准备的ARM公司适时地推出了32位ARM系列嵌入式微处理器,以其明显的性能优势和知识产权平台扇出的运行方式,迅速形成32位机高端应用的主流地位,以至于使不少传统嵌入式系统厂家放弃了自己的32位发展计划,转而使用ARM内核来发展自己的32位MCU。甚至在嵌入式系统发展史上做出卓越贡献的Intel公司以及将单片微型计算机发展到微控制器的PHILIPS公司,在发展32位嵌入式系统时都不另起炉灶,而是转而使用ARM公司的嵌入式系统内核来发展自己的32位MCU。
       网络、通信、多媒体和信息家电时代的到来,无疑为32位嵌入式系统高端应用提供了空前巨大的发展空间;同时,也为力不从心的8位机向高端发展起到了接力作用。一般来说,嵌入式系统的高、低端应用模糊地界定为: 高端用于具有海量数据处理的网络、通信和多媒体领域,低端则用于对象系统的控制领域。然而,控制系统的网络化、智能化的发展趋势要求在这些8位机的应用中提升海量数据处理能力。当8位机无法满足这些提升要求时,便会转而求助32位机的解决办法。因此,32位机的市场需求发展由两方面所致: 一方面是高端新兴领域(网络、通信、多媒体和信息家电)的拓展;另一方面是低端控制领域应用在数据处理能力的提升要求。
       后PC时代的到来以及32位嵌入式系统的高端应用吸引了大量计算机专业人士的介入,加之嵌入式系统软/硬件技术的发展,导致了嵌入式系统应用模式的巨大变化,即使嵌入式系统应用进入到一个基于软/硬件平台、集成开发环境的应用系统开发时代,并带动了SoC技术的发展。
       在众多嵌入式系统厂家参与下,基于ARM系列处理器的应用技术会在众多领域取得突破性进展。Intel公司将ARM系列向更高端的嵌入式系统发展;而PHILIPS公司则在向高端嵌入式系统发展的同时,向低端的8位和16位机的高端应用延伸。Intel公司和PHILIPS公司的发展都体现了各自的特点,并充分发挥了各自的优势。因此,在32位嵌入式系统的应用中,ARM系列会形成ARM公司领军,众多厂家参与,计算机专业、电子技术专业以及对象专业人士共同推动的局面,形成未来32位嵌入式系统应用的主流趋势。这种集中分工的技术发展模式有利于嵌入式系统的快速发展。
       面对这种形势,近年来,嵌入式系统业界人士掀起了广泛学习嵌入式系统理论及应用开发的热潮,相关的出版物和培训班如雨后春笋不断出现。无论是原有的嵌入式系统业界人士,还是刚进入嵌入式系统的人们,都渴望了解嵌入式系统理论,掌握嵌入式系统的应用技术。高等院校面对这种形式,也迫切需要开设相应的课程。因此,为了满足高等院校嵌入式系统教学以及社会上各种培训的需要,作者结合几年来在嵌入式系统领域教学与开发的经验和特点,编写了本套《ARM嵌入式系统系列教程》。

2. 本套教程的组成
       本套教程由理论教材、实验教材和学习指导3部分(共5册)组成,且配套的所有教学实验平台都是基于PHILIPS公司的LPC2000系列ARM微控制器(基于ARM7TDMIS核心)而设计。

       理论教材
          《ARM嵌入式系统基础教程》
              ——含开放式多媒体教学课件,可自行添加或删减内容
       实验教材
          《ARM嵌入式系统实验教程(一)》
              ——含开放式多媒体实验教学课件,可自行添加或删减内容
              ——配套EasyARM2200教学实验平台
          《ARM嵌入式系统实验教程(二)》
              ——含开放式多媒体实验教学课件,可自行添加或删减内容
              ——配套SmartARM2200教学实验平台
          《ARM嵌入式系统实验教程(三)》
              ——含开放式多媒体实验教学课件,可自行添加或删减内容
              ——配套MagicARM2200教学实验平台
       辅导资料
          《ARM嵌入式系统学习指导》

       上述5本图书构成了一个完整的,可根据不同教学特点及时进行裁剪、配套的教材体系。

       除此之外,还将我们近年来在ARM嵌入式系统领域的应用开发成果编辑成两册在北京航空航天大学出版社出版。选用本套教程作为教学或培训教材的师生以及工程技术开发人员,可选用下面两本图书作为参考资料。这两本参考资料可对ARM嵌入式系统的应用开发人员提供进一步的帮助。

       参考资料
          《ARM嵌入式系统软件开发实例 (一) 》
          《ARM嵌入式系统软件开发实例 (二) 》

3. 本套教程的特点
       本套教程可面对不同教学或培训需要,并配备有相对应的教学实验平台,配有开放式多媒体教学课件,具有完整性、实践性强及便于教学等特点。
       完整性——体现在理论教材、实验教材、辅导资料及参考资料的完全配套性;
       实践性强——体现在所提供的教学实验系统是成熟且易于上手的软/硬件应用平台;
       便于教学——体现在针对不同教学要求,能方便地选择教学与实验教材的最佳组合,无论是理论教材,还是实验教材都配有多媒体教学课件。

4. 本套教程各册内容简介
       《ARM嵌入式系统基础教程》本套教程中的理论课教材。以PHILIPS公司LPC2000系列ARM微控制器为例,深入浅出地介绍嵌入式系统开发的各个方面。共分3部分: ① 理论部分: 主要介绍嵌入式系统相关的概念及开发方法; ② 基础部分: 主要介绍ARM7体系结构、指令系统及LPC2000系列ARM微控制器的结构原理; ③ 应用部分: 主要介绍如何设计嵌入式系统,包括硬件的设计、μC/OSII的移植、建立软件开发平台的方法及嵌入式系统开发平台的应用。
       《ARM嵌入式系统实验教程(一)》本套教程中的实验课教材之一。以具有丰富硬件资源的EasyARM2200教学实验平台为基础,以ADS 1.2集成开发环境、μC/OSII操作系统以及各种中间件为软件平台,搭建经济实用的ARM嵌入式系统教学实验体系。共分5章,共有47个实验例子。第1章全面介绍EasyARM2200教学实验平台的设计原理以及各种跳线、接口的使用说明。第2章重点介绍ADS 1.2集成开发环境的使用,包括建立工程、添加源文件、编译链接设置以及AXD调试操作等,并介绍LPC2200专用工程模板及EasyJTAG仿真器的安装与使用。第3章为基础实验,包含32个实验。第4章为基于μC/OSII操作系统的实验,包含6个实验。第5章为综合实验,包含9个实验。
       《ARM嵌入式系统实验教程(二)》本套教程中的实验课教材之二。以具有丰富硬件资源的SmartARM2200教学实验平台为硬件基础,使用2.2英寸TFT LCD显示屏作为人机界面,使用μC/OSII和μCLinux双操作系统、开源的MiniGUI图形用户界面等各种中间件为软件平台,搭建高性价比的ARM嵌入式系统教学实验体系,同时还非常适合构建手持便携式产品教学与开发示范平台,如掌上游戏机、PDA、POS机、手持式电度表抄表器、智能卡系列产品手持式数据录入器、酒店点菜器以及手持式测量仪器仪表等。
       《ARM嵌入式系统实验教程(三)》本套教程中的实验课教材之三。以具有丰富硬件资源的MagicARM2200为教学实验平台,使用5.2英寸STN LCD触摸显示屏作为人机界面,使用μC/OSII和μCLinux双操作系统、开源的MiniGUI图形用户界面等各种中间件为软件平台,搭建ARM嵌入式系统教学实验体系,完全覆盖了EasyARM2200 与SmartARM2200教学实验平台几乎所有的软/硬件功能模块。
       《ARM嵌入式系统学习指导》为读者提供学习指导和课外补充,答疑解惑。对本套教程中的理论教材和3本实验教材中的习题进行解答,并对理论教材中的重点和难点进行剖析,还补充了许多相关资料作为课外补充读物。两本参考资料的内容简介如下:
       《ARM嵌入式系统软件开发实例(一)》详细介绍当前几大热点ARM嵌入式系统软件模块的原理及其在ARM7上的实现。分为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的设计思想及实现过程。
       《ARM嵌入式系统软件开发实例(二)》详细介绍当前几大热点ARM嵌入式系统软件模块的原理及其在ARM7上的实现。如USB1.1(ISP1181B)/HOST(ISP1160/1161)、1英寸微型1/1.5/2 GB硬盘、SD卡等软件的开发思想与源码分析。

5. 本套教程的读者对象以及如何配套选用
       本套教程适用于高等院校测控技术与仪器设计、智能化控制、电子工程、机电一体化、自动化以及计算机等专业开设嵌入式系统课程的教材,也可用作各种嵌入式系统应用开发工程技术人员的培训教材。
       各高等学校及嵌入式系统应用开发工程技术人员,可以根据自己的需求及实验室的状况配套选用本套教程。作者给出了3种基本方案供参考,学校在建立实验室时也可以组合使用。
      (1) 经济型方案
教材: 《ARM嵌入式系统基础教程》、《ARM嵌入式系统实验教程(一)》。
实验器材: 计算机、EasyJTAG仿真器、EasyARM2200教学实验平台(包含主芯片为PDIUSBD12的USB1.1 PACK)、CF卡(选件)、硬盘(选件)、SMG240128A液晶模块(选件)、WH153PA12微型热敏打印机(选件)以及其他电子实验常用设备(如万用表、面包板等)。
参考资料: 《ARM嵌入式系统学习指导》、《ARM嵌入式系统软件开发实例(一)》。
软件: ADS1.2、μC/OSII V2.52和ZLGGUI。
      (2) 高性价比方案
教材: 《ARM嵌入式系统基础教程》、《ARM嵌入式系统实验教程(二)》。
实验器材: 计算机、EasyJTAG仿真器、SmartARM2200教学实验平台(包含主芯片为PDIUSBD12的USB1.1 PACK、2.2英寸TFT LCD高清晰度彩色显示屏)、ISP1181B的USB1.1 PACK(选件)、ISP1160或ISP1161的USB HOST PACK(选件)、CF卡(选件)、SD卡(选件)、普通硬盘或1英寸微型硬盘(选件)、WH153PA12微型热敏打印机(选件)以及其他电子实验常用设备(如万用表、面包板等)。
参考资料: 《ARM嵌入式系统学习指导》、《ARM嵌入式系统软件开发实例(一)》和《ARM嵌入式系统软件开发实例(二)》。
软件: ADS1.2、GCC、μC/OSII V2.52、μClinux 2.4和MiniGUI。
      (3) 全功能型方案
教材: 《ARM嵌入式系统基础教程》、《ARM嵌入式系统实验教程(三)》。
实验器材: 计算机、EasyJTAG仿真器、MagicARM2200教学实验平台(包含主芯片为PDIUSBD12 的USB1.1 PACK、ISP1160 或ISP1161的USB HOST PACK、双路CANbus接口、5.2英寸STN LCD触摸显示屏)、ISP1181B的USB1.1 PACK(选件)、CF卡(选件)、SD卡(选件)、GPS/GPRS模块(选件)、MODEM(选件)、普通硬盘或1英寸微型硬盘(选件)、WH153PA12微型热敏打印机(选件)以及其他电子实验常用设备(如万用表、面包板等)。
参考资料: 《ARM嵌入式系统学习指导》、《ARM嵌入式系统软件开发实例(一)》、《ARM嵌入式系统软件开发实例(二)》。
软件: ADS1.2、GCC、μC/OSII V2.52、μClinux 2.4和MiniGUI。

6. 本套教程的网络辅助
       作者在其网站(www.zlgmcu.com)上将开辟“跟我学ARM”和“应用设计”等辅导专栏,帮助读者深入浅出地学习ARM嵌入式系统;并结合大学生的课程设计与毕业设计做好ARM嵌入式系统的软/硬件开发,有针对性地不断更新各种资料。读者也可在该栏目上发表应用文章,交流学习心得。我们相信,本套《ARM嵌入式系统系列教程》的出版一定会对国内32位嵌入式系统的教学与实践起到推动作用;通过这些努力,一定会使我国嵌入式系统应用提升到一个更高的水平,并推动32位嵌入式系统的普及。

       我们也真诚地欢迎广大读者给我们来信(zlg3@zlgmcu.com),将您对本套图书的意见及修改建议及时提供给我们,以便在本套图书再版时修订。我们真诚希望能够得到广大读者持续不断的支持。


       作者
       2004年10月


前 言

       本书自成体系,也可作为《ARM嵌入式系统系列教程》的配套参考资料。
       互联网为何发展如此迅速?因为沟通的魅力无限。沟通可以极大地促进社会发展,这不是相加的关系,而是相乘甚至是指数的关系。设想一下,远古时代的类人猿一个一个地在森林中生活,“老死不相往来”,地球上还会出现现代文明社会吗?
       早期的嵌入式系统是一个个孤立的系统,与人的沟通——人机界面也很简单。这是由当时的技术水平以及当时嵌入式系统的应用场合决定的。与早期的电脑类似,早期的嵌入式系统价格昂贵,数量也很少,普通人不可能接触,只有专家才能操作。尽管如此,早期嵌入式系统的性能却很低,只能用于解决实际的问题。由于成本昂贵,性能较低,设计嵌入式系统主要考虑如何充分发挥其性能,其他方面只好割爱;因此造成只有“专家”才能使用嵌入式系统。
       时过境迁,嵌入式系统已经发生了巨大变化。如今,“福特出售的‘计算能力’已超过了IBM”(福特公司的高级经理语。这里的‘计算能力’泛指通用计算机和嵌入式系统的计算能力,事实上,福特公司不生产通用计算机,只生产汽车,内嵌许多嵌入式系统),嵌入式系统已深入到社会的方方面面。嵌入式系统的广泛使用使嵌入式系统之间互相沟通变得十分重要。孤立的嵌入式系统必须事必亲为,结果任何事都不能做得最好。而嵌入式系统增多后,每个嵌入式系统可以专注于一件事,可以做得最好。同样对于一个公司,尽管每个员工都做得最好,但若员工之间没有互相沟通与协调,公司也运作不下去。因此,各个嵌入式系统之间须相互协调,甚至还需要与整个系统的外部交换数据。本书介绍的几个软件模块都是用于嵌入式系统之间、嵌入式系统与其他系统之间、嵌入式系统与人之间的互相沟通和交换数据。鉴于ARM核在嵌入式系统中的地位,这些模块首先是在PHILIPS公司的通用ARM7微控制器LPC2200系列上调试通过的,但可以很容易移植到基于其它处理器核的嵌入式系统上。
       本书各个章节内容均由各个嵌入式软件模块的编写者完成,详细地介绍了相应嵌入式软件模块的实现思想和方法。各个章节内容安排如下:
       第1章——ZLG/FS原理与应用。介绍与FAT12、FAT16和FAT32兼容的文件系统的原理,并通过对ZLG/FS软件包的源码分析,分层次介绍如何在嵌入式系统中支持基于FAT12、FAT16和FAT32的卷,即分析ZLG/FS的实现。
       FAT文件系统是被通用电脑广泛支持的文件系统,也是嵌入式系统常用的文件系统,使用该文件系统,可以使用简单的方法与最广泛的系统交换数据,并使这些数据发挥最大效益。
       第2章——USB驱动程序开发。以PDIUSBD12为例,详细介绍如何使用PHILIPS公司的LPC2200 ARM微控制器开发基于μC/OSII 的USB驱动程序。通过这个例子,用户可深入了解如何较规范地编写基于μC/OSII操作系统的USB驱动程序。
       USB是当前PC机流行的外设接口总线,USB的从设备和主设备也愈来愈多。嵌入式系统如果作为USB从设备,与PC机通信就比较简单,如果再与FAT文件系统相结合,则可将嵌入式系统设计成U盘,不需要驱动程序即可与PC很方便地交换数据。
       第3章——CF卡及IDE接口实现与编程。详细地介绍CF卡(Compact Flash Card)在True IDE 模式下的应用技术,以及CF卡驱动的开发方法和实例。
       CF卡是使用广泛的电子存储设备,很多数码相机、PDA都使用它来存储数据,甚至一些手机也支持CF卡。CF卡比其他电子存储设备便宜,嵌入式系统如果使用它作为存储设备,成本较低,又容易与其他设备交换数据(但须与FAT文件系统相结合)。如果与USB结合,可形成读卡器,交换数据就更加方便。
       第4章——ZLG/IP的原理及应用。 从网络结构的角度分析TCP/IP协议的组成,并通过解剖ZLG/IP分析TCP/IP协议栈的实现过程。
       前面几章都是介绍近距离的沟通,而用本章的软件模块可实现远距离沟通。目前互联网遍布全球,通过该软件模块可实现在全世界范围内沟通。
       第5章——GUI图形用户界面基础。详细介绍嵌入式系统简易的图形用户界面ZLG/GUI的原理,分析Bresenham画直线、圆和椭圆等算法,并提供实现的代码和应用例子代码。
       现在嵌入式系统功能越来越强,越来越复杂,操作却要求越来越简单。这时就需要GUI图形用户界面来显身手。漂亮的人机界面还会提高用户的购买欲。
       本书介绍的嵌入式软件模块均由广州周立功单片机发展有限公司资深工程师设计,并会不断地升级软件,力求软件越来越完善。
       参与本书编写和工作的主要人员有陈明计、黄邵斌、戚军、叶皓贲、周立山、郑明远、刘英斌、岳宪臣和朱旻等。全书由周立功负责规划、内容安排、定稿与修改。
       由于作者水平有限,书中难免有疏忽、不恰当甚至错误的地方,恳请各位老师及同行指正。
       感谢北京航空航天大学出版社的大力支持,使本书得以快速出版;感谢PHILIPS美国半导体公司CK Phua先生几年来一如既往的支持和关心。

       周立功
       2004年11月

目    录

第1章 ZLG/FS原理与应用
1.1 概述1
1.1.1 ZLG/FS简介1
1.1.2 ZLG/FS的特点1
1.1.3 已实现的特性2
1.1.4 暂时未实现的特性2
1.2 使用2
1.2.1 使用示例2
1.2.2 Config.h和fat.h4
1.2.3 与编译器无关的数据类型4
1.2.4 初始化ZLG/FS5
1.2.5 目录相关操作5
1.2.6 文件相关操作5
1.2.7 关闭ZLG/FS6
1.2.8 在多任务环境下使用ZLG/FS6
1.3 ZLG/FS的结构视图10
1.3.1 概述10
1.3.2 应用程序11
1.3.3 文件管理与目录管理11
1.3.4 文件分配表管理与文件目录表管理11
1.3.5 逻辑盘管理模块11
1.3.6 高速缓存管理模块11
1.3.7 底层驱动程序11
1.3.8 实用程序12
1.3.9 源代码文件说明12
1.4 驱动程序设计指南12
1.4.1 一个驱动程序的例子12
1.4.2 参数14
1.4.3 逻辑盘初始化14
1.4.4 卸载逻辑盘15
1.4.5 读/写扇区15
1.5 FAT文件系统基础知识16
1.5.1 简介16
1.5.2 本节的约定16
1.5.3 概述(适用于各类型的FAT文件系统)16
1.5.4 引导扇区和BPB17
1.5.5 FAT数据结构23
1.5.6 FAT类型的确定24
1.5.7 FAT卷的初始化30
1.5.8 FAT32 FSInfo扇区结构和备份引导扇区33
1.5.9 FAT的目录结构(FDT表)34
1.5.10 FAT的长目录项38
1.5.11 命名限制和字符集42
1.5.12 短文件名和长文件名的名字映射43
1.5.13 命名惯例和长文件名44
1.5.14 长目录项对旧版FAT的影响45
1.5.15 验证目录的内容46
1.5.16 与FAT目录项相关的其他注意事项47
1.6 逻辑盘信息管理48
1.6.1 用户接口函数48
1.6.2 内部使用函数48
1.6.3 逻辑盘和卷的区别48
1.6.4 逻辑盘信息登录项48
1.6.5 初始化49
1.6.6 加载底层驱动程序50
1.6.7 卸载底层驱动程序54
1.6.8 获取逻辑盘信息55
1.6.9 获取空闲登录项55
1.7 Cache管理56
1.7.1 用户接口函数56
1.7.2 内部使用函数56
1.7.3 原理57
1.7.4 初始化59
1.7.5 通过Cache读/写逻辑扇区59
1.7.6 把Cache数据写回逻辑盘66
1.8 文件分配表管理68
1.8.1 FAT简介68
1.8.2 接口函数69
1.8.3 获取簇的下一个簇号69
1.8.4 设置下一个簇号74
1.8.5 为簇链增加一个簇78
1.8.6 删除一个簇链82
1.9 文件目录表管理83
1.9.1 FDT简介83
1.9.2 用户接口函数83
1.9.3 内部接口函数83
1.9.4 数据结构84
1.9.5 读取FDT信息84
1.9.6 保存FDT信息86
1.9.7 获取指定目录指定FDT信息88
1.9.8 设置指定目录指定FDT信息91
1.9.9 在指定目录查找指定FDT94
1.9.10 指定目录查增加FDT96
1.9.11 在指定目录删除指定FDT100
1.9.12 改变指定目录指定FDT属性102
1.9.13 察看指定目录是否为空103
1.9.14 在指定目录查看指定FDT是否存在105
1.10 目录操作107
1.10.1 用户接口函数107
1.10.2 内部接口函数107
1.10.3 获取指定目录的逻辑盘号108
1.10.4 改变当前逻辑盘108
1.10.5 建立目录109
1.10.6 删除目录112
1.10.7 改变当前目录114
1.10.8 用户文件/目录名转换为系统名115
1.10.9 获取指定文件/目录所在的目录的开始簇号及系统内名称117
1.10.10 获取指定目录开始簇号120
1.11 文件操作124
1.11.1 用户接口函数124
1.11.2 数据结构125
1.11.3 初始化126
1.11.4 删除文件126
1.11.5 打开文件128
1.11.6 查看指定的文件是否处于打开状态136
1.11.7 关闭文件139
1.11.8 从文件中读数据141
1.11.9 把数据写入文件145
1.11.10 判断文件是否读/写到文件尾148
1.11.11 移动文件读/写位置149
1.12 实用程序152

第2章 USB驱动程序开发
2.1 USB1.1协议简介160
2.1.1 USB系统构成160
2.1.2 USB设备的枚举过程162
2.1.3 USB的分组标识162
2.1.4 USB标准设备请求163
2.1.5 USB设备描述符167
2.2 PDIUSBD12器件简介173
2.3 硬件电路设计176
2.4 软件设计总体思想177
2.5 USB设备控制层178
2.6 USB接口控制驱动184
2.7 应用层197
2.7.1 初始化PDIUSBD12199
2.7.2 控制传输处理201
2.7.3 端点1和端点2数据接收与发送设计思想202
2.7.4 从端点接收数据207
2.7.5 往端点发送数据214
2.8 协议层222
2.9 USB驱动程序软件包的使用方法238


第3章 CF卡及IDE接口实现与编程
3.1 CF简介242
3.1.1 CF背景242
3.1.2 CFA目标与宗旨242
3.1.3 CF存储卡总览243
3.1.4 CF存储特点与应用243
3.2 CF存储卡物理层结构244
3.2.1 CF存储卡244
3.2.2 CF+卡244
3.3 CF存储卡电气接口244
3.3.1 物理描述244
3.3.2 电气描述245
3.3.3 电气接口247
3.3.4 电气规范247
3.3.5 接口/总线时序252
3.3.6 True IDE模式 I/O传输功能255
3.4 CF+/CF卡True IDE模式软件接口256
3.4.1 数据寄存器257
3.4.2 错误寄存器257
3.4.3 特征寄存器258
3.4.4 扇区计数寄存器259
3.4.5 扇区号寄存器259
3.4.6 柱面低寄存器260
3.4.7 柱面高寄存器260
3.4.8 设备/磁头寄存器261
3.4.9 状态和辅助状态寄存器262
3.4.10 设备控制寄存器263
3.4.11 命令寄存器264
3.4.12 ATA设备硬件复位264
3.4.13 ATA设备插入及移出检测264
3.4.14 主/从设备的配置与操作265
3.5 ATA指令描述267
3.5.1 CFATA指令集268
3.5.2 设置特征——EFH270
3.5.3 设备识别——ECH275
3.5.4 读扇区——20H或21H289
3.5.5 写扇区——30H或31H294
3.5.6 立即空闲——95H或E1H298
3.5.7 立即待机——94H或E0H302
3.6 ATA指令流程规范306
3.6.1 选择设备306
3.6.2 PIO data in设备有数据输出309
3.6.3 PIO data out设备有数据输入313
3.6.4 Nondata设备没有数据传输316
3.7 ZLG/CF驱动中间件317
3.7.1 ZLG/CF驱动的结构视图317
3.7.2 中间件原理318

第4章 ZLG/IP的原理及应用
4.1 概述331
4.1.1 ZLG/IP简介331
4.1.2 ZLG/IP特点331
4.2 ZLG/IP支持的硬件举例以太网接口332
4.2.1 EasyARM2200以太网接口电路图332
4.2.2 以太网控制芯片RTL8019AS332
4.2.3 RTL8019AS引脚分类332
4.2.4 RTL8019AS 寄存器的说明337
4.3 ZLG/IP的应用指南354
4.3.1 SOCKET API的使用指南354
4.3.2 ZLG/IP设置指南359
4.3.3 ZLG/IP的驱动编写规则361
4.4 TCP/IP协议栈的分析365
4.4.1 TCP/IP简介365
4.4.2 TCP/IP的分层365
4.4.3 TCP/IP协议栈中最底层的链路层370
4.4.4 网络层协议380
4.4.5 传输层协议394
4.5 嵌入式TCP/IP协议栈的实现432
4.5.1 与操作系统的联系432
4.5.2 ZLG/IP的设置文件436
4.5.3 以太网驱动程序的编写437
4.5.4 以太网层程序的编写450
4.5.5 ARP协议处理程序的编写458
4.5.6 IP协议处理程序的编写465
4.5.7 ICMP协议处理程序的编写473
4.5.8 UDP协议处理程序的编写477
4.5.9 TCP协议处理程序的编写483
4.5.10 SOCKET API程序的编写498

第5章 GUI图形用户界面基础
5.1 概述527
5.2 基本画图原理527
5.3 基本画图函数529
5.3.1 点538
5.3.2 线540
5.3.3 圆形553
5.3.4 圆弧及扇形557
5.3.5 椭圆形576
5.3.6 矩形582
5.3.7 正方形582
5.3.8 填充583
5.4 简易窗口管理601
5.5 字符及图形605
5.6 菜单的操作613
5.7 彩色图形处理623
5.8 ZLG/GUI应用实例625
5.8.1 驱动程序的编写626
5.8.2 基本作图632
5.8.3 画窗口635
5.8.4 图形、汉字显示638
5.8.5 菜单操作640

附录版权声明及许可协议
参考文献

 

 
 
    首 页 | 公司介绍 | 服务网点 | 解决方案 | 人才招聘 | 致远电子 | 客户服务 | 联系我们
版权所有 © 广州周立功单片机发展有限公司