/**
  ******************************************************************************
  * File Name          : stm32f4xx_selftest.h
  * Description        : This file provides code for the configuration
  *                      of the stm32f4xx_selftest instances.
  ******************************************************************************
  * @attention
  *
  * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
  * All rights reserved.</center></h2>
  *
  * This software component is licensed by Phihong under Ultimate Liberty license
  * , the "License"; You may not use this file except in compliance with
  * the License. You may obtain a copy of the License at:
  *                             www.phihong.com.tw
  *
  ******************************************************************************
  */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __stm32f4xx_selftest_H
#define __stm32f4xx_selftest_H
#ifdef __cplusplus
 extern "C" {
#endif

/* Includes ------------------------------------------------------------------*/
#include "main.h"

/* USER CODE BEGIN Includes */
#include "crc.h"
#include "iwdg.h"
#include "wwdg.h"
#include "tim.h"
#include "adc.h"
#include "stm32fxx_STLparam.h"
#include "stm32fxx_STLlib.h"
#include "stm32fxx_STLclassBvar.h"
#include "stm32fxx_STLcpu.h"
//#include "stm32fxx_STLRam.h"
//#include "stm32fxx_STLclock.h"
//#include "stm32fxx_STLcrc32.h"


/* USER CODE END Includes */

/* USER CODE BEGIN Private defines */
#define ALLOC_GLOBALS
#define TEST_OK     1
#define TEST_FAIL   0

// Watch dog declare
#define __HAL_RCC_CLEAR_FLAG __HAL_RCC_CLEAR_RESET_FLAGS
#define USE_INDEPENDENT_WDOG
#define USE_WINDOW_WDOG

// Clock declare
#define MAX_FLASH_LATENCY FLASH_LATENCY_3

// Flash declare
#define FLASH_BOOT_START        ((uint32_t)0x08000000)        
#define FLASH_BOOT_LENGTH       0xC000
#define FLASH_AP_START          ((uint32_t)0x08040000)
#define FLASH_AP_LENGTH         0x60000
   
// GPIO declare
#define GPIO_PORT_TRIGGER	GPIOC
#define GPIO_PIN_TRIGGER	GPIO_PIN_4
#define GPIO_PORT_CHECK		GPIOC
#define GPIO_PIN_CHECK		GPIO_PIN_5

/* USER CODE END Private defines */


/* USER CODE BEGIN Prototypes */
extern void FailSafePOR(void);
extern uint8_t Startup_Test(void);
extern uint8_t STL_CheckStack(void);

extern uint8_t  Interrupt_Test_Flag;
extern int ClockCheckHSE;
extern int ClockCheckHSI;
/* USER CODE END Prototypes */

#ifdef __cplusplus
}
#endif
#endif /*__ crc_H */

/**
  * @}
  */

/**
  * @}
  */

/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
