Porting FreeRTOS into Texas Instruments CC1352

Hi, I would like to know what are the bare minimum HW requirements for running FreeRTOS?

I have this Texas Instruments CC1352R board with 48-MHz Arm Cortex uController and 352KB of flash memory:

Is this an applicable candidate for porting FreeRTOS? does it meet the minimum requirements?


Yes, FreeRTOS will run on any ARM Cortex-M that has enough RAM. RAM is consumed by the stacks allocated to tasks, so that part is application dependent (that is, how many stacks there are and how large each stack needs to be) rather than RTOS dependent. https://www.freertos.org/FAQMem.html

Wow that was a prompt response :slight_smile: , thanks!

So no porting whatsoever is needed in terms of interrupts / low-level stuff?

I saw in the RTOS ports page that indeed ARM Cortex-M4 based are supported, but just wanted to double check, thanks!

Correct - no porting is required as such - you just need to create the project and include the appropriate source files:

If your part is an M3 or M4 without an FPU then use the FreeRTOS/Source/portable/[compiler]/ARM_CM3 port layer. If the part has an FPU then use the FreeRTOS/Source/portable/[compiler]/ARM_CM4F port layer. M7 can use the M4 port provided it doesn’t have a r0p0 revision core.

One thing to make clear, by ‘No Porting’, it is meant that everything that the FreeRTOS kernel needs is set. It should be noted that the FreeRTOS kernel has no I/O drivers built in (things like serial ports, I2C, SPI, etc). Those are all part of the application, not FreeRTOS, but for good performance need to be written to use the services that FreeRTOS provides. IF there is a demo provided for some system based on that chip, or some chip close enough to it, then you may be able to borrow the code for some device drivers.