AnsweredAssumed Answered

Codewarrior not compiling after KSDK/KDS install, can't find MFS defines?

Question asked by Sean MacKay on Apr 27, 2015
Latest reply on Jun 30, 2015 by Sean MacKay


I had a project using MQX 4.1 for the FRDM-K64F board, using Codewarrior 10.6. It worked fine for our purposes, but since support going forward is on the KDS/KSDK platform I've been trying to bring out existing project over to that platform. This has lead to a number of weird issues as you can see in other discussions I've started.


However, here I'm wondering about the Codewarrior side of the equation:


Every since installing KDS and KSDK (and creating a new project, in a new workspace, with my source files copied over to a new location for that project), my Codewarrior project doesn't quite work anymore. It seemed fine at first, with my project still compiling. However, when I flash or debug that compiled project I get errors that the lwmsgq (lightweight message queues) couldn't initialize properly, which breaks a lot of the inter-task communication in my project.


Next, I tried to recompile the libraries (BSP, PSP, MFS. RTCS. Shell. USBd, and USBh). For some reason the MFS and Shell libraries will no longer compile. Both complain of unknown or missing MFS defines, functions, different number of expected parameters in functions, etc. (MFS_DIR_ENTRY undeclared, struct mfs_handle has no member ACCESS/CURRENT_CLUSTER/DIR_CLUSTER, Too many arguements to function MFS_unlock).


Taking a look, I see that I can't even find those defined in mfs.h in MQX 4.1_FRDMK64F, MQX 4.1.1, or KSDK 1.1.0. All three mfs.h files are identical. However, searching the entire MQX directory I found that the Freescale_MQX_4_1_FRDMK64F\lib\frdmk64f.cw10gcc\debug\mfs\ directory contains a different mfs.h compiled for Codewarrior for the K64F in particular. This version of mfs.h contains many of the definitions that are missing, Presumably it used to be accessible to the other projects/mfs itself/my project, but no longer seems to be.


Does anyone have any idea what might have broken? The only new environment variable I see is the KSDK_PATH variable, which seems unique to the KSDK. My MQX_ROOT and MQX_PATH variables point to the Freescale_MQX_4_1_1 directory, which is maybe not ideal since my project is hosted in and includes the libraries in the Freescale_MQX_4_1_FRDMK64F directory, but it also wasn't a problem before.