Quality RTOS & Embedded Software

 Real time embedded FreeRTOS RSS feed 
Quick Start Supported MCUs PDF Books Trace Tools Ecosystem



Posted by Randy Meyers on August 14, 2010
Hi all
I'm doing some research into RTOS for use in the Freescale MPC5XX line. We experimented a few years ago with uCOS and liked it pretty well. Time has passed and I'm thinking more along the lines of an open source solution.
I've a few questions that I could not find the answers for in the documentation.

A little background - the MPC 5XX series have a fair amount of flash but are severely ram limited. For example the MPC565 has 1meg of flash and 36k ram. It is not as bad as it seems, we can run directly from flash and use ram for stack and scratch pad memory.

1. Can FreeRTOS be configured to run within those constraints?
2. Has FreeRTOS been ported to the MPC5XX line?

Should say, all I really need from the rtos is hard scheduling. Everything else, file system support, IO, etc. I already do in code, so while those features would be nice, they could be forgone if needed to fit in the space available.

Thanks in advance, I'm looking forward to learning more and possibly getting involved with this project.



Posted by Richard Damon on August 15, 2010
First, I am not familiar with the PFC5xx line, and perhaps someone else can answer about if this is supported by one of the existing ports or how close it is to an existing port.

As to memory, that sounds like you have plenty for FreeRTOS (as long as your own app doesn't need 35+k for its own buffers etc.

As to your comment on needing "hard" scheduling. FreeRTOS is a fixed priority scheduler, not a "hard deadline" scheduler. Unless you are really pushing your resources, or have some especially difficult constraints, that is probably good enough.


Posted by Panopticon on August 15, 2010
It's been quite a while, but I've used FreeRTOS on the MPC8xx processors (the ancestor / kindred brother of the MPC5xx) and it works fine. I forget the internal RAM on the model I used, but most of our buffers were in DRAM (this was a networking app w/ lots of Ethernet DMA). And I've also used FreeRTOS on an ARM7 automotive control application w/ 32K RAM / 256K flash, and that was also fine.

Regarding the scheduling, by "hard scheduling" I assume you mean a priority-based, preemptive kernel? In order to meet hard realtime deadlines? If so, you're in luck.

One other point: I used to use & recommend uC/OS-II to all my customers. Well, that was years ago. Between Micrium's greedier business model, unwillingness to open the source to their new kernel ("buy before you try"), slow support turnaround, attempts at "upselling" into their other products, etc... I now recommend FreeRTOS as a superior alternative.


Posted by Randy Meyers on August 15, 2010
Thanks all.

Sounds like it is worth it to spend some more time studying the FreeRTOS documentation. I am not familiar with the MPC8XX series so I'll probably start there. Try to understand the differences between the 8XX and 5XX series. I'm assuming at this point that the 8XX are arranged like most other Moto/Freescale chips, everything besides the core in a separate hardware module.

My application is also automotive control. Up until now we have run the software naked on the processor. As we add more features it would probably be a lot less work to have a rtos.

We procured a limited license a few years ago from Micrium and have maintained a version of of our app using uC/OS-II. Works very well. When it was decided recently to go to a rtos we contacted Micrium about licensing. I was very surprised and unhappy to see how much the terms had changed since we had first contacted them. Not only did I feel that they had an inflated idea of what their product was worth, at least for my application, but they now say that if you change the source code of your own app by more than "5 to 10 percent" you must purchase another license. I would much rather spend my company's funds on supporting an open source project.


Posted by Randy Meyers on August 16, 2010
to waveringradiant;

Another follow-up;
What demo did you/would you use for the MPC8XX or more specifically, what demo would you recommend to get started with the MPC5XX?


[ Back to the top ]    [ About FreeRTOS ]    [ Privacy ]    [ Sitemap ]    [ ]

Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.

Latest News

FreeRTOS v10.2.0 is available for immediate download. MIT licensed, and including RISC-V and ARMv8-M (Cortex-M33) demos.

NXP tweet showing LPC5500 (ARMv8-M Cortex-M33) running FreeRTOS.

View a recording of the "OTA Update Security and Reliability" webinar, presented by TI and AWS.


FreeRTOS and other embedded software careers at AWS.

FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

Cadence Tensilica Cortes

Espressif ESP32

IAR Partner

Microchip Premier RTOS Partner

RTOS partner of NXP for all NXP ARM microcontrollers





STMicro RTOS partner supporting ARM7, ARM Cortex-M3, ARM Cortex-M4 and ARM Cortex-M0

Texas Instruments MCU Developer Network RTOS partner for ARM and MSP430 microcontrollers

OpenRTOS and SafeRTOS

Xilinx Microblaze and Zynq partner