📄 f_driver.c
字号:
/***************************************************************/
/*
* F_driver.c, 20070206, denny
*
* A Marconix Software Product
* Copyright(c) Marconix Co., Ltd. 2007
* All Rights Reserved. Reproduction, adaption, or
* translation without prior written permission is
* prohibited, except as allowed under the copyright laws.
*/
/***************************************************************/
#include "F_system.h"
#ifdef _READ_SD_
//#include "inc.h"
#include "F_driver.h"
u32 SectorInBuffer = 0xFFFFFFFF;
u32 DCache_LBA = 0xFFFFFFFF;
u8 DCache[512*8] = {0};
u8 F_ReadSector(tHANDLE Fhandle, u32 Lba, u16 Sectornum, u8 *buffer)
{
if(Sectornum == 0)
{
if(SectorInBuffer == Lba)
return ERR_NONE;
if((DCache_LBA <= Lba)&&(Lba<DCache_LBA+8))
{
memcpy(buffer, &DCache[0x200*((Lba - DCache_LBA)%8)], 0x200);
SectorInBuffer = Lba;
}
else
{
SDI_ReadSector(Fhandle, Lba, 8, DCache);
memcpy(buffer, &DCache[0], 0x200);
SectorInBuffer = Lba;
DCache_LBA = Lba;
}
}
else
{
SDI_ReadSector(Fhandle, Lba, Sectornum, buffer);
}
return ERR_NONE;
}
u8 F_WriteSector(tHANDLE Fhandle, u32 Lba, u16 Sectornum, u8 *buffer)
{
SDI_WriteSector(Fhandle, Lba, Sectornum, buffer);
return ERR_NONE;
}
#endif /* _READ_SD_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -