LPC54628 - How do you setup FreeRTOS for the OM13098 dev board?

anealca wrote on Friday, June 07, 2019:

I have the OM13098 development board and would like to run the FreeRTOS. Attached is my FreeRTOSConfig.h file. A few architecture parameters do not seem to be defined anywhere (SRAM_segment_start[],…). I am using the simple “lpcxpresso54628_lwip_tcpecho_bm” in MCUXpresso v10.3.1.
It works fine when the RTOS is disabled, but fails to run using the RTOS.
Any help would be appreciated…

anealca wrote on Friday, June 07, 2019:

Here is how I defined the missing architecture parameters:
SRAM/FLASH segment start/end arrays
priviledged data statr/end and function end

rtel wrote on Saturday, June 08, 2019:

Sorry - I’m not sure ow the SRAM_segement_start[] variable relates to FreeRTOS. Are you using a memory protected port which needs to know where the privileged and unprivileged data must be put? Does not look so from the name. Also I don’t know what “fails” - linking, booting, soak test, or something else?

anealca wrote on Saturday, June 08, 2019:

I chose the simplest heap(1)… and a Cortex M GCC port since I couldn’t find an NXP specific port… I’m using NXP’s MCUXpresso IDE which uses that compiler… I set up for dynamic allocation… but I’m open to idea’s…

anealca wrote on Saturday, June 08, 2019:

I chose the simplest heap(1)… and a Cortex M GCC port since I couldn’t find an NXP specific port… I’m using NXP’s MCUXpresso IDE which uses that compiler… I set up for dynamic allocation… but I’m open to idea’s…

anealca wrote on Saturday, June 08, 2019:

I chose the simplest heap(1)… and a Cortex M GCC port since I couldn’t find an NXP specific port… I’m using NXP’s MCUXpresso IDE which uses that compiler… I set up for dynamic allocation… but I’m open to idea’s…

anealca wrote on Saturday, June 08, 2019:

I chose the simplest heap(1)… and a Cortex M GCC port since I couldn’t find an NXP specific port… I’m using NXP’s MCUXpresso IDE which uses that compiler… I set up for dynamic allocation… but I’m open to idea’s…

anealca wrote on Saturday, June 08, 2019:

I chose the simplest heap(1)… and a Cortex M GCC port since I couldn’t find an NXP specific port… I’m using NXP’s MCUXpresso IDE which uses that compiler… I set up for dynamic allocation… but I’m open to idea’s…

anealca wrote on Saturday, June 08, 2019:

I chose the simplest heap(1)… and a Cortex M GCC port since I couldn’t find an NXP specific port… I’m using NXP’s MCUXpresso IDE which uses that compiler… I set up for dynamic allocation… but I’m open to idea’s…

anealca wrote on Saturday, June 08, 2019:

I chose the simplest heap(1)… and a Cortex M GCC port since I couldn’t find an NXP specific port… I’m using NXP’s MCUXpresso IDE which uses that compiler… I set up for dynamic allocation… but I’m open to idea’s…

anealca wrote on Saturday, June 08, 2019:

I chose the simplest heap(1)… and a Cortex M GCC port since I couldn’t find an NXP specific port… I’m using NXP’s MCUXpresso IDE which uses that compiler… I set up for dynamic allocation… but I’m open to idea’s…

anealca wrote on Saturday, June 08, 2019:

sorry for the multiple posts…

anealca wrote on Saturday, June 08, 2019:

Defining these attributes allows the system to compile… but the system locks up when creating a task never gets to starting the scheduler…

rtel wrote on Saturday, June 08, 2019:

Where are those attributes used in the code? They are not something we have in our versions of the code.

Can you step into the function that creates a task to see where it locks up. For example, do you have configASSERT() defined (recommended) and if so you may just be sat in a failed assert.

anealca wrote on Saturday, June 08, 2019:

I don’t need protected memory… but using it would be great…
I don’t get an assertion? stepping into task creation just hangs?
I assume it’s either the wrong port… Or bad memory assignment…

rtel wrote on Saturday, June 08, 2019:

What does ‘just hangs’ mean? What is the processor actually doing?

Which port files did you use?