I'm trying to use a FATfs on memory flash USB to create a new folder, files, and write/read to files.
I create this code but in line f_mkdir the program doesn't evolution and don't create the new folder.
int
main(void)
{
FRESULT fresult;
g_eUIState = STATE_NO_DEVICE;
//
// Setup main clock tree for 75MHz - M3 and 150MHz - C28x
//
SysCtlClockConfigSet(SYSCTL_SYSDIV_1 | SYSCTL_M3SSDIV_2 | SYSCTL_USE_PLL |
(SYSCTL_SPLLIMULT_M & 0x0F));
//
// Setup USB clock tree for 60MHz
// 20MHz * 12 / 4 = 60
//
SysCtlUSBPLLConfigSet(
(SYSCTL_UPLLIMULT_M & 12) | SYSCTL_UPLLCLKSRC_X1 | SYSCTL_UPLLEN);
// Register interrupt handlers in the RAM vector table
//
IntRegister(INT_USB0, USB0HostIntHandler);
//
// Enable Clocking to the USB controller.
//
SysCtlPeripheralEnable(SYSCTL_PERIPH_USB0);
//
// Set the USB pins to be controlled by the USB controller.
//
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOJ);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOG);
GPIOPinConfigure(GPIO_PC5_USB0EPEN);
GPIOPinConfigure(GPIO_PJ1_USB0PFLT);
GPIOPinTypeUSBDigital(GPIO_PORTC_BASE, GPIO_PIN_5);
GPIOPinTypeUSBDigital(GPIO_PORTJ_BASE, GPIO_PIN_1);
GPIOPinTypeUSBAnalog(GPIO_PORTF_BASE, GPIO_PIN_6);
GPIOPinTypeUSBAnalog(GPIO_PORTG_BASE, GPIO_PIN_2 | GPIO_PIN_5 | GPIO_PIN_6);
USBStackModeSet(0, USB_MODE_HOST, ModeCallback);
//
// Register the host class drivers.
//
USBHCDRegisterDrivers(0, g_ppHostClassDrivers, NUM_CLASS_DRIVERS);
//
// Open an instance of the mass storage class driver.
//
g_ulMSCInstance = USBHMSCDriveOpen(0, MSCCallback);
USBHCDPowerConfigInit(0, USBHCD_VBUS_AUTO_HIGH | USBHCD_VBUS_FILTER);
USBHCDInit(0, g_pHCDPool, HCD_MEMORY_SIZE);
//
// Initialize the file system.
//
f_mount(0, &g_sFatFs);
while(1)
{
USBHCDMain();
if(USBHMSCDriveReady(g_ulMSCInstance) == 0)
{
f_mount(0, &g_sFatFs);
fresult = f_mkdir("folder");
fresult = f_open(&g_sFileObject, "folder\\file.txt", (FA_WRITE | FA_READ | FA_CREATE_ALWAYS));
g_eUIState = STATE_DEVICE_READY;
}
}
}