Kinetis K70 running MQX 4.1 using NAND flash for file system.
Problem occurs occasionally on attempt to write to FLASH.
System locks up because of deadly embrace between Mutex for media buffer manager and associated semaphore for
timeout timer.
The following screen captures show the state of the system after the lock up and the sequence that caused the lock
up.
Scenario:
NOVt claims Mutex in function media_buffer_aquire() media_buffer_manager.cpp (Cap2)
Timer Task claims semaphore in function timer_task() timer.c (Cap1)
Timer Task is waiting on Mutex in function media_buffer_dispose_temporary() media_buffer_manager.cpp (Cap4)
NOVt waits on semaphore in function timer_cancel() timer.c (Cap3)
NOVt is our task which is using MFS and FFS to run a FAT file system for storing non volatile data.
MFS is set with WRITE_THROUGH_CACHE for the FAT and files.
NOTE: After discovering this problem I saw the same issue reported in Sharing several issues with NAND FFS in MQX4.1.1
This offers a solution using priority inheritance, but I believe this will not resolve the issue as NOVt task still can not run as the Timer Task still has the semaphore.
Are MQX/Freescale aware of this issue and when are they going to provide a solution?
解決済! 解決策の投稿を見る。
Hi Marcelo,
The Kinetis SDK version of MQX RTOS is the future. As I will mention in a second we have an upcoming release of MQX classic (version 4.2), but that is the last planned release in that line. The development resources are shifting over to MQX RTOS for Kinetis SDK.
We wanted to have some overlap period to help with software stability and ease the transition for customers.
Also to ease the transition we just released a porting guide which detailed how to port applications written for MQX classic to the new architecture.
IMPORTANT NOTE: Support for NEW Kinetis MCUs will no longer be added to the traditional Freescale MQX RTOS (v4.x) releases. These new Kinetis MCUs will be supported instead by MQX RTOS for Kinetis SDK releases.
Support and maintenance will continue to be available for traditional Freescale MQX RTOS for a limited time. We will continue to offer premium support packages and professional services for all versions.
Hope this helps.
Regards,
David
Hello Stephen,
Thanks for your feedback, the MQX 4.2 contains fixes for MFS FAT file system. This MQX version will be released soon (Q2, 2015).
Regards
Soledad
Hi Soledad,
Will the MQX 4.2 update be available for the Codewarrior Kinetis version of MQX?
Regards,
Steve
Stephen Chorlton | Software Engineer
Tel: +44 1323 525313 | Steve.Chorlton@edwardsvacuum.com<mailto:Steve.Chorlton@edwardsvacuum.com>
15 Marshall Road, Eastbourne, East Sussex, BN22 9BA, UK | www.edwardsvacuum.com<http://www.edwardsvacuum.com/>;
Edwards Ltd | Registered in England and Wales No. 6124750
Registered office: Manor Royal, Crawley, West Sussex RH10 9LW
Hello Steve,
Yes, MQX 4.2 will be available for CW 10.6 (Kinetis and ColdFire devices)!!
Regards
Soledad
Hello Soledad,
I was using MQX 4.1.1 and I was advice to migrate my development to KSDK 1.1 as MQX would not be available outside the KSDK.
Now, according to your post, I see that MQX will continue to "grow".
Could please elaborate the differences and roadmap for both KSDK and MQX? I am finding many problems with KSDK in components that I had pretty stable on 4.1.1.
Thanks,
Marcelo
Hi Marcelo,
The Kinetis SDK version of MQX RTOS is the future. As I will mention in a second we have an upcoming release of MQX classic (version 4.2), but that is the last planned release in that line. The development resources are shifting over to MQX RTOS for Kinetis SDK.
We wanted to have some overlap period to help with software stability and ease the transition for customers.
Also to ease the transition we just released a porting guide which detailed how to port applications written for MQX classic to the new architecture.
IMPORTANT NOTE: Support for NEW Kinetis MCUs will no longer be added to the traditional Freescale MQX RTOS (v4.x) releases. These new Kinetis MCUs will be supported instead by MQX RTOS for Kinetis SDK releases.
Support and maintenance will continue to be available for traditional Freescale MQX RTOS for a limited time. We will continue to offer premium support packages and professional services for all versions.
Hope this helps.
Regards,
David
Thanks David, understood.
Will FFS be available on the next release of KSDK? I guess there is only support for USB and SD Card based FS on 1.1, correct?
Thanks in advance,
Marcelo
Hi Marcelo,
FFS is TBD for KDS/KSDK.
Please go to the top MQX Community page and take the MQX Survey to give your valuable feedback.
There is a link to SurveyMonkey:
Freescale MQX RTOS Survey: February 2015
Regards,
David
Thanks David.
(I took the survey BTW).