Paparazzi UAS  v5.8.2_stable-0-g6260b7c
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
stm32f4_chibios_vectors.c File Reference

File is modified to route IRQ_HANDLERS to opencm3 handlers. More...

#include "stm32f4_chibios_vectors.h"
#include "mcuconf.h"
#include <ch.h>
+ Include dependency graph for stm32f4_chibios_vectors.c:

Go to the source code of this file.

Data Structures

struct  vectors_t
 Type of a structure representing the whole vectors table. More...
 

Typedefs

typedef void(* irq_vector_t )(void)
 Type of an IRQ vector. More...
 

Enumerations

enum  HardwareFaultType { HardwareFault_NONE, HardwareFault_BUS, HardwareFault_MEM, HardwareFault_USAGE }
 

Functions

void prvGetRegistersFromStack (uint32_t *pulFaultStackAddress)
 
void ResetHandler (void)
 
void NMIVector (void)
 
void HardFaultVector (void)
 
void MemManageVector (void)
 
void BusFaultVector (void)
 
void UsageFaultVector (void)
 
void Vector1C (void)
 
void Vector20 (void)
 
void Vector24 (void)
 
void Vector28 (void)
 
void SVCallVector (void)
 
void DebugMonitorVector (void)
 
void Vector34 (void)
 
void PendSVVector (void)
 
void SysTickVector (void)
 
void Vector40 (void)
 
void Vector44 (void)
 
void Vector48 (void)
 
void Vector4C (void)
 
void Vector50 (void)
 
void Vector54 (void)
 
void Vector58 (void)
 
void Vector5C (void)
 
void Vector60 (void)
 
void Vector64 (void)
 
void Vector68 (void)
 
void Vector6C (void)
 
void Vector70 (void)
 
void Vector74 (void)
 
void Vector78 (void)
 
void Vector7C (void)
 
void Vector80 (void)
 
void Vector84 (void)
 
void Vector88 (void)
 
void Vector8C (void)
 
void Vector90 (void)
 
void Vector94 (void)
 
void Vector98 (void)
 
void Vector9C (void)
 
void VectorA0 (void)
 
void VectorA4 (void)
 
void VectorA8 (void)
 
void VectorAC (void)
 
void VectorB0 (void)
 
void VectorB4 (void)
 
void VectorB8 (void)
 
void VectorBC (void)
 
void VectorC0 (void)
 
void VectorC4 (void)
 
void VectorC8 (void)
 
void VectorCC (void)
 
void VectorD0 (void)
 
void VectorD4 (void)
 
void VectorD8 (void)
 
void VectorDC (void)
 
void VectorE0 (void)
 
void VectorE4 (void)
 
void VectorE8 (void)
 
void VectorEC (void)
 
void VectorF0 (void)
 
void VectorF4 (void)
 
void VectorF8 (void)
 
void VectorFC (void)
 
void Vector100 (void)
 
void Vector104 (void)
 
void Vector108 (void)
 
void Vector10C (void)
 
void Vector110 (void)
 
void Vector114 (void)
 
void Vector118 (void)
 
void Vector11C (void)
 
void Vector120 (void)
 
void Vector124 (void)
 
void Vector128 (void)
 
void Vector12C (void)
 
void Vector130 (void)
 
void Vector134 (void)
 
void Vector138 (void)
 
void Vector13C (void)
 
void Vector140 (void)
 
void Vector144 (void)
 
void Vector148 (void)
 
void Vector14C (void)
 
void Vector150 (void)
 
void Vector154 (void)
 
void Vector158 (void)
 
void Vector15C (void)
 
void Vector160 (void)
 
void Vector164 (void)
 
void Vector168 (void)
 
void Vector16C (void)
 
void Vector170 (void)
 
void Vector174 (void)
 
void Vector178 (void)
 
void Vector17C (void)
 
void Vector180 (void)
 
void Vector184 (void)
 
static void _unhandled_exception (void)
 Unhandled exceptions handler. More...
 
void _unhandled_exception_NMIVector (void)
 
void _unhandled_exception_MemManageVector (void)
 
void _unhandled_exception_BusFaultVector (void)
 
void _unhandled_exception_UsageFaultVector (void)
 

Variables

static enum HardwareFaultType hardwareFaultType = HardwareFault_NONE
 
uint32_t __main_stack_end__
 
vectors_t _vectors
 STM32 vectors table. More...
 

Detailed Description

File is modified to route IRQ_HANDLERS to opencm3 handlers.

Definition in file stm32f4_chibios_vectors.c.


Data Structure Documentation

struct vectors_t

Type of a structure representing the whole vectors table.

Definition at line 44 of file stm32f4_chibios_vectors.c.

Data Fields
irq_vector_t busfault_vector
irq_vector_t debugmonitor_vector
irq_vector_t hardfault_vector
uint32_t * init_stack
irq_vector_t memmanage_vector
irq_vector_t nmi_vector
irq_vector_t pendsv_vector
irq_vector_t reset_vector
irq_vector_t svcall_vector
irq_vector_t systick_vector
irq_vector_t usagefault_vector
irq_vector_t vector1c
irq_vector_t vector20
irq_vector_t vector24
irq_vector_t vector28
irq_vector_t vector34
irq_vector_t vectors[82]

Typedef Documentation

typedef void(* irq_vector_t)(void)

Type of an IRQ vector.

Definition at line 36 of file stm32f4_chibios_vectors.c.

Enumeration Type Documentation

Enumerator
HardwareFault_NONE 
HardwareFault_BUS 
HardwareFault_MEM 
HardwareFault_USAGE 

Definition at line 37 of file stm32f4_chibios_vectors.c.

Function Documentation

void _unhandled_exception ( void  )
static

Unhandled exceptions handler.

Any undefined exception vector points to this function by default. This function simply stops the system into an infinite loop.

Definition at line 198 of file stm32f4_chibios_vectors.c.

Referenced by _unhandled_exception_BusFaultVector(), _unhandled_exception_MemManageVector(), and _unhandled_exception_UsageFaultVector().

+ Here is the caller graph for this function:

void _unhandled_exception_BusFaultVector ( void  )

Definition at line 224 of file stm32f4_chibios_vectors.c.

References _unhandled_exception(), HardwareFault_BUS, and hardwareFaultType.

+ Here is the call graph for this function:

void _unhandled_exception_MemManageVector ( void  )

Definition at line 219 of file stm32f4_chibios_vectors.c.

References _unhandled_exception(), HardwareFault_MEM, and hardwareFaultType.

+ Here is the call graph for this function:

void _unhandled_exception_NMIVector ( void  )

Definition at line 214 of file stm32f4_chibios_vectors.c.

References TRUE.

void _unhandled_exception_UsageFaultVector ( void  )

Definition at line 229 of file stm32f4_chibios_vectors.c.

References _unhandled_exception(), HardwareFault_USAGE, and hardwareFaultType.

+ Here is the call graph for this function:

void BusFaultVector ( void  )
void DebugMonitorVector ( void  )
void HardFaultVector ( void  )
void MemManageVector ( void  )
void NMIVector ( void  )
void PendSVVector ( void  )
void prvGetRegistersFromStack ( uint32_t pulFaultStackAddress)

Definition at line 333 of file stm32f4_chibios_vectors.c.

void ResetHandler ( void  )
void SVCallVector ( void  )
void SysTickVector ( void  )
void UsageFaultVector ( void  )
void Vector100 ( void  )
void Vector104 ( void  )
void Vector108 ( void  )
void Vector10C ( void  )
void Vector110 ( void  )
void Vector114 ( void  )
void Vector118 ( void  )
void Vector11C ( void  )
void Vector120 ( void  )
void Vector124 ( void  )
void Vector128 ( void  )
void Vector12C ( void  )
void Vector130 ( void  )
void Vector134 ( void  )
void Vector138 ( void  )
void Vector13C ( void  )
void Vector140 ( void  )
void Vector144 ( void  )
void Vector148 ( void  )
void Vector14C ( void  )
void Vector150 ( void  )
void Vector154 ( void  )
void Vector158 ( void  )
void Vector15C ( void  )
void Vector160 ( void  )
void Vector164 ( void  )
void Vector168 ( void  )
void Vector16C ( void  )
void Vector170 ( void  )
void Vector174 ( void  )
void Vector178 ( void  )
void Vector17C ( void  )
void Vector180 ( void  )
void Vector184 ( void  )
void Vector1C ( void  )
void Vector20 ( void  )
void Vector24 ( void  )
void Vector28 ( void  )
void Vector34 ( void  )
void Vector40 ( void  )
void Vector44 ( void  )
void Vector48 ( void  )
void Vector4C ( void  )
void Vector50 ( void  )
void Vector54 ( void  )
void Vector58 ( void  )
void Vector5C ( void  )
void Vector60 ( void  )
void Vector64 ( void  )
void Vector68 ( void  )
void Vector6C ( void  )
void Vector70 ( void  )
void Vector74 ( void  )
void Vector78 ( void  )
void Vector7C ( void  )
void Vector80 ( void  )
void Vector84 ( void  )
void Vector88 ( void  )
void Vector8C ( void  )
void Vector90 ( void  )
void Vector94 ( void  )
void Vector98 ( void  )
void Vector9C ( void  )
void VectorA0 ( void  )
void VectorA4 ( void  )
void VectorA8 ( void  )
void VectorAC ( void  )
void VectorB0 ( void  )
void VectorB4 ( void  )
void VectorB8 ( void  )
void VectorBC ( void  )
void VectorC0 ( void  )
void VectorC4 ( void  )
void VectorC8 ( void  )
void VectorCC ( void  )
void VectorD0 ( void  )
void VectorD4 ( void  )
void VectorD8 ( void  )
void VectorDC ( void  )
void VectorE0 ( void  )
void VectorE4 ( void  )
void VectorE8 ( void  )
void VectorEC ( void  )
void VectorF0 ( void  )
void VectorF4 ( void  )
void VectorF8 ( void  )
void VectorFC ( void  )

Variable Documentation

uint32_t __main_stack_end__
vectors_t _vectors
Initial value:
= {
{
DECLARE_IRQS
}
}
uint32_t __main_stack_end__
void Vector24(void)
void ResetHandler(void)
void Vector1C(void)
void Vector34(void)
void Vector20(void)
void MemManageVector(void)
void DebugMonitorVector(void)
void PendSVVector(void)
void SysTickVector(void)
void UsageFaultVector(void)
void HardFaultVector(void)
void BusFaultVector(void)
void Vector28(void)
void NMIVector(void)
void SVCallVector(void)

STM32 vectors table.

Definition at line 175 of file stm32f4_chibios_vectors.c.