|
An RTOS based application uses multiple threads, each having its own private stack. Since interrupts occur at unpredictable moments, every stack has to reserve space for the context saved by the ISR which consumes a lot of RAM. When using a System Stack, whenever an interrupt occurs this System Stack is used to allow the ISR to store the context without using the stack of the currently active thread. As a result the overhead on stacks of individual threads can be as low as zero (0), a figure no competing product is capable of offering. The result of this is illustrated below with a PIC32MX based application. Tested is with an application consisting of four threads and four hardware timers generating interrupts. The threads are suspended until resumed by one of the hardware timer interrupts. The figures are screen shots of the AVIX MPLAB RTOS Viewer used to monitor the status of this application.
|