247 lines
9.4 KiB
C
247 lines
9.4 KiB
C
#ifndef __SYS_CONFIG_H
|
|
#define __SYS_CONFIG_H
|
|
#include "os_task.h"
|
|
#include "type.h"
|
|
#include "lcd_task.h"
|
|
#include "config.h"
|
|
|
|
|
|
#define USE_STD_LIB_DEFINE 1
|
|
#if 0//USE_STD_LIB_DEFINE
|
|
|
|
#define HAL_STD_GPIO 1
|
|
#if HAL_STD_GPIO
|
|
|
|
#define GPIO_Pin_0 GPIO_PIN_0
|
|
#define GPIO_Pin_1 GPIO_PIN_1
|
|
#define GPIO_Pin_2 GPIO_PIN_2
|
|
#define GPIO_Pin_3 GPIO_PIN_3
|
|
#define GPIO_Pin_4 GPIO_PIN_4
|
|
#define GPIO_Pin_5 GPIO_PIN_5
|
|
#define GPIO_Pin_6 GPIO_PIN_6
|
|
#define GPIO_Pin_7 GPIO_PIN_7
|
|
#define GPIO_Pin_8 GPIO_PIN_8
|
|
#define GPIO_Pin_9 GPIO_PIN_9
|
|
#define GPIO_Pin_10 GPIO_PIN_10
|
|
#define GPIO_Pin_11 GPIO_PIN_11
|
|
#define GPIO_Pin_12 GPIO_PIN_12
|
|
#define GPIO_Pin_13 GPIO_PIN_13
|
|
#define GPIO_Pin_14 GPIO_PIN_14
|
|
#define GPIO_Pin_15 GPIO_PIN_15
|
|
#define GPIO_Pin_All GPIO_PIN_All
|
|
|
|
#define GPIO_PinSource0 ((uint8_t)0x00)
|
|
#define GPIO_PinSource1 ((uint8_t)0x01)
|
|
#define GPIO_PinSource2 ((uint8_t)0x02)
|
|
#define GPIO_PinSource3 ((uint8_t)0x03)
|
|
#define GPIO_PinSource4 ((uint8_t)0x04)
|
|
#define GPIO_PinSource5 ((uint8_t)0x05)
|
|
#define GPIO_PinSource6 ((uint8_t)0x06)
|
|
#define GPIO_PinSource7 ((uint8_t)0x07)
|
|
#define GPIO_PinSource8 ((uint8_t)0x08)
|
|
#define GPIO_PinSource9 ((uint8_t)0x09)
|
|
#define GPIO_PinSource10 ((uint8_t)0x0A)
|
|
#define GPIO_PinSource11 ((uint8_t)0x0B)
|
|
#define GPIO_PinSource12 ((uint8_t)0x0C)
|
|
#define GPIO_PinSource13 ((uint8_t)0x0D)
|
|
#define GPIO_PinSource14 ((uint8_t)0x0E)
|
|
#define GPIO_PinSource15 ((uint8_t)0x0F)
|
|
|
|
void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
|
|
void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
|
|
uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx);
|
|
void PWR_PVDLevelConfig(uint32_t PWR_PVDLevel);
|
|
|
|
void RCC_AHB1PeriphClockCmd(uint32_t RCC_AHB1Periph, FunctionalState NewState);
|
|
void RCC_AHB2PeriphClockCmd(uint32_t RCC_AHB2Periph, FunctionalState NewState);
|
|
void RCC_AHB3PeriphClockCmd(uint32_t RCC_AHB3Periph, FunctionalState NewState);
|
|
void RCC_APB1PeriphClockCmd(uint32_t RCC_APB1Periph, FunctionalState NewState);
|
|
void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState);
|
|
|
|
void RCC_AHB1PeriphResetCmd(uint32_t RCC_AHB1Periph, FunctionalState NewState);
|
|
void RCC_AHB2PeriphResetCmd(uint32_t RCC_AHB2Periph, FunctionalState NewState);
|
|
void RCC_AHB3PeriphResetCmd(uint32_t RCC_AHB3Periph, FunctionalState NewState);
|
|
void RCC_APB1PeriphResetCmd(uint32_t RCC_APB1Periph, FunctionalState NewState);
|
|
void RCC_APB2PeriphResetCmd(uint32_t RCC_APB2Periph, FunctionalState NewState);
|
|
|
|
void GPIO_PinAFConfig(GPIO_TypeDef* GPIOx, uint16_t GPIO_PinSource, uint8_t GPIO_AF);
|
|
|
|
void RTC_WriteBackupRegister(uint32_t RTC_BKP_DR, uint32_t Data);
|
|
uint32_t RTC_ReadBackupRegister(uint32_t RTC_BKP_DR);
|
|
|
|
|
|
void USART_SendData(USART_TypeDef* USARTx, uint16_t Data);
|
|
uint16_t USART_ReceiveData(USART_TypeDef* USARTx);
|
|
|
|
uint16_t SPI_I2S_ReceiveData(SPI_TypeDef* SPIx);
|
|
void SPI_I2S_SendData(SPI_TypeDef* SPIx, uint16_t Data);
|
|
|
|
|
|
|
|
|
|
#define GPIO_Speed_2MHz GPIO_SPEED_FREQ_LOW
|
|
#define GPIO_Speed_25MHz GPIO_SPEED_FREQ_MEDIUM
|
|
#define GPIO_Speed_50MHz GPIO_SPEED_FREQ_HIGH
|
|
#define GPIO_Speed_100MHz GPIO_SPEED_FREQ_VERY_HIGH
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
#define RCC_HAL_STD_DEFINE 1
|
|
#if 0//RCC_HAL_STD_DEFINE
|
|
/** @defgroup RCC_AHB1_Peripherals
|
|
* @{
|
|
*/
|
|
#define RCC_AHB1Periph_GPIOA ((uint32_t)0x00000001)
|
|
#define RCC_AHB1Periph_GPIOB ((uint32_t)0x00000002)
|
|
#define RCC_AHB1Periph_GPIOC ((uint32_t)0x00000004)
|
|
#define RCC_AHB1Periph_GPIOD ((uint32_t)0x00000008)
|
|
#define RCC_AHB1Periph_GPIOE ((uint32_t)0x00000010)
|
|
#define RCC_AHB1Periph_GPIOF ((uint32_t)0x00000020)
|
|
#define RCC_AHB1Periph_GPIOG ((uint32_t)0x00000040)
|
|
#define RCC_AHB1Periph_GPIOH ((uint32_t)0x00000080)
|
|
#define RCC_AHB1Periph_GPIOI ((uint32_t)0x00000100)
|
|
#define RCC_AHB1Periph_CRC ((uint32_t)0x00001000)
|
|
#define RCC_AHB1Periph_FLITF ((uint32_t)0x00008000)
|
|
#define RCC_AHB1Periph_SRAM1 ((uint32_t)0x00010000)
|
|
#define RCC_AHB1Periph_SRAM2 ((uint32_t)0x00020000)
|
|
#define RCC_AHB1Periph_BKPSRAM ((uint32_t)0x00040000)
|
|
#define RCC_AHB1Periph_CCMDATARAMEN ((uint32_t)0x00100000)
|
|
#define RCC_AHB1Periph_DMA1 ((uint32_t)0x00200000)
|
|
#define RCC_AHB1Periph_DMA2 ((uint32_t)0x00400000)
|
|
#define RCC_AHB1Periph_ETH_MAC ((uint32_t)0x02000000)
|
|
#define RCC_AHB1Periph_ETH_MAC_Tx ((uint32_t)0x04000000)
|
|
#define RCC_AHB1Periph_ETH_MAC_Rx ((uint32_t)0x08000000)
|
|
#define RCC_AHB1Periph_ETH_MAC_PTP ((uint32_t)0x10000000)
|
|
#define RCC_AHB1Periph_OTG_HS ((uint32_t)0x20000000)
|
|
#define RCC_AHB1Periph_OTG_HS_ULPI ((uint32_t)0x40000000)
|
|
#define IS_RCC_AHB1_CLOCK_PERIPH(PERIPH) ((((PERIPH) & 0x818BEE00) == 0x00) && ((PERIPH) != 0x00))
|
|
#define IS_RCC_AHB1_RESET_PERIPH(PERIPH) ((((PERIPH) & 0xDD9FEE00) == 0x00) && ((PERIPH) != 0x00))
|
|
#define IS_RCC_AHB1_LPMODE_PERIPH(PERIPH) ((((PERIPH) & 0x81986E00) == 0x00) && ((PERIPH) != 0x00))
|
|
|
|
/** @defgroup RCC_APB2_Peripherals
|
|
* @{
|
|
*/
|
|
#define RCC_APB2Periph_TIM1 ((uint32_t)0x00000001)
|
|
#define RCC_APB2Periph_TIM8 ((uint32_t)0x00000002)
|
|
#define RCC_APB2Periph_USART1 ((uint32_t)0x00000010)
|
|
#define RCC_APB2Periph_USART6 ((uint32_t)0x00000020)
|
|
#define RCC_APB2Periph_ADC ((uint32_t)0x00000100)
|
|
#define RCC_APB2Periph_ADC1 ((uint32_t)0x00000100)
|
|
#define RCC_APB2Periph_ADC2 ((uint32_t)0x00000200)
|
|
#define RCC_APB2Periph_ADC3 ((uint32_t)0x00000400)
|
|
#define RCC_APB2Periph_SDIO ((uint32_t)0x00000800)
|
|
#define RCC_APB2Periph_SPI1 ((uint32_t)0x00001000)
|
|
#define RCC_APB2Periph_SYSCFG ((uint32_t)0x00004000)
|
|
#define RCC_APB2Periph_TIM9 ((uint32_t)0x00010000)
|
|
#define RCC_APB2Periph_TIM10 ((uint32_t)0x00020000)
|
|
#define RCC_APB2Periph_TIM11 ((uint32_t)0x00040000)
|
|
#define IS_RCC_APB2_PERIPH(PERIPH) ((((PERIPH) & 0xFFF8A0CC) == 0x00) && ((PERIPH) != 0x00))
|
|
#define IS_RCC_APB2_RESET_PERIPH(PERIPH) ((((PERIPH) & 0xFFF8A6CC) == 0x00) && ((PERIPH) != 0x00))
|
|
|
|
|
|
/** @defgroup RCC_APB1_Peripherals
|
|
* @{
|
|
*/
|
|
#define RCC_APB1Periph_TIM2 ((uint32_t)0x00000001)
|
|
#define RCC_APB1Periph_TIM3 ((uint32_t)0x00000002)
|
|
#define RCC_APB1Periph_TIM4 ((uint32_t)0x00000004)
|
|
#define RCC_APB1Periph_TIM5 ((uint32_t)0x00000008)
|
|
#define RCC_APB1Periph_TIM6 ((uint32_t)0x00000010)
|
|
#define RCC_APB1Periph_TIM7 ((uint32_t)0x00000020)
|
|
#define RCC_APB1Periph_TIM12 ((uint32_t)0x00000040)
|
|
#define RCC_APB1Periph_TIM13 ((uint32_t)0x00000080)
|
|
#define RCC_APB1Periph_TIM14 ((uint32_t)0x00000100)
|
|
#define RCC_APB1Periph_WWDG ((uint32_t)0x00000800)
|
|
#define RCC_APB1Periph_SPI2 ((uint32_t)0x00004000)
|
|
#define RCC_APB1Periph_SPI3 ((uint32_t)0x00008000)
|
|
#define RCC_APB1Periph_USART2 ((uint32_t)0x00020000)
|
|
#define RCC_APB1Periph_USART3 ((uint32_t)0x00040000)
|
|
#define RCC_APB1Periph_UART4 ((uint32_t)0x00080000)
|
|
#define RCC_APB1Periph_UART5 ((uint32_t)0x00100000)
|
|
#define RCC_APB1Periph_I2C1 ((uint32_t)0x00200000)
|
|
#define RCC_APB1Periph_I2C2 ((uint32_t)0x00400000)
|
|
#define RCC_APB1Periph_I2C3 ((uint32_t)0x00800000)
|
|
#define RCC_APB1Periph_CAN1 ((uint32_t)0x02000000)
|
|
#define RCC_APB1Periph_CAN2 ((uint32_t)0x04000000)
|
|
#define RCC_APB1Periph_PWR ((uint32_t)0x10000000)
|
|
#define RCC_APB1Periph_DAC ((uint32_t)0x20000000)
|
|
#define IS_RCC_APB1_PERIPH(PERIPH) ((((PERIPH) & 0xC9013600) == 0x00) && ((PERIPH) != 0x00))
|
|
/**
|
|
* @}
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
#endif
|
|
|
|
|
|
#define FLASH_SPI SPI1
|
|
#define FPGA_SPI SPI2
|
|
|
|
|
|
void timer_init(void);
|
|
|
|
uint32 uart_com_init(uint32 com_num,uint32 baud,UART_PARITY verify,uint32 int_sw);
|
|
uint32 uart_com_init_task_id(uint32 com_num,uint32 baud,UART_PARITY verify,uint32 int_sw,uint32 task_id);
|
|
|
|
void uart_send_string(uint32 port,const uint8 *pbuf,uint32 len);
|
|
|
|
#define I2C_NORMAL_SPEED (100000)
|
|
#define I2C_HIGH_SPEED (400000)
|
|
|
|
|
|
#if I2C_SOFT_GPIO
|
|
typedef struct
|
|
{
|
|
GPIO_TypeDef* scl_port;
|
|
GPIO_TypeDef* sda_port;
|
|
uint16 scl_pin;
|
|
uint16 sda_pin;
|
|
}S_I2C_GPIO;
|
|
#endif
|
|
|
|
#if WATCHDOG_ENABLE
|
|
void watchdog_init(void);
|
|
#endif
|
|
void uart_hw_pre_init(void);
|
|
uint32 create_uart_timer(void);
|
|
uint32 i2c_com_init(uint32 i2c_num);
|
|
|
|
void sys_peripheral_clk_init(void);
|
|
void sys_rcc_init(void);
|
|
void sys_gpio_init(void);
|
|
void sys_led_gpio_init(void);
|
|
void sys_key_gpio_init(void);
|
|
void sys_lcd_gpio_init(void);
|
|
void tuner_gpio_init(void);
|
|
uint32 get_uart_timer_num(void);
|
|
void run_led_ctl(void);
|
|
void sys_pvd_init(void);
|
|
void SoftwareUpdateBegin(void);
|
|
#if USE_DEBUG_UART
|
|
void debug_uart_init(void);
|
|
#endif
|
|
void tuner_config_power_on(void);
|
|
void tuner_config_power_reset(void);
|
|
|
|
void set_exc_reset(void);
|
|
|
|
void spi_fpga_send_buf(uint8 *puc,uint32 length);
|
|
void spi_fpga_com_init(void);
|
|
void spi_flash_com_init(void);
|
|
uint32 sys_get_dev_unique_id(void);
|
|
void spect_spi_read(uint32 len,void *pdata,uint32 restart);
|
|
extern uint8 g_ca_value;
|
|
#endif
|
|
|
|
|