STM32F769IDiscovery  1.00
uDANTE Audio Networking with STM32F7 DISCO board
stm32f7xx_it.c
Go to the documentation of this file.
1 
40 /* Includes ------------------------------------------------------------------*/
41 #include "main.h"
42 #include "stm32f7xx_it.h"
43 #include "ethernetif.h"
44 
53 /* Private typedef -----------------------------------------------------------*/
54 /* Private define ------------------------------------------------------------*/
55 /* Private macro -------------------------------------------------------------*/
56 /* Private variables ---------------------------------------------------------*/
57 extern DSI_HandleTypeDef hdsi_discovery;
58 extern PCD_HandleTypeDef hpcd;
62 
63 /* Private function prototypes -----------------------------------------------*/
64 /* Private functions ---------------------------------------------------------*/
65 
66 /******************************************************************************/
67 /* Cortex-M7 Processor Exceptions Handlers */
68 /******************************************************************************/
69 
75 void NMI_Handler(void)
76 {
77 }
78 
79 volatile unsigned int stacked_r0;
80 volatile unsigned int stacked_r1;
81 volatile unsigned int stacked_r2;
82 volatile unsigned int stacked_r3;
83 volatile unsigned int stacked_r12;
84 volatile unsigned int stacked_lr;
85 volatile unsigned int stacked_pc;
86 volatile unsigned int stacked_psr;
87 
93 void hard_fault_handler_c(unsigned int *hardfault_args)
94 {
95  stacked_r0 = ((unsigned long) hardfault_args[0]);
96  stacked_r1 = ((unsigned long) hardfault_args[1]);
97  stacked_r2 = ((unsigned long) hardfault_args[2]);
98  stacked_r3 = ((unsigned long) hardfault_args[3]);
99 
100  stacked_r12 = ((unsigned long) hardfault_args[4]);
101  stacked_lr = ((unsigned long) hardfault_args[5]);
102  stacked_pc = ((unsigned long) hardfault_args[6]);
103  stacked_psr = ((unsigned long) hardfault_args[7]);
104 
105  //use the variable to have it available in debugger
106  if (stacked_pc)
107  BSP_LED_On(LED1);
108  if (stacked_lr)
109  BSP_LED_On(LED1);
110 
111  while(1) ;
112 }
113 
114 #if 0
115 
120 void HardFault_Handler(void)
121 {
122  /* Go to infinite loop when Hard Fault exception occurs */
123  while(1) ;
124 }
125 #endif
126 
133 {
134  /* Go to infinite loop when Memory Manage exception occurs */
135  while (1)
136  {
137  }
138 }
139 
146 {
147  /* Go to infinite loop when Bus Fault exception occurs */
148  while (1)
149  {
150  }
151 }
152 
159 {
160  /* Go to infinite loop when Usage Fault exception occurs */
161  while (1)
162  {
163  }
164 }
165 
166 #ifdef WITHOUT_RTOS
167 
172 void SVC_Handler(void)
173 {
174 }
175 #endif
176 
183 {
184 }
185 
186 #ifdef WITHOUT_RTOS
187 
192 void PendSV_Handler(void)
193 {
194 }
195 #endif
196 
202 void SysTick_Handler(void)
203 {
204  HAL_IncTick();
207 }
208 
209 /******************************************************************************/
210 /* STM32F7xx Peripherals Interrupt Handlers */
211 /* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */
212 /* available peripheral interrupt handler's name please refer to the startup */
213 /* file (startup_stm32f7xx.s). */
214 /******************************************************************************/
220 void DSI_IRQHandler(void)
221 {
222  HAL_DSI_IRQHandler(&hdsi_discovery);
223 }
224 
230 #ifdef USE_USB_FS
231 void OTG_FS_IRQHandler(void)
232 #else
234 #endif
235 {
236  HAL_PCD_IRQHandler(&hpcd);
237 }
238 
245 {
246  HAL_SD_IRQHandler(&uSdHandle);
247 
248 }
249 
256 {
257  HAL_DMA_IRQHandler(uSdHandle.hdmatx);
258 }
259 
266 {
267  HAL_DMA_IRQHandler(uSdHandle.hdmarx);
268 }
269 
270 //Q: which DMA is used for SAI1 out?
271 
278 {
280 }
281 
288 {
290 }
291 
298 {
300 }
301 
308 {
309 }
310 
315 {
316  /* USER CODE BEGIN DMA1_Stream1_IRQn 0 */
317 
318  /* USER CODE END DMA1_Stream1_IRQn 0 */
319  HAL_DMA_IRQHandler(&hdma_spdif_rx_dt);
320  /* USER CODE BEGIN DMA1_Stream1_IRQn 1 */
321 
322  /* USER CODE END DMA1_Stream1_IRQn 1 */
323 }
324 
331 {
332  HAL_DMA_IRQHandler(spdiftxhsai.hdmatx);
333 }
334 
341 {
343 }
344 
350 void ETH_IRQHandler(void)
351 {
353 }
354 
363 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
volatile unsigned int stacked_pc
Definition: stm32f7xx_it.c:85
void BSP_SDMMC_IRQHandler(void)
This function handles SDIO interrupt request.
Definition: stm32f7xx_it.c:244
DMA_HandleTypeDef * hdmarx
void DebugMon_Handler(void)
This function handles Debug Monitor exception.
Definition: stm32f7xx_it.c:182
void BusFault_Handler(void)
This function handles Bus Fault exception.
Definition: stm32f7xx_it.c:145
void MemManage_Handler(void)
This function handles Memory Manage exception.
Definition: stm32f7xx_it.c:132
void NMI_Handler(void)
This function handles NMI exception.
Definition: stm32f7xx_it.c:75
void osSystickHandler(void)
Handles the tick increment.
Definition: cmsis_os.c:1239
void ETHERNET_IRQHandler(void)
Ethernet IRQ Handler.
Definition: ethernetif.c:175
void BSP_SDMMC_DMA_Rx_IRQHandler(void)
This function handles DMA2 Stream 6 interrupt request.
Definition: stm32f7xx_it.c:265
void SVC_Handler(void)
void HAL_PCD_IRQHandler(PCD_HandleTypeDef *hpcd)
volatile unsigned int stacked_r1
Definition: stm32f7xx_it.c:80
volatile unsigned int stacked_psr
Definition: stm32f7xx_it.c:86
volatile unsigned int stacked_lr
Definition: stm32f7xx_it.c:84
void PendSV_Handler(void)
volatile unsigned int stacked_r2
Definition: stm32f7xx_it.c:81
volatile unsigned int stacked_r12
Definition: stm32f7xx_it.c:83
void BSP_SDMMC_DMA_Tx_IRQHandler(void)
This function handles DMA2 Stream 3 interrupt request.
Definition: stm32f7xx_it.c:255
DMA_HandleTypeDef * hdmatx
void DMA2_Stream4_IRQHandler(void)
This function handles SAI DMA interrupt request.
Definition: stm32f7xx_it.c:340
void AUDIO_DFSDMx_DMAx_TOP_LEFT_IRQHandler(void)
This function handles DMA2 Stream 0 interrupt request.
Definition: stm32f7xx_it.c:287
void HAL_DMA_IRQHandler(DMA_HandleTypeDef *hdma)
DMA_HandleTypeDef hdma_spdif_rx_dt
Definition: main.c:75
void OTG_HS_IRQHandler(void)
This function handles USB-On-The-Go FS/HS global interrupt request.
Definition: stm32f7xx_it.c:233
void BSP_LED_On(Led_TypeDef Led)
Turns selected LED On.
void HAL_IncTick(void)
This function is called to increment a global variable "uwTick" used as application time base...
DMA_HandleTypeDef * hdmatx
DFSDM_Filter_HandleTypeDef hAudioInTopLeftFilter
void HAL_SYSTICK_IRQHandler(void)
volatile unsigned int stacked_r0
Definition: stm32f7xx_it.c:79
volatile unsigned int stacked_r3
Definition: stm32f7xx_it.c:82
DFSDM_Filter_HandleTypeDef hAudioInTopRightFilter
PCD Handle Structure definition.
void HardFault_Handler(void)
void AUDIO_OUT_SAIx_DMAx_IRQHandler(void)
This function handles DMA2 Stream 1 interrupt request.
Definition: stm32f7xx_it.c:277
void DSI_IRQHandler(void)
This function handles DSI Handler.
Definition: stm32f7xx_it.c:220
void SysTick_Handler(void)
This function handles SysTick Handler.
Definition: stm32f7xx_it.c:202
DMA handle Structure definition.
void DMA2_Stream2_IRQHandler(void)
This function handles SAI DMA interrupt request for SPDIF Tx.
Definition: stm32f7xx_it.c:330
SD_HandleTypeDef uSdHandle
void SPDIF_RX_IRQHandler(void)
This function handles SPDIFRX interrupts.
Definition: stm32f7xx_it.c:307
PCD_HandleTypeDef hpcd
Definition: usbd_conf.c:55
void AUDIO_DFSDMx_DMAx_TOP_RIGHT_IRQHandler(void)
This function handles DMA2 Stream 0 interrupt request.
Definition: stm32f7xx_it.c:297
void UsageFault_Handler(void)
This function handles Usage Fault exception.
Definition: stm32f7xx_it.c:158
void hard_fault_handler_c(unsigned int *hardfault_args)
save parameter to figure out in debug mode where crash happened
Definition: stm32f7xx_it.c:93
void ETH_IRQHandler(void)
This function handles Ethernet interrupt request.
Definition: stm32f7xx_it.c:350
void DMA1_Stream1_IRQHandler(void)
This function handles DMA1 stream1 global interrupt.
Definition: stm32f7xx_it.c:314
SAI_HandleTypeDef haudio_out_sai
DMA_HandleTypeDef * hdmarx
SAI_HandleTypeDef haudio_in_sai
SAI_HandleTypeDef spdiftxhsai
Definition: SPDIF_Tx.c:16
DSI_HandleTypeDef hdsi_discovery
void HAL_SD_IRQHandler(SD_HandleTypeDef *hsd)