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:
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.
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.