第1章ZLG/CF 驱动使用 - Read
第1章ZLG/CF 驱动使用 - Read
第1章ZLG/CF 驱动使用 - Read
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
置各 GPIO 引脚为相应的状态。如程序清单 1.8 所示。<br />
程序清单 1.8 ATA 接口初始化函数<br />
/*******************************************************************************************<br />
** 函数名称: ATA_BusIni<br />
** 功能描述: ATA 总线初始化<br />
** 输 入: 无<br />
** 输 出: 出错返回 0<br />
** 全局变量:<br />
** 调用模块:<br />
*******************************************************************************************/<br />
void ATA_BusIni(void)<br />
{<br />
}<br />
PINSEL1 &= 0xffffc003; /*使用到的 P0 口 GPIO 引脚设置*/<br />
PINSEL2 = (PINSEL2 & 0x0f8cf9c0) | 0x00000014; /*使用到的 P1 及 P2 口 GPIO 引脚设置*/<br />
IO0DIR &= (~(IDE_DMAREQ + IDE_INTRQ)); /*P0 相关输入引脚初始化*/<br />
IO0DIR |= (IDE_RST + IDE_WR + IDE_RD); /*P0相关输出引脚初始化*/<br />
IO1DIR &= (~(IDE_DMACK + IDE_IOCS16 + IDE_PDIAG)); /*P1 相关输入引脚初始化*/<br />
IO1DIR|= (IDE_A0+IDE_A1+IDE_A2+IDE_CS0+IDE_CS1+IDE_CSEL);/*P1 相关输出引脚初始化*/<br />
IO2DIR &= (~ATA_DATA); /*数据总线初始化为输入*/<br />
IO0SET = IDE_RST + IDE_WR + IDE_RD; /*<strong>CF</strong> 卡复位引脚及读写信号引脚初始输出高电平*/<br />
IO1SET = IDE_CS0 + IDE_CS1; /*<strong>CF</strong> 卡片选初始化输入高电平*/<br />
IO1CLR = IDE_A0 + IDE_A1 +IDE_A2 + IDE_CSEL; /*地址初始化*/<br />
1.1.4 中间件使用演示<br />
<strong>CF</strong> 卡及 IDE 硬盘等大容量设备,通常都是以一定的文件格式存贮的。常用的文件格式<br />
为 FAT12、FAT16、FAT32,ZLG/FS 文件管理系统支持以上格式。该演示程序结合 ZLG/<strong>CF</strong><br />
驱动及 ZLG/FS 文件管理系统,实现对 <strong>CF</strong> 卡及 IDE 硬盘等大容量存贮设备文件创建及文件<br />
存取等操作。<br />
1.编写文件系统的低层函数<br />
参考 ZLG/FS 文件系统驱动程序设计指南,结合 ZLG/FC 中间件很容易编写出基于<br />
ZLG/FS 文件管理系统 <strong>CF</strong> 存储卡的低层驱动。如程序清单 1.9 所示。<br />
#include "config.h"<br />
程序清单 1.9 ZLG/FS 文件系统 <strong>CF</strong> 卡驱动<br />
/*******************************************************************************************<br />
** 函数名称: <strong>CF</strong>Cammand<br />
** 功能描述: 底层驱动程序与上层的接口程序<br />
**<br />
** 输 入: Cammand:DISK_INIT:驱动程序初始化