|
本帖最后由 zh9454 于 2024-4-30 16:56 编辑
最近在调试兆易GD32F470的芯片参考版主的RL-FlashFS版本V4.74综合实现的例子,实现了NAND的文件系统移植和测试,USB部分使用
的兆易官方库中的msc_udisk实现。当使用内部RAM时,电脑端可以正常识别U盘可以格式化拷贝文件;
但当我将STORAGE_Read和STORAGE_Write中的读写函数,改为文件系统提供的ioc_read_sect和ioc_write_sect后,电脑端可以识别U盘,
但是不能格式化操作,格式化时提示的容量时对的240M左右,也无法打开U盘,请问是哪里的原因呢,有没有人知道,可以分享下经验。
static int8_t STORAGE_Read (uint8_t Lun,
uint8_t *buf,
uint32_t BlkAddr,
uint16_t BlkLen)
{
int8_t ret = -1;
msc0 = ioc_getcb (NULL);
if(ioc_read_sect (BlkAddr,buf,BlkLen,msc0) == __TRUE) ret = 0;
return ret;
// if(SRAM_ReadMultiBlocks(buf,
// BlkAddr,
// ISRAM_BLOCK_SIZE,
// BlkLen) != 0U)
// {
// return 1;
// }
//
// return 0;
}
static int8_t STORAGE_Write (uint8_t Lun,
uint8_t *buf,
uint32_t BlkAddr,
uint16_t BlkLen)
{
int8_t ret = -1;
msc0 = ioc_getcb (NULL);
if(ioc_write_sect (BlkAddr,buf,BlkLen,msc0) == __TRUE) ret = 0;
return ret;
// if(SRAM_WriteMultiBlocks(buf,
// BlkAddr,
// ISRAM_BLOCK_SIZE,
// BlkLen) != 0U)
// {
// return 1;
// }
//
// return 0;
}
|
|