| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229 | /**  ******************************************************************************  * @file    stm32f4xx_it.c   * @author  MCD Application Team  * @version V1.0.0  * @date    31-October-2011  * @brief   Main Interrupt Service Routines.  *          This file provides template for all exceptions handler and   *          peripherals interrupt service routine.  ******************************************************************************  * @attention  *  * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS  * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE  * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY  * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING  * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE  * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.  *  * <h2><center>© Portions COPYRIGHT 2011 STMicroelectronics</center></h2>  ******************************************************************************  *//**  ******************************************************************************  * <h2><center>© Portions COPYRIGHT 2012 Embest Tech. Co., Ltd.</center></h2>  * @file    stm32f4xx_it.c  * @author  CMP Team  * @version V1.0.0  * @date    28-December-2012  * @brief   Main Interrupt Service Routines.  *          This file provides template for all exceptions handler and   *          peripherals interrupt service routine.    *          Modified to support the STM32F4DISCOVERY, STM32F4DIS-BB and  *          STM32F4DIS-LCD modules.   ******************************************************************************  * @attention  *  * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS  * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE  * TIME. AS A RESULT, Embest SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT  * OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT  * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION  * CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.  ******************************************************************************  *//* Includes ------------------------------------------------------------------*/#include "stm32f4xx_it.h"#include "main.h"#include "stm32f4x7_eth.h"/* Scheduler includes */#include "FreeRTOS.h"#include "task.h"#include "queue.h"#include "semphr.h"extern SemaphoreHandle_t s_xSemaphore;/* lwip includes */#include "lwip/sys.h"#ifdef PRINTF_STDLIB#include <stdio.h>#endif#ifdef PRINTF_CUSTOM#include "tinystdio.h"#endif/* Private typedef -----------------------------------------------------------*//* Private define ------------------------------------------------------------*//* Private macro -------------------------------------------------------------*//* Private variables ---------------------------------------------------------*/extern SemaphoreHandle_t s_xSemaphore;/* Private function prototypes -----------------------------------------------*/extern void xPortSysTickHandler(void); /* Private functions ---------------------------------------------------------*//******************************************************************************//*            Cortex-M4 Processor Exceptions Handlers                         *//******************************************************************************//**  * @brief   This function handles NMI exception.  * @param  None  * @retval None  */void NMI_Handler(void){  /* Сбросить флаг системы контроля CSS */   if (RCC->CIR & RCC_CIR_CSSF) RCC->CIR |= RCC_CIR_CSSC;	  printf("NMI exception\r\n");  NVIC_SystemReset();  }/**  * @brief  This function handles Hard Fault exception.  * @param  None  * @retval None  */void HardFault_Handler(void){  printf("Hardfault\r\n");  //NVIC_SystemReset();  /* Go to infinite loop when Hard Fault exception occurs */  while (1)  {  }}/**  * @brief  This function handles Memory Manage exception.  * @param  None  * @retval None  */void MemManage_Handler(void){  /* Go to infinite loop when Memory Manage exception occurs */  while (1)  {  }}/**  * @brief  This function handles Bus Fault exception.  * @param  None  * @retval None  */void BusFault_Handler(void){  /* Go to infinite loop when Bus Fault exception occurs */  while (1)  {  }}/**  * @brief  This function handles Usage Fault exception.  * @param  None  * @retval None  */void UsageFault_Handler(void){  /* Go to infinite loop when Usage Fault exception occurs */  while (1)  {  }}/**  * @brief  This function handles Debug Monitor exception.  * @param  None  * @retval None  */void DebugMon_Handler(void){}/**  * @brief  This function handles ethernet DMA interrupt request.  * @param  None  * @retval None  */void ETH_IRQHandler(void){#if 1   portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;  /* Frame received */  if ( ETH_GetDMAFlagStatus(ETH_DMA_FLAG_R) == SET)   {    /* Give the semaphore to wakeup LwIP task */    xSemaphoreGiveFromISR( s_xSemaphore, &xHigherPriorityTaskWoken );     }	  /* Clear the interrupt flags. */  /* Clear the Eth DMA Rx IT pending bits */  ETH_DMAClearITPendingBit(ETH_DMA_IT_R);  ETH_DMAClearITPendingBit(ETH_DMA_IT_NIS);	  // Switch tasks if necessary. */	  if( xHigherPriorityTaskWoken != pdFALSE )  {    portEND_SWITCHING_ISR( xHigherPriorityTaskWoken );  }#endif}/**  * @brief  This function handles SDIO global interrupt request.  * @param  None  * @retval None  */void SDIO_IRQHandler(void){  /* Process All SDIO Interrupt Sources */  //SD_ProcessIRQSrc();}/**  * @brief  This function handles DMA2 Stream3 or DMA2 Stream6 global interrupts  *         requests.  * @param  None  * @retval None  */void SD_SDIO_DMA_IRQHANDLER(void){  /* Process DMA2 Stream3 or DMA2 Stream6 Interrupt Sources */  //SD_ProcessDMAIRQ();}/******************************************************************************//*                 STM32F4xx Peripherals Interrupt Handlers                   *//*  Add here the Interrupt Handler for the used peripheral(s) (PPP), for the  *//*  available peripheral interrupt handler's name please refer to the startup *//*  file (startup_stm32f4xx.s).                                               *//******************************************************************************//**  * @brief  This function handles PPP interrupt request.  * @param  None  * @retval None  *//*void PPP_IRQHandler(void){}*//*********** Portions COPYRIGHT 2012 Embest Tech. Co., Ltd.*****END OF FILE****/
 |