Handles System Exceptions. More...
#include "exceptions.h"#include "FreeRTOS.h"#include "task.h"#include "utils/crash_handler.h"#include "system.h"#include "syscall.h"#include <stdint.h>#include <string.h>Macros | |
| #define | PI_INTSR (*(volatile uint32_t*)0xCC003000) |
| #define | PI_INTMR (*(volatile uint32_t*)0xCC003004) |
Functions | |
| void | prvTickISR () |
| void | exception_install_branch (uint32_t address, uint32_t handler) |
| void | exceptions_install_vector () |
| Installs the exception vector into the CPU. | |
| void | exceptions_install_irq (exception_irq_handler_t handler, exception_irq_type_t type) |
| Registers an interrupt handler for an IRQ. | |
| void | exception_reset (exception_context_t *context) |
| void | exception_machine_check (exception_context_t *context) |
| void | exception_dsi (exception_context_t *context) |
| void | exception_isi (exception_context_t *context) |
| void | exception_external (exception_context_t *context) |
| void | exception_alignment (exception_context_t *context) |
| void | exception_program (exception_context_t *context) |
| void | exception_fpu_unavailable (exception_context_t *context) |
| void | exception_decrementer (exception_context_t *context) |
| void | exception_syscall (exception_context_t *context) |
Variables | |
| const void * | exceptions_vector_reset |
| const void * | exceptions_vector_machine_check |
| const void * | exceptions_vector_dsi |
| const void * | exceptions_vector_isi |
| const void * | exceptions_vector_external |
| const void * | exceptions_vector_alignment |
| const void * | exceptions_vector_program |
| const void * | exceptions_vector_fpu_unavailable |
| const void * | exceptions_vector_decrementer |
| const void * | exceptions_vector_syscall |
| int32_t | exception_isr_context_switch_needed |
| Call the context switch at the end of the ISR if true. | |
Handles System Exceptions.
Handles system exceptions interrupt vector table. This includes interrupts. (asynchronous exceptions)
| void exceptions_install_irq | ( | exception_irq_handler_t | handler, |
| exception_irq_type_t | type ) |
Registers an interrupt handler for an IRQ.
Registers an interrupt handler using a IRQ type
| void exceptions_install_vector | ( | ) |
Installs the exception vector into the CPU.
Installs the exception vector into the CPU. Called during system_initialize as part of start.s.
Assumes interrupts to be disabled when you do this.
| int32_t exception_isr_context_switch_needed |
Call the context switch at the end of the ISR if true.
Call the context switch at the end of the ISR if true. Usually used along side xSemaphoreGiveFromISR such that awoken task are switched into when a ISR wakes a task.