1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2024-12-02 10:24:11 +01:00
LibrePilot/flight/PiOS/STM32F10x/Libraries/FreeRTOS/Source
Mathieu Rondonneau 7598e898fa OP-423 Step-1: split system stack and implement water mark for IRQstack:
- use IRQStack for ISRs (at begening of SRAM) (let's call it the irq stack)
- use end of heap for stack needed during initialization (let's call it the init stack).
- the systemStats in GCS indicate the remaining bytes in the IRQ stack (this is realy usefull to monitor our (nested) IRQs.

This is the base ground to provide as much memory as possible available at task creation time.

Next step is to re-organize the initialization in order to move all the init out of the thread's stacks onto the init stack.
This will provide as much memory as possible available at task creation time.
Basically the stack during initialization will be destroyed once the scheduler starts and dynamic alloc are made (since the init stack is at the end of the heap). We will need to make sure we don't clobber the heap during initialization otherwise this will lead to stack corruption.
2011-06-12 20:23:00 -07:00
..
include OP-519 upgrade to FreeRTOS-7.0.1 2011-06-01 21:46:28 -07:00
portable OP-423 Step-1: split system stack and implement water mark for IRQstack: 2011-06-12 20:23:00 -07:00
croutine.c OP-519 upgrade to FreeRTOS-7.0.1 2011-06-01 21:46:28 -07:00
list.c OP-519 upgrade to FreeRTOS-7.0.1 2011-06-01 21:46:28 -07:00
queue.c OP-519 upgrade to FreeRTOS-7.0.1 2011-06-01 21:46:28 -07:00
readme.txt Moved STM32 specific PiOS Libraries. 2010-03-04 06:14:14 +00:00
tasks.c OP-519 upgrade to FreeRTOS-7.0.1 2011-06-01 21:46:28 -07:00
timers.c OP-519 upgrade to FreeRTOS-7.0.1 2011-06-01 21:46:28 -07:00

Each real time kernel port consists of three files that contain the core kernel
components and are common to every port, and one or more files that are 
specific to a particular microcontroller and or compiler.

+ The FreeRTOS/Source directory contains the three files that are common to 
every port - list.c, queue.c and tasks.c.  The kernel is contained within these 
three files.  croutine.c implements the optional co-routine functionality - which
is normally only used on very memory limited systems.

+ The FreeRTOS/Source/Portable directory contains the files that are specific to 
a particular microcontroller and or compiler.

+ The FreeRTOS/Source/include directory contains the real time kernel header 
files.

See the readme file in the FreeRTOS/Source/Portable directory for more 
information.