Hello Team,
Good day!
In one of our product we are using keil RL Flash file system, file system crash has observed during the file creation and file rename operation. Please let us know the reason to cause file system crash.
One more observation has found in file rename operation. During the file rename operation, file lock status checking is there to check the file status, sometimes file has locked due to this problem file rename is not happening successfully. Please clarify me of following questions,
1) What is the purpose of fs_efs_lock function in file create and file rename operation?
2) Is this necessary to have in file rename function?
3) What is causing file rename failure other than above operation?
Please let me know your solution and suggestion as soon as possible. If you need any other details or queries, please let me know.
Regards,
Saranbabu KM
I don't know what version of the RL Flash file system you use, but I cannot find the function fs_efs_lock or its invocation in file_create or file_rename.
It's impossible to tell you a reason for a system crash. In the debugger you could see what exception is caused and where exactly it happens. The MDK middleware version 8 is now open source (https://github.com/ARM-software/MDK-Middleware). The complete source code is automatically included in your project when you use MDK Middleware Pack version 8.0 or higher. If you are using a Cortex-M device with the Arm compiler for embedded version 6, I'd recommend using this latest version of MDK Middleware where you have full visibility in the debugger.
Hello Hans Schneebauer ,
Please refer the following link about RL Flash file system,
https://www.keil.com/support/man/docs/rlarm/rlarm_fs_flashfs.htm
Refer the following source which I'm having frename API,
The Keil Middleware for MDK4 is at least 10 years old. Even there I cannot find the function fs_efs_lock(). In the manual you referenced, I also cannot find this function, so I assume that you are using an even older version.
Please check with the µVision debugger what your application does when your application is failing. It might run into an exception or it might be in an endless loop to wait for something that will never happen. Do you use the file system from multiple threads/tasks when you are using our RTX or from your 'main' application and in an interrupt function?
No tasks or multiple threads are using file create and write operation takes place in the source code. During the debugging, execution got stuck at fs_efs_lock function, then I removed fs_efs_lock function in frename API, everything was working fine. What is the reason file got locked during rename operation? What could be the cause for file system crash?. Please give us solution to overcome this problem.