Quality RTOS & Embedded Software

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




Loading

PIC24 SPLIM

Posted by Ben Michaud on November 18, 2009
Hi,

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

Ben

RE: PIC24 SPLIM

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.

RE: PIC24 SPLIM

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 ]    [ Sitemap ]    [ ]




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

Latest News

FreeRTOS kernel V10 is available for immediate download. Now MIT licensed.


FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

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