2023-03-02 05:44 AM
I have an application using STM32L475, threadx, filex.
Functions in the filex API work well when called from a specific thread: the same thread that initialized and mounted the file system. If I call the same functions from a different thread, the system crashes.
I have seen the calls to FX_PROTECT and it looks like the filex API should be working across multiple threads, however, something is not working here.
However the documentation does not tell much.
Just asking if someone has encounterd the same problems I have.
2023-03-05 01:37 PM
Ciao @fabio239955,
Could you please share the code snippet how the 2 threads are using the FileX API?
regards
Haithem.
2024-11-11 05:18 AM
Hi Fabio,
first of all you should make sure that the FileX is not configured as single-threaded, i.e. that FX_SINGLE_THREAD is not defined.
Regards,
Dmitry
2025-01-29 02:03 AM
I'm having the same exact issue.
I'm calling fx_file_create from a thread that is different from the one that mounted the file system. The system crashes on FX_PROTECT, trying to lock the mutex.
No issues when the same function is called within the thread that initialized the fs.
FX_SINGLE_THREAD is disabled by CubeMX.
Help needed.
2025-01-29 02:13 AM - edited 2025-01-29 02:13 AM
I've just found the solution. Increase the stack size of the thread where you are calling FILEX functions (in my case at least to 2048 bytes).