Configure FreeRTOS Demo Project Interrupt Handlers

From EdWiki

Revision as of 10:36, 10 February 2017 by Jshankar (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Configure FreeRTOS Demo Project Interrupt Handlers

FreeRTOS requires the use of several hardware interrupts/peripherals to function, notably the SysTick feature for its RTOS tick and the software interrupt calls SVCall and PendSV for its internal operation (or rather, how RTOS tasks perform system calls of the kernel).

First off, what functions does it provide for these interrupts? Check the portable port.c file:


All ARM projects include a special .c file for the Interrupt Vector Table and C init runtime functions (reset vector, Fault, NMI, etc). This is "tm4c123gh6pm_startup_ccs_gcc.c" in our case.

Let's declare those interrupt handler functions with the "extern" keyword in our vector table file:

IRQ Handlers

Then, place those function names (pointers to those functions) in the correct slots in the interrupt vector table itself:

IRQ Handlers