CH374LIB

所属分类:单片机开发
开发工具:C/C++
文件大小:1364KB
下载次数:107
上传日期:2008-05-17 00:16:46
上 传 者LIGQING
说明:  CH374 USB-HOST文件系统单片机子程序库
(CH374 USB-HOST file system Singlechip subroutine library)

文件列表:
ARM32 (0, 2006-08-28)
ARM32\LIB9 (0, 2006-08-28)
ARM32\LIB9\CH374HF9.H (45576, 2006-09-22)
ARM32\LIB9\CH374HF9.LIB (36516, 2006-09-22)
ARM32\LIB9\EXAM1 (0, 2006-08-28)
ARM32\LIB9\EXAM1\CH374HFT.C (19026, 2006-09-21)
ARM32\LIB9\EXAM1\CH374HFT.HEX (59827, 2006-09-21)
ARM32\LIB9\EXAM1\PARA.C (1946, 2006-09-21)
ARM32\LIB9\EXAM1\PARA0.C (1557, 2006-09-21)
ARM32\LIB9\EXAM1\SPI.C (1851, 2006-09-21)
ARM32\LIB9\EXAM6 (0, 2006-08-28)
ARM32\LIB9\EXAM6\CH374HFT.C (13706, 2006-09-21)
ARM32\LIB9\EXAM6\CH374HFT.HEX (54554, 2006-09-21)
ARM32\LIB9\EXAM6\PARA.C (1946, 2006-09-21)
ARM32\LIB9\EXAM6\SPI.C (1851, 2006-09-21)
ARM32\LIBI (0, 2006-08-28)
ARM32\LIBI\CH374HFI.H (45599, 2006-09-22)
ARM32\LIBI\CH374HFI.LIB (37156, 2006-09-22)
ARM32\LIBM (0, 2006-08-28)
ARM32\LIBM\CH374HFM.H (45699, 2006-09-22)
ARM32\LIBM\CH374HFM.LIB (579115, 2006-09-22)
ARM32\LIBM\EXAM1 (0, 2006-08-28)
ARM32\LIBM\EXAM1\CH374HFT.C (19543, 2006-09-21)
ARM32\LIBM\EXAM1\CH374HFT.HEX (78698, 2006-09-21)
ARM32\LIBM\EXAM1\PARA.C (1946, 2006-09-21)
ARM32\LIBM\EXAM1\SPI.C (1851, 2006-09-21)
ARM32\LIBS (0, 2006-08-28)
ARM32\LIBS\CH374HFS.H (45599, 2006-09-22)
ARM32\LIBS\CH374HFS.LIB (36536, 2006-09-22)
ARM32\LIBU (0, 2006-08-28)
ARM32\LIBU\CH374HFU.H (45736, 2006-09-22)
ARM32\LIBU\CH374HFU.R79 (55782, 2006-09-22)
AVR (0, 2006-08-28)
AVR\LIBB (0, 2006-08-28)
AVR\LIBB\CH374HFB.A (138081, 2006-09-22)
AVR\LIBB\CH374HFB.H (45610, 2006-09-22)
AVR\LIBB\EXAM1 (0, 2006-08-28)
AVR\LIBB\EXAM1\CH374HFT.C (18494, 2006-09-22)
AVR\LIBB\EXAM1\CH374HFT.HEX (55399, 2006-09-22)
AVR\LIBB\EXAM1\PARA.C (1945, 2006-09-21)
... ...

有关CH374的U盘文件级子程序库的接口说明以及例子程序 请参考CH374评估板资料CH374/EVT/PUB/CH374EVT.PDF和CH374HF.PDF 网上可供下载的压缩包文件是CH374EVT.ZIP ***************************************************************************************** CH374LIB V1.2 最新更新 2006.09.21 一、更新和增加 1、用磁盘缓冲区指针pDISK_BASE_BUF代替缓冲区DISK_BASE_BUF,便于缓冲区合用,由.H文件初始化 2、支持任意的扇区大小,通常是512字节,有个别MP3可能是2K字节 3、修改首扇区DBR/MBR的识别方法 ***************************************************************************************** CH374LIB V1.1 最新更新 2006.09.01 一、修正BUG 1、高速单片机字节到扇区移位优化错误 二、更新和增加 1、支持内置USB-HUB的复合U盘,支持外接USB-HUB之后再连接U盘, 增加全局变量CH374vHubPortCount指示当前HUB上的端口数,为0则没有HUB 2、子程序内部去掉CH374FileEnumer和CH374FileQuery以及CH374Reset三个子程序,节约内部代码, 由.H文件提供可由条件编译控制的外部子程序实现向前兼容 3、为外部子程序CH374_READ_BLOCK***和CH374_WRITE_BLOCK***增加一个参数mAddr作为起始地址 4、关闭外部块接口子程序,去掉.H文件中的xWriteToExtBuf( )和xReadFromExtBuf( ), 实际应用可以在外部子程序CH374_READ_BLOCK***和CH374_WRITE_BLOCK***中实现类似功能 5、去掉CH374LibConfig中的数据复制方式的控制位,去掉.H文件中的相关定义, 对于MCS51单片机,可以通过链接三种复制方式I/O库中的一种选择复制方式和速度 6、将单OBJ文件改为多OBJ文件,便于在链接时节约代码量 ***************************************************************************************** CH374LIB V1.0 最新更新 2006.07.20 一、更新和增加 1、以CH375LIB的V2.9版本为基础形成CH374LIB的V1.0版本 2、在.H文件中去掉了EN_CH374LIB_MORE条件编译选项,直接置为允许 3、在CH374FileOpen子程序中增加了回调子程序xFileNameEnumer( ),用于在枚举到文件时调用, 使用CH374vFileSize作为枚举序号,并且其值为0xFFFFFFFF,参考EXAM13可加快搜索速度 4、增加了外部子程序xDelayAfterWrite( ),用于根据实际需要在U盘写操作后延时 5、修改CH374vDiskRoot始终为32位变量,对于MCS51单片机,修改CH374vDiskRoot为外部变量 修改CH374vFdtLba为外部变量,修改CH374IntStatus始终为内部变量 6、增加了备份/恢复子程序库的变量的子程序CH374SaveVariable( ), 用于子程序库在多个CH374芯片之间进行切换,以及外接USB-HUB后在多个U盘之间进行切换 7、增加了延时指定毫秒的子程序CH374DelaymS( ),用于延时1到255毫秒 8、增加了USB基本传输事务的子程序CH374HostTransact( ),用于实现基本的USB传输 9、增加了执行USB控制传输的子程序CH374CtrlTransfer( ),用于执行控制传输 10、查询U盘是否连接或断开,只能使用CH374DiskConnect子程序或者自行编写的外部子程序 11、预留外部扇区接口,只读版本支持xDiskSectorAccess( )用于外部以扇区为单位存取磁盘 ***************************************************************************************** 附录A:关于CH374子程序库与CH375子程序库的区别 1、硬件端口或者硬件接口子程序名称不同, 对于总线I/O操作,CH374和CH375都只占用两个地址位,但名称及用途不同, 高地址位对CH374是索引地址端口,用于设置起始地址,对CH375是命令端口,用于发出命令码, CH374端口名是CH374_IDX_PORT/CH374_DAT_PORT,CH375端口名是CH375_CMD_PORT/CH375_DAT_PORT, 对于非总线I/O操作,前者是CH374_READ_REGISTER、CH374_WRITE_REGISTER、CH374_WRITE_BLOCK_C、 CH374_READ_BLOCK、CH374_WRITE_BLOCK、CH374_READ_BLOCK***、CH374_WRITE_BLOCK***, 后者是xWriteCH375Cmd、xWriteCH375Data、xReadCH375Data 2、各变量、各子程序名称不同,前者是CH374开头,后者是CH375开头 3、CH374只能以CH374DiskConnect子程序查询U盘是否连接,而CH375除此之外还可以用xQueryInterrupt 4、一些基本功能例如BulkOnly协议及基本SCSI命令等,CH374是以软件实现,而CH375是以硬件实现, 所以对于CH375用一个命令就能完成的操作,对于CH374可能要执行一个子程序, 所以CH374子程序开放了两个新的API:CH374HostTransact( )和CH374CtrlTransfer( ) 5、对于速度高于4MIPS的单片机,CH374子程序库略快,对于速度低于4MIPS的单片机,CH375子程序库略快 6、现有的CH375应用程序只需做如下改动即可用于CH374 1)、硬件上,如果是并口连接,那么完全不需要做任何改变,直接替换原CH375,外部晶体频率换成24MHz, 如果是CH375串口连接,那么需要改成CH374的SPI连接,使用非总线I/O子程序库 2)、软件上, 对于总线I/O操作,I/O端口地址名称CH375_CMD_PORT改成CH374_IDX_PORT 对于非总线I/O操作,重新编写I/O接口子程序,如CH374_READ_REGISTER、CH374_WRITE_REGISTER等 各子程序名称不同,CH375*改成CH374* 查询U盘是否连接,应该用CH374DiskConnect子程序,不能用xQueryInterrupt,参考EXAM1和EXAM13 CH374不支持外部接口子程序,但可在CH374_WRITE_BLOCK和CH374_READ_BLOCK***中实现类似功能 外部的查询中断子程序不同,参考.H文件中的默认例子,CH374也支持无中断引脚的操作 如果有BulkOnly协议的其它SCSI命令处理,参考EXAM12用CH374BulkOnlyCmd等实现 如果需要精确定时,可以用CH374库新增加的子程序CH374DelaymS( )实现

近期下载者

相关文件


收藏者