私は ZedBoard を使用しており、SD カードに書き込もうとしています。私は組み込みシステムに取り組んでおり、OS を持っていません。ベアメタルを実行しています。
SD カードから問題なく読み取ることができます。問題ありません。
しかし、読み込もうとすると、奇妙な動作が発生します。
- f_write は FR_OK を返します
- bw (書き込まれたバイト数) 変数が正しい
- ファイルが作成されます(PCからSDカードを読み込むとわかります)
しかし、ファイルを読み取ると、空です。
これが私のコードです:
void WriteFile(char const* fileName, char* buffer, size_t size)
{
FIL file;
FATFS fs;
UINT bw;
FRESULT fr;
f_mount(&fs, "", 0);
f_open(&file, fileName, FA_WRITE | FA_CREATE_ALWAYS);
fr = f_write(&file, buffer, size, &bw);
if (size != bw || fr != FR_OK)
PRINT(("Error in writing !\n"));
f_close(&file);
f_mount(NULL, "", 0);
}
そして、私はこのようにメソッドを呼び出します:
WriteFile("Hello.txt", "Hello World !", 13);
私が間違っていることは何ですか?