123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207 |
- /**
- ******************************************************************************
- * @file Project/STM32F4xx_StdPeriph_Templates/stm32f4xx_it.c
- * @author MCD Application Team
- * @version V1.5.0
- * @date 06-March-2015
- * @brief Main Interrupt Service Routines.
- * This file provides template for all exceptions handler and
- * peripherals interrupt service routine.
- ******************************************************************************
- * @attention
- *
- * <h2><center>© COPYRIGHT 2015 STMicroelectronics</center></h2>
- *
- * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
- * You may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.st.com/software_license_agreement_liberty_v2
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- ******************************************************************************
- */
- /* Includes ------------------------------------------------------------------*/
- #include "stm32f4xx_it.h"
- #include "includes.h"
- #include "netconf.h"
- #include "stm32f4x7_eth.h"
- #include "stm32f4xx.h"
- extern OS_EVENT *p_semaphore;
- extern OS_EVENT *g_enet_rx_sem;
- /** @addtogroup Template_Project
- * @{
- */
- /* Private typedef -----------------------------------------------------------*/
- /* Private define ------------------------------------------------------------*/
- /* Private macro -------------------------------------------------------------*/
- /* Private variables ---------------------------------------------------------*/
- /* Private function prototypes -----------------------------------------------*/
- /* Private functions ---------------------------------------------------------*/
- /******************************************************************************/
- /* Cortex-M4 Processor Exceptions Handlers */
- /******************************************************************************/
- /**
- * @brief This function handles NMI exception.
- * @param None
- * @retval None
- */
- void NMI_Handler(void)
- {
- }
- /**
- * @brief This function handles Hard Fault exception.
- * @param None
- * @retval None
- */
- void HardFault_Handler(void)
- {
- /* 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 SVCall exception.
- * @param None
- * @retval None
- */
- void SVC_Handler(void)
- {
- }
- /**
- * @brief This function handles Debug Monitor exception.
- * @param None
- * @retval None
- */
- void DebugMon_Handler(void)
- {
- }
- /**
- * @brief This function handles PendSVC exception.
- * @param None
- * @retval None
- */
- // void PendSV_Handler(void)
- // {
- // }
- /**
- * @brief This function handles SysTick Handler.
- * @param None
- * @retval None
- */
- // void SysTick_Handler(void)
- // {
- // // TimingDelay_Decrement();
- // }
- /******************************************************************************/
- /* 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)
- {
- }*/
- /**
- * @}
- */
- #ifdef USE_ENET_INTERRUPT
- /*!
- \brief this function handles ethernet interrupt request
- \param[in] none
- \param[out] none
- \retval none
- */
- void ETH_IRQHandler(void)
- {
- // uint32_t reval;
- // if(SET == enet_interrupt_flag_get(ENET_DMA_INT_FLAG_RS))
- // {
- // OSSemPost(g_rx_semaphore);
- // }
- // /* clear the enet DMA Rx interrupt pending bits */
- // enet_interrupt_flag_clear(ENET_DMA_INT_FLAG_RS_CLR);
- // enet_interrupt_flag_clear(ENET_DMA_INT_FLAG_NI_CLR);
- OSIntEnter();
- /* frame received */
- if (SET == ETH_GetDMAFlagStatus(ETH_DMA_FLAG_R))
- {
- /* clear the enet DMA Rx interrupt pending bits */
- ETH_DMAClearFlag(ETH_DMA_FLAG_R);
- ETH_DMAClearFlag(ETH_DMA_FLAG_T);
- /* give the semaphore to wakeup LwIP task */
- OSSemPost(g_enet_rx_sem);
- }
- OSIntExit();
- }
- #endif /* USE_ENET_INTERRUPT */
- /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
|