We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
I get into this problem. I have a thread that process a message queue. One of my possible action on reception of a message is to open a file with the function fopen(). The file is located on a USB flashdisk and I am opening it with the option "w" : Logfile = fopen("U:\\Log.txt", "w");
I am using this file for logging. For testing purpose I am entering 200 values coming from ADC and then closing the file.
The first time the message is processed everything is fine. Now , the second time the message is received and process, the fopen() function is stalling for at least a minute then return with success and complete the following processing. I have noticed also that the connect and disconnect detection is not functioning normally too after the first fopen()/fclose().
Any ideas what could be the problem? Anything I need to know when opening, writing and closing a file?
Thank you
Hi,
I am using the version 6.4.0 of the file system. I am working on 3 different boards : STM32F4-Discovery, STM32429i-Eval and MCBST32F400. The media is a 8 GB USB key connected on USB Full Speed port.
Hello Keaven,
I have tried with the following code on the 429I-Discovery board:
void Thread (void const *argument ) { static unsigned int result; static FILE *f; uint8_t i = 0; USBH_Initialize (0); while (1) { result = USBH_MSC_DriveMount ("U0:"); if (result == USBH_MSC_OK) { memset(fbuf, ++i, sizeof(fbuf)); f = fopen ("Test.txt", "w"); if (f != NULL) { LED_On(0); fwrite (fbuf, sizeof(fbuf), 1, f); fclose (f); LED_Off(0); } } osDelay (1); } }
Everything works as expected. Have you changed anything in the FS_Config_USB_0.h? What are your settings for the thread stacks (Default, Main, Total) in RTX_Conf_CM.c?
Kind regards,
Christopher