stm32H7 Файловая операция FATFS на внутренней флэш-памяти - PullRequest
0 голосов
/ 08 апреля 2020

сталкивается с проблемой на STM32H7 с использованием свободных файлов CMSISV2 при выполнении файловой операции на внутренней памяти fla sh. Но не может сделать это во внутреннем фла sh. Получение ошибки при открытии файла с помощью 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;
   }
} 

}

...