I have installed KDS 3.0.0 and KSDK 1.2.0 and wish to create a new MQX project.
I thought there was going to be a 'New Project Wizard' for this, but I don't seem to see it anywhere?
Enter Project Name....Ex: test_frdm-k64f_mqx
Go through the Wizard and have selected KSDK and PE.
Once Project generated, then using PE you can select the osa1:fsl_os_abstraction Component and in the Component Inspector window change the OS BareMetal to MQX_KSDK.
Then under the Inherited Component tab click on the "right arrow" that will take you to the mqx_ksdk Component window and Configuration paramters tab so you can either keep the default MQX Lite or change it to MQX Standard.
More documented help at following link:
MQX RTOS Training
Thank you for the information.
After I have created the project using PE I need to use the RTCS TCP/IP stack and MFS file system. Can these be added using PE or is this done another way?
To add in the RTCS and MFS you will need to add in the code and paths to your project manually as far as I can see.
Would be nice if there was an official document with step-by-step how to set up an "empty" MQX Project with KSDK and ProcessorExpert, as well as RTCS and MFS libs. I could not find any document telling me how to configure Processor Expert and which libs to include, etc. The RTCS User Guide does not say a word about what paths to include and what header files, too.
For MFS there is even less documentation regarding this.
This is "new" but for KDS2.0 and KSDK1.1.0 but should be helpful.
Training Class: MQX RTOS for Kinetis SDK, Kinetis Design Studio (6 labs, including TCP/IP)
Thanks for your answer. However, i saw that already.
my problem is, there are examples for Processor Expert with KSDK, MQX with KSDK and Processor Expert,
Examples for MQX with KSDK and RTCS without Processor expert, Examples for MQX with MFS....
each just telling you use the example and yay you can compile it. But combining them seems a mess.
That training class uses MQX with KSDK WITHOUT Processor expert for RTCS, not saying a word what is the right way to include RTCS in an existing project. And including Processor Expert in that project does not seem to be easy either...
Basically, i miss an information in the RTCS documentation like "include this path, that path, then include that single header file (which one)?, you do need/do not need to compile RTCS before that, then make this or that setting and then RTCS is running.". In the best case, this would also tell me how to use it with Processor Expert.
There are just many examples, each one including a bulk of Folders, having some header include hierarchy i do not know what to copy and what to leave there, and it is not clear how to combine them.
Please take a look to the following document:
How To: Create a New MQX RTOS for KSDK Project in KDS
I hope it helps.
Technical Support Engineer
I've followed the instructions and created a brand new project using physical folders, but I get the following compile errors:
'Building file: ../Debug_Console/fsl_misc_utilities.c'
'Invoking: Cross ARM C Compiler'
arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -O0 -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -Wall -g3 -D"CPU_MK64FN1M0VMD12=1" -D"FSL_RTOS_MQX=1" -D"_AEABI_LC_CTYPE=C" -D"__STRICT_ANSI__=1" -D"_DEBUG=1" -I"../BSP_Files" -I"../Config_Files" -I"../Config_Files/Common" -I"../Debug_Console" -I"../KSDK_Files" -I"C:\Freescale\KSDK_1.2.0/rtos/mqx/mqx/source/include" -I"C:\Freescale\KSDK_1.2.0/platform/devices/MK64F12/startup" -I"C:\Freescale\KSDK_1.2.0/platform/devices/MK64F12/include" -I"C:\Freescale\KSDK_1.2.0/platform" -I"C:\Freescale\KSDK_1.2.0/platform/devices" -I"C:\Freescale\KSDK_1.2.0/platform/CMSIS/include" -I"C:\Freescale\KSDK_1.2.0/platform/hal/inc" -I"C:\Freescale\KSDK_1.2.0/platform/drivers/inc" -I"C:\Freescale\KSDK_1.2.0/platform/drivers/src/mpu" -I"C:\Freescale\KSDK_1.2.0/platform/drivers/src/uart" -I"C:\Freescale\KSDK_1.2.0/platform/utilities/inc" -I"C:\Freescale\KSDK_1.2.0/platform/osa/inc" -I"C:\Freescale\KSDK_1.2.0/platform/system/inc" -I"C:\Freescale\KSDK_1.2.0/rtos/mqx/lib/twrk64f120m.kds/debug/config" -I"C:\Freescale\KSDK_1.2.0/rtos/mqx/lib/twrk64f120m.kds/debug/mqx" -I"C:\Freescale\KSDK_1.2.0/rtos/mqx/lib/twrk64f120m.kds/debug/mqx_stdlib" -std=c99 -fno-strict-aliasing -MMD -MP -MF"Debug_Console/fsl_misc_utilities.d" -MT"Debug_Console/fsl_misc_utilities.o" -c -o "Debug_Console/fsl_misc_utilities.o" "../Debug_Console/fsl_misc_utilities.c"
../Debug_Console/fsl_misc_utilities.c: In function '_sbrk':
../Debug_Console/fsl_misc_utilities.c:60:21: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'asm'
extern char end asm ("end");
../Debug_Console/fsl_misc_utilities.c:60:21: warning: implicit declaration of function 'asm' [-Wimplicit-function-declaration]
../Debug_Console/fsl_misc_utilities.c:61:28: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'asm'
extern char heap_limit asm ("__HeapLimit");
../Debug_Console/fsl_misc_utilities.c:66:18: error: 'end' undeclared (first use in this function)
heap_end = & end;
../Debug_Console/fsl_misc_utilities.c:66:18: note: each undeclared identifier is reported only once for each function it appears in
../Debug_Console/fsl_misc_utilities.c:70:26: error: 'heap_limit' undeclared (first use in this function)
if (heap_end + incr > &heap_limit)
make: *** [Debug_Console/fsl_misc_utilities.o] Error 1
However, if I use the K64_MQX_KSDK_Example and edit it for the twrk64f120m board I can get it to build successfully.
Retrieving data ...