FreeRtos porting to netX 90

I want to port FreeRTOS to netX 90 board. Unable to understand how to port to cortex M4F processor. Please provide any reference document and Freertos don’t have any example code for netX 90 board .

How to port Freertos for different architecture

I am new to rtos porting.

FreeRTOS runs on any Cortex-M that has enough RAM - no porting is required but you will have to create your own project or adapt an existing project if we don’t have one for your specific hardware and compiler combination in the download:


If architecture differ also FreeRTOS will run on any Cortex-M4 ?
Is we need to change anything in startup.s code, memory map, timers, Register map.
user need to write BSP or vendor will provide.

what is port.c and what are the thing we need to change in port.c

Please provide any porting reference guide ( detailed steps).

FreeRTOS does not use anything outside of the Cortex-M core, and the Cortex-M core is identical on all Cortex-M processors (that is all M3 cores are alike,
all M0 cores are alike, etc.). So you can move the code from one Cortex-Mx to another Cortex-Mx without changing anything in the kernel code itself.

None of that stuff is part of FreeRTOS and will come from your vendor - please see the link I already posted regarding creating a new project.

See the links I already posted and
https://www.freertos.org/a00017.html (and the books) for information on which port.c file to use. If you want to use a Cortex-M4 that does not have floating point, then use Cortex-M3 port. If you have
a Cortex-M7 then use the Cortex-M4F port.

Thank you for your reply.

once i will try and I will let you know

I created new FreeRTOS project using netX studio (netX 90) for Cortex M4F but I am getting error as shown below.

C:\Users\Admin\AppData\Local\Temp\cc8XcF45.s: Assembler messages:
C:\Users\Admin\AppData\Local\Temp\cc8XcF45.s:50: Error: selected processor does not support Thumb mode msr basepri,r3' C:\Users\Admin\AppData\Local\Temp\cc8XcF45.s:51: Error: selected processor does not support Thumb mode isb ’
C:\Users\Admin\AppData\Local\Temp\cc8XcF45.s:52: Error: selected processor does not support Thumb mode `dsb ’

90% certain this will be because the command line you are passing to GCC does not match the chip architecture you are targeting. If you are using the M4F port because your chip has a floating point unit then you need to tell GCC you have a floating point unit, and which floating point unit it is.