| 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****/
 
 
  |