Quality RTOS & Embedded Software

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



Posted by Ben Michaud on November 18, 2009

I just have a quick question about using the SPLIM in the PIC24 series. I havn't thoroughly looked over the FreeRTOS code, but it seems like the code can be set up to check for stack overflow. I was just wondering if there was any reason in particular that the SPLIM register wansn't used in the PIC24 port? Thanks



Posted by Richard Damon on November 19, 2009
While I think it may be possible, one difficulty is that each task has its own stack, and thus the value of splim might need to be added to the TCB (you may be able to compute a value from the currently stored values), and you also need to be careful how you switch from on task to another. You will likely need to change the order of operations depend on if the new tasks stack is in higher or lower memory than the old tasks stack to make sure the SPLIM is always greater than the SP.


Posted by Ben Michaud on November 20, 2009
My initial thoughts were adding a field in the TCB for the SPLIM which is computed by the OS when the task is created. As far as the order of operations for dealing with the SPLIM, I'm going to try attacking the problem by putting a very safe address into the SPLIM before putting the new value for the SPLIM for the task that will run next.

[ 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