54 lines
1.3 KiB
C
54 lines
1.3 KiB
C
#include "drv_wdog.h"
|
|
#include "drv_flash.h"
|
|
|
|
#include "app_hmi.h"
|
|
#include "app_config.h"
|
|
|
|
#include "drv_rcc.h"
|
|
#include "drv_clk.h"
|
|
|
|
//跳转前要复位外设,防止应用程序未初始化进入中断
|
|
void jumpHandler(void)
|
|
{
|
|
RCC->APB2RSTR |= RCC_APB2Periph_USART1;
|
|
RCC->APB2RSTR &= ~RCC_APB2Periph_USART1;
|
|
RCC->APB2ENR &= ~RCC_APB2Periph_USART1;
|
|
|
|
RCC->APB1RSTR |= RCC_APB1Periph_USART2;
|
|
RCC->APB1RSTR &= ~RCC_APB1Periph_USART2;
|
|
RCC->APB1ENR &= ~RCC_APB1Periph_USART2;
|
|
|
|
RCC->APB1RSTR |= RCC_APB1Periph_USART3;
|
|
RCC->APB1RSTR &= ~RCC_APB1Periph_USART3;
|
|
RCC->APB1ENR &= ~RCC_APB1Periph_USART3;
|
|
|
|
RCC->APB1RSTR |= RCC_APB1Periph_UART4;
|
|
RCC->APB1RSTR &= ~RCC_APB1Periph_UART4;
|
|
RCC->APB1ENR &= ~RCC_APB1Periph_UART4;
|
|
|
|
RCC->APB1RSTR |= RCC_APB1Periph_UART5;
|
|
RCC->APB1RSTR &= ~RCC_APB1Periph_UART5;
|
|
RCC->APB1ENR &= ~RCC_APB1Periph_UART5;
|
|
|
|
RCC->APB1RSTR |= RCC_APB1Periph_USART3;
|
|
RCC->APB1RSTR &= ~RCC_APB1Periph_USART3;
|
|
RCC->APB1ENR &= ~RCC_APB1Periph_USART3;
|
|
|
|
RCC->APB2RSTR |= RCC_APB2Periph_USART1;
|
|
RCC->APB2RSTR &= ~RCC_APB2Periph_USART1;
|
|
RCC->APB2ENR &= ~RCC_APB2Periph_USART1;
|
|
|
|
drvFeedWdog();
|
|
}
|
|
|
|
|
|
void appJumpAnalyse(void)
|
|
{
|
|
flashJumpNew(APP_CFG_APP_START_ADDR, jumpHandler);
|
|
}
|
|
|
|
void appInitHmi(void)
|
|
{
|
|
appJumpAnalyse();
|
|
}
|