求教使用STM32 USB 做一个MSC设备,将一个外部Flash作为存储介质,这个Flash比较特殊,每一页有16字节,一共2175页,只能按页写和擦除,不能写任意地址。我使用的是STM32_USB-FS-Device_Lib的Mass_Storage例程,
1.现在要修改Mass_Memory_Size,Mass_Block_Size不知道应该怎样修改??数据包的大小是 Maximum packet size (64 bytes) ,这个要不要修改??
2.另外,我对USB协议还不熟,不知道主机是怎样将文件写入存储介质的?从代码看调用的是SCSI_Read10_Cmd和SCSI_Write10_Cmd函数,最终调用MAL_Read和MAL_Write,这个uint16_t MAL_Write(uint8_t lun, uint32_t Memory_Offset, uint32_t *Writebuff, uint16_t Transfer_Length)函数里的Memory_Offset是指哪个地址呢?? |