Quality RTOS & Embedded Software

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



Posted by Nobody/Anonymous on March 20, 2007
I am playing with RTOS before attempting to port it to a chip for a project. What is the minimum memory that it will run on? I'm using the Cygnal port, but with a much weaker chip than the original chip used in the demo port. My chip only has 256Bytes of ram and 8k of flash, So i want to know if it would be worth it to downsize the demo footprint to fit it on chip if it wont run anyways...



Posted by Nobody/Anonymous on March 20, 2007
Also. The demo file seems to make use of SFR Paging in context switches, which I can't do with my crappy chip. :( I feel an impending sense of doom.



Posted by Nobody/Anonymous on March 20, 2007
I dont think you have enough ram to do anything nice :-(


Posted by Nobody/Anonymous on March 20, 2007
Anything nice, or anything at all? I just want 2 tasks, and a chance to get used to the RTOS architecture. I figured if a 32 bit arch gets it done with around 350 bytes for a couple of tasks, an 8 bit should be under 200 bytes.. Am I wrong?

I'm going to move to a different 8051 later on, so I assume it will be best to start with the small version on a similar MC. Otherwise I would just look at one of the emulation demos on the keil arm7 or PC ports.

(And is it uC or MC?) :)



Posted by David Hawks on March 21, 2007
> Anything nice, or anything at all?

You probably would not be able to do anything nice. I think you could get _something_ going with two tasks and the scheduler on only 256 bytes of RAM. This would require some work, though. The Cygnal port uses the large memory model of SDCC. Since you have no XRAM, you would have to move to the small memory model. Also, the port saves each task's stack in XRAM on a context switch. You would have to modify this code to just save and restore the stack pointer instead. Your stacks would necessarily be quite small because all of the OS data structures would have to reside in the same 256 bytes.

Eliminating the SFR paging scheme of the more complex Cygnal parts is really simple. Just switch out all references of SFR pages in the code. It is much easier to get rid of SFR paging support than to add it!

Good luck and let us know if you get it to work!

P.S. According to Wikipedia, it is uC over MC. However, I think MCU is a more broadly used abbreviation.

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

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

Latest News

Version 10.1.0 of the FreeRTOS kernel is available for immediate download. MIT licensed.

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

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