stm32H7 Операция с файлом FATFS на внутренней флеш-памяти
Столкнулся с проблемой на STM32H7 с использованием CMSISV2 freertos при выполнении файловых операций во внутренней флеш-памяти. Но во внутренней вспышке это сделать не удалось. Ошибка при открытии файла с помощью f_open. Есть какой-либо способ сделать это? Получение ошибки типа FR_NOT_READY, что означает, что физический диск не может работать в файле заголовка.
FIL file;
FRESULT res;
FATFS fs;
BYTE work[513] = {0};
char mynewdiskPath[4];
uint8_t workBuffer[_MAX_SS];
if(FATFS_LinkDriver(&mynewdisk_Driver, mynewdiskPath) == 0)
{
printf("if prt main.c\r\n");
res = f_mkfs(mynewdiskPath, FM_FAT, 1, workBuffer, sizeof(workBuffer));
if (res != FR_OK)
{
return;
}
res = f_mount(&fs, (TCHAR const*)mynewdiskPath, 0);
if(res != FR_OK) {
return;
}
res = f_open(&file, "sample.txt", FA_CREATE_NEW | FA_WRITE);
if (res != FR_OK) {
return;
}
char writeBuff[] = "Hello\r\n";
unsigned int bytesWritten;
res = f_write(&file, writeBuff, strlen(writeBuff), &bytesWritten);
if(res != FR_OK) {
return;
}
res = f_close(&file);
if(res != FR_OK) {
return;
}
res = f_open(&file, "sample.txt", FA_READ);
if (res != FR_OK) {
}
char readBuff[10];
unsigned int bytesRead;
res = f_read(&file, readBuff, sizeof(readBuff)-1, &bytesRead);
if(res != FR_OK) {
return;
}
res = f_close(&file);
if(res != FR_OK) {
return;
}
}
}