140 lines
3.6 KiB
C
140 lines
3.6 KiB
C
/*!
|
||
\file gd32e23x_it.c
|
||
\brief interrupt service routines
|
||
|
||
\version 2019-02-19, V1.0.0, firmware for GD32E23x
|
||
*/
|
||
|
||
/*
|
||
Copyright (c) 2019, GigaDevice Semiconductor Inc.
|
||
|
||
All rights reserved.
|
||
|
||
Redistribution and use in source and binary forms, with or without modification,
|
||
are permitted provided that the following conditions are met:
|
||
|
||
1. Redistributions of source code must retain the above copyright notice, this
|
||
list of conditions and the following disclaimer.
|
||
2. Redistributions in binary form must reproduce the above copyright notice,
|
||
this list of conditions and the following disclaimer in the documentation
|
||
and/or other materials provided with the distribution.
|
||
3. Neither the name of the copyright holder nor the names of its contributors
|
||
may be used to endorse or promote products derived from this software without
|
||
specific prior written permission.
|
||
|
||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
||
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
|
||
OF SUCH DAMAGE.
|
||
*/
|
||
|
||
#include "gd32e23x_it.h"
|
||
#include "systick.h"
|
||
#include "tos_k.h"
|
||
/*!
|
||
\brief this function handles NMI exception
|
||
\param[in] none
|
||
\param[out] none
|
||
\retval none
|
||
*/
|
||
void NMI_Handler(void)
|
||
{
|
||
}
|
||
|
||
/*!
|
||
\brief this function handles HardFault exception
|
||
\param[in] none
|
||
\param[out] none
|
||
\retval none
|
||
*/
|
||
void HardFault_Handler(void)
|
||
{
|
||
/* if Hard Fault exception occurs, go to infinite loop */
|
||
while (1){
|
||
}
|
||
}
|
||
|
||
/*!
|
||
\brief this function handles MemManage exception
|
||
\param[in] none
|
||
\param[out] none
|
||
\retval none
|
||
*/
|
||
void MemManage_Handler(void)
|
||
{
|
||
/* if Memory Manage exception occurs, go to infinite loop */
|
||
while (1){
|
||
}
|
||
}
|
||
|
||
/*!
|
||
\brief this function handles BusFault exception
|
||
\param[in] none
|
||
\param[out] none
|
||
\retval none
|
||
*/
|
||
void BusFault_Handler(void)
|
||
{
|
||
/* if Bus Fault exception occurs, go to infinite loop */
|
||
while (1){
|
||
}
|
||
}
|
||
|
||
/*!
|
||
\brief this function handles UsageFault exception
|
||
\param[in] none
|
||
\param[out] none
|
||
\retval none
|
||
*/
|
||
void UsageFault_Handler(void)
|
||
{
|
||
/* if Usage Fault exception occurs, go to infinite loop */
|
||
while (1){
|
||
}
|
||
}
|
||
|
||
/*!
|
||
\brief this function handles SVC exception
|
||
\param[in] none
|
||
\param[out] none
|
||
\retval none
|
||
*/
|
||
void SVC_Handler(void)
|
||
{
|
||
}
|
||
|
||
/*!
|
||
\brief this function handles DebugMon exception
|
||
\param[in] none
|
||
\param[out] none
|
||
\retval none
|
||
*/
|
||
void DebugMon_Handler(void)
|
||
{
|
||
}
|
||
|
||
|
||
|
||
/*!
|
||
\brief this function handles SysTick exception
|
||
\param[in] none
|
||
\param[out] none
|
||
\retval none
|
||
*/
|
||
void SysTick_Handler(void)
|
||
{
|
||
if(tos_knl_is_running()) //OS<4F><53>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>,<2C><>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5>ȴ<EFBFBD><C8B4><EFBFBD>
|
||
{
|
||
tos_knl_irq_enter(); //<2F><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
|
||
tos_tick_handler(); //<2F><><EFBFBD><EFBFBD>TencentOS tiny<6E><79>ʱ<EFBFBD>ӷ<EFBFBD><D3B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
tos_knl_irq_leave(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD>ж<EFBFBD>
|
||
}
|
||
delay_decrement();
|
||
}
|