26.02.2013 Views

第1章ZLG/CF 驱动使用 - Read

第1章ZLG/CF 驱动使用 - Read

第1章ZLG/CF 驱动使用 - Read

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

}<br />

}<br />

else<br />

{<br />

}<br />

return RelaStaSect;<br />

RelaStaSect = buffer[454]+ (4)<br />

buffer[455]*0x100 +<br />

buffer[456]*0x10000 +<br />

buffer[457]*0x1000000;<br />

(1) 读设备的 0 号扇区。<br />

(2) 如果该扇区为有效的分区表,该扇区的最后两个字节数据必为 0x55 和 0xAA。<br />

(3) 如果该扇区为 DOS 引导扇区,该扇区的首字节必为 0xEB 或 0xE9,如果首字节为<br />

0xEB 则第 2 个字节必为 0x90;如果设备的 0 号扇区为 DOS 引导扇区,则逻辑盘前没有隐<br />

含扇区,即逻辑盘起始扇区号为 0 号扇区。<br />

(4) 如果该扇区为有效的分区表,则该扇区的 454—457 节字保存的值为第一个卷(逻<br />

辑盘)的起始扇区号。<br />

2.创建 ADS 工程<br />

使用工程模板创建基于 uC/OS-II 的工程,将 ZLG/FS 文件管理系统的相关文件和<br />

ZLG/<strong>CF</strong> 驱动添加到工程;将 uC/OS-II 源码程序及 ARM 的移值代码拷贝到适当的文件夹。<br />

ZLG/FS 文件管理系统的配置使用默认值即可;由于 ZLG/FS 文件管理系统至少使用<br />

uC/OS-II 操作系统 2 个事件,而 ZLG/<strong>CF</strong> <strong>驱动使用</strong> 1 个信号量事件,所示配置 uC/OS-II 操<br />

作系统的事件数不能少于 3 个。<br />

添加相关的头文件到“config.h”文件中,如程序清单 1.11 所示。<br />

/* ZLG/FS需包含的头文件 */<br />

程序清单 1.11 添加头文件及配置<br />

#include "fat.h" (1)<br />

#include "OSFile.h" (2)<br />

extern char *strupr(char *Str); (3)<br />

extern uint16 <strong>CF</strong>Cammand(uint8 Cammand, void *Parameter); (4)<br />

/*系统与 ZLG/<strong>CF</strong> 驱动接口函数的头文件*/<br />

#include "SysATA.H" (5)<br />

/* <strong>CF</strong> 存储卡需配置及包含的头文件 */<br />

#define UCOSII (6)<br />

#include "IDE.H" (7)<br />

(1) ZLG/FS 文件管理系统所包含的头文件。<br />

(2) ZLG/FS 文件管理系统基于 uC/OS-II 所需的头文件。<br />

(3) strupr()函数的外部声明。strupr()是标准库的函数,但是由于 ADS 编译器库没有包含

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!