AnsweredAssumed Answered

FRDM-K20_MSD_HOST mcuOnEclipse with KDS and IAR: how to configure, where is task?

Question asked by Robert Lewis on Jun 1, 2017
Latest reply on Jun 3, 2017 by Robert Lewis



I used PE to change processors to the MK20DX256ZVLL10 in the Host File System, FRDM-K20_MSD_HOST from the mcuOnEclipse site and then followed Erich's tutorial on using IAR to load and debug the project and it worked correctly. I had to use my original lcf file and disable PE generating a new Processor_Expert.lcf. Now I can use both the Segger and IAR I-Jet probes.


That is the background, here is the question I hope someone can assist me with.

1)There are defines in the FRTOS1.h file relating to which type of processor is being used. Is this variable being set in a header file, or is there code to read a processor register and automatically set the processor type? We use the M4 but the original project I think was an M0. This will effect the NVIC and other register offsets. I can't find where to set this correctly. Where do I set this variable?

2) In FreeRTOS I would expect a task to be started but I can't hit the shell task breakpoint. Is there a define to control what task starts?

3) Where to I put a breakpoint to see if the file system is working? I don't seem to get into the shell. I have to use the semi-hosting mode and terminal IO window because we have a custom designed board and no UART output. But I don't see any output. This could be an IAR setup error so I will look that up, but where would be a good point to check that the USB is attached and that the MFS is mounted?

4) I am not sure that we are using the correct cpu in some of the defines as explained above, I do see the leds blink but that is in the startup. But no terminal IO appears and I can't see where the task execution goes after the startup is finished. Normally there would be a task scheduler, again I don't know if this is a define issue or the code is dying somewhere. Is there any defines or documentation on how to setup the program to test the file functions? I read through the documentation folder but can# see only device specific information.






Are there any other

/* macro to identify CPU: 0 for M0+ and 4 for M4 */
#if configCPU_FAMILY_IS_ARM_M0(configCPU_FAMILY)
#define FREERTOS_CPU_CORTEX_M 0 /* Cortex M0+ core */
#elif configCPU_FAMILY_IS_ARM_M4(configCPU_FAMILY)
#define FREERTOS_CPU_CORTEX_M 4 /* Cortex M4 core */
#elif configCPU_FAMILY_IS_ARM_M7(configCPU_FAMILY)
#define FREERTOS_CPU_CORTEX_M 7 /* Cortex M7 core */