forked from xuos/xiuos
Ubiquitous/RT_Thread/: add qsqpi flash support to stm32h743_openmv_h7plus
This commit is contained in:
parent
355669e402
commit
b521274b9f
|
@ -153,8 +153,8 @@ CONFIG_RT_DFS_ELM_MAX_SECTOR_SIZE=4096
|
||||||
CONFIG_RT_DFS_ELM_REENTRANT=y
|
CONFIG_RT_DFS_ELM_REENTRANT=y
|
||||||
CONFIG_RT_DFS_ELM_MUTEX_TIMEOUT=3000
|
CONFIG_RT_DFS_ELM_MUTEX_TIMEOUT=3000
|
||||||
CONFIG_RT_USING_DFS_DEVFS=y
|
CONFIG_RT_USING_DFS_DEVFS=y
|
||||||
CONFIG_RT_USING_DFS_ROMFS=y
|
# CONFIG_RT_USING_DFS_ROMFS is not set
|
||||||
# CONFIG_RT_USING_DFS_RAMFS is not set
|
CONFIG_RT_USING_DFS_RAMFS=y
|
||||||
|
|
||||||
#
|
#
|
||||||
# Device Drivers
|
# Device Drivers
|
||||||
|
@ -180,8 +180,24 @@ CONFIG_RT_USING_PIN=y
|
||||||
# CONFIG_RT_USING_MTD_NAND is not set
|
# CONFIG_RT_USING_MTD_NAND is not set
|
||||||
# CONFIG_RT_USING_PM is not set
|
# CONFIG_RT_USING_PM is not set
|
||||||
# CONFIG_RT_USING_RTC is not set
|
# CONFIG_RT_USING_RTC is not set
|
||||||
# CONFIG_RT_USING_SDIO is not set
|
CONFIG_RT_USING_SDIO=y
|
||||||
# CONFIG_RT_USING_SPI is not set
|
CONFIG_RT_SDIO_STACK_SIZE=512
|
||||||
|
CONFIG_RT_SDIO_THREAD_PRIORITY=15
|
||||||
|
CONFIG_RT_MMCSD_STACK_SIZE=1024
|
||||||
|
CONFIG_RT_MMCSD_THREAD_PREORITY=22
|
||||||
|
CONFIG_RT_MMCSD_MAX_PARTITION=16
|
||||||
|
# CONFIG_RT_SDIO_DEBUG is not set
|
||||||
|
CONFIG_RT_USING_SPI=y
|
||||||
|
CONFIG_RT_USING_QSPI=y
|
||||||
|
# CONFIG_RT_USING_SPI_MSD is not set
|
||||||
|
CONFIG_RT_USING_SFUD=y
|
||||||
|
CONFIG_RT_SFUD_USING_SFDP=y
|
||||||
|
CONFIG_RT_SFUD_USING_FLASH_INFO_TABLE=y
|
||||||
|
CONFIG_RT_SFUD_USING_QSPI=y
|
||||||
|
CONFIG_RT_SFUD_SPI_MAX_HZ=50000000
|
||||||
|
# CONFIG_RT_DEBUG_SFUD is not set
|
||||||
|
# CONFIG_RT_USING_ENC28J60 is not set
|
||||||
|
# CONFIG_RT_USING_SPI_WIFI is not set
|
||||||
# CONFIG_RT_USING_WDT is not set
|
# CONFIG_RT_USING_WDT is not set
|
||||||
# CONFIG_RT_USING_AUDIO is not set
|
# CONFIG_RT_USING_AUDIO is not set
|
||||||
# CONFIG_RT_USING_SENSOR is not set
|
# CONFIG_RT_USING_SENSOR is not set
|
||||||
|
@ -272,11 +288,17 @@ CONFIG_BSP_USING_UART1=y
|
||||||
# CONFIG_BSP_UART1_RX_USING_DMA is not set
|
# CONFIG_BSP_UART1_RX_USING_DMA is not set
|
||||||
# CONFIG_BSP_USING_UART2 is not set
|
# CONFIG_BSP_USING_UART2 is not set
|
||||||
# CONFIG_BSP_USING_LPUART1 is not set
|
# CONFIG_BSP_USING_LPUART1 is not set
|
||||||
CONFIG_BSP_USING_SDRAM=y
|
CONFIG_BSP_USING_QSPI=y
|
||||||
# CONFIG_BSP_USING_CRC is not set
|
# CONFIG_BSP_USING_CRC is not set
|
||||||
# CONFIG_BSP_USING_RNG is not set
|
# CONFIG_BSP_USING_RNG is not set
|
||||||
# CONFIG_BSP_USING_UDID is not set
|
# CONFIG_BSP_USING_UDID is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Onboard Peripheral Drivers
|
||||||
|
#
|
||||||
|
CONFIG_BSP_USING_SDRAM=y
|
||||||
|
CONFIG_BSP_USING_QSPI_FLASH=y
|
||||||
|
|
||||||
#
|
#
|
||||||
# More Drivers
|
# More Drivers
|
||||||
#
|
#
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -49,6 +49,8 @@ extern "C" {
|
||||||
|
|
||||||
/* USER CODE END EM */
|
/* USER CODE END EM */
|
||||||
|
|
||||||
|
void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim);
|
||||||
|
|
||||||
/* Exported functions prototypes ---------------------------------------------*/
|
/* Exported functions prototypes ---------------------------------------------*/
|
||||||
void Error_Handler(void);
|
void Error_Handler(void);
|
||||||
|
|
||||||
|
@ -59,10 +61,6 @@ void Error_Handler(void);
|
||||||
/* Private defines -----------------------------------------------------------*/
|
/* Private defines -----------------------------------------------------------*/
|
||||||
#define LED_RED_Pin GPIO_PIN_0
|
#define LED_RED_Pin GPIO_PIN_0
|
||||||
#define LED_RED_GPIO_Port GPIOC
|
#define LED_RED_GPIO_Port GPIOC
|
||||||
#define LED_GREEN_Pin GPIO_PIN_1
|
|
||||||
#define LED_GREEN_GPIO_Port GPIOC
|
|
||||||
#define LED_BLUE_Pin GPIO_PIN_2
|
|
||||||
#define LED_BLUE_GPIO_Port GPIOC
|
|
||||||
/* USER CODE BEGIN Private defines */
|
/* USER CODE BEGIN Private defines */
|
||||||
|
|
||||||
/* USER CODE END Private defines */
|
/* USER CODE END Private defines */
|
||||||
|
|
|
@ -43,7 +43,7 @@
|
||||||
/* #define HAL_CRC_MODULE_ENABLED */
|
/* #define HAL_CRC_MODULE_ENABLED */
|
||||||
/* #define HAL_CRYP_MODULE_ENABLED */
|
/* #define HAL_CRYP_MODULE_ENABLED */
|
||||||
/* #define HAL_DAC_MODULE_ENABLED */
|
/* #define HAL_DAC_MODULE_ENABLED */
|
||||||
/* #define HAL_DCMI_MODULE_ENABLED */
|
#define HAL_DCMI_MODULE_ENABLED
|
||||||
/* #define HAL_DMA2D_MODULE_ENABLED */
|
/* #define HAL_DMA2D_MODULE_ENABLED */
|
||||||
/* #define HAL_ETH_MODULE_ENABLED */
|
/* #define HAL_ETH_MODULE_ENABLED */
|
||||||
/* #define HAL_NAND_MODULE_ENABLED */
|
/* #define HAL_NAND_MODULE_ENABLED */
|
||||||
|
@ -64,23 +64,23 @@
|
||||||
/* #define HAL_IWDG_MODULE_ENABLED */
|
/* #define HAL_IWDG_MODULE_ENABLED */
|
||||||
/* #define HAL_LPTIM_MODULE_ENABLED */
|
/* #define HAL_LPTIM_MODULE_ENABLED */
|
||||||
/* #define HAL_LTDC_MODULE_ENABLED */
|
/* #define HAL_LTDC_MODULE_ENABLED */
|
||||||
/* #define HAL_QSPI_MODULE_ENABLED */
|
#define HAL_QSPI_MODULE_ENABLED
|
||||||
/* #define HAL_RAMECC_MODULE_ENABLED */
|
/* #define HAL_RAMECC_MODULE_ENABLED */
|
||||||
/* #define HAL_RNG_MODULE_ENABLED */
|
/* #define HAL_RNG_MODULE_ENABLED */
|
||||||
/* #define HAL_RTC_MODULE_ENABLED */
|
#define HAL_RTC_MODULE_ENABLED
|
||||||
/* #define HAL_SAI_MODULE_ENABLED */
|
/* #define HAL_SAI_MODULE_ENABLED */
|
||||||
/* #define HAL_SD_MODULE_ENABLED */
|
#define HAL_SD_MODULE_ENABLED
|
||||||
/* #define HAL_MMC_MODULE_ENABLED */
|
/* #define HAL_MMC_MODULE_ENABLED */
|
||||||
/* #define HAL_SPDIFRX_MODULE_ENABLED */
|
/* #define HAL_SPDIFRX_MODULE_ENABLED */
|
||||||
/* #define HAL_SPI_MODULE_ENABLED */
|
/* #define HAL_SPI_MODULE_ENABLED */
|
||||||
/* #define HAL_SWPMI_MODULE_ENABLED */
|
/* #define HAL_SWPMI_MODULE_ENABLED */
|
||||||
/* #define HAL_TIM_MODULE_ENABLED */
|
#define HAL_TIM_MODULE_ENABLED
|
||||||
#define HAL_UART_MODULE_ENABLED
|
#define HAL_UART_MODULE_ENABLED
|
||||||
/* #define HAL_USART_MODULE_ENABLED */
|
/* #define HAL_USART_MODULE_ENABLED */
|
||||||
/* #define HAL_IRDA_MODULE_ENABLED */
|
/* #define HAL_IRDA_MODULE_ENABLED */
|
||||||
/* #define HAL_SMARTCARD_MODULE_ENABLED */
|
/* #define HAL_SMARTCARD_MODULE_ENABLED */
|
||||||
/* #define HAL_WWDG_MODULE_ENABLED */
|
/* #define HAL_WWDG_MODULE_ENABLED */
|
||||||
/* #define HAL_PCD_MODULE_ENABLED */
|
#define HAL_PCD_MODULE_ENABLED
|
||||||
/* #define HAL_HCD_MODULE_ENABLED */
|
/* #define HAL_HCD_MODULE_ENABLED */
|
||||||
/* #define HAL_DFSDM_MODULE_ENABLED */
|
/* #define HAL_DFSDM_MODULE_ENABLED */
|
||||||
/* #define HAL_DSI_MODULE_ENABLED */
|
/* #define HAL_DSI_MODULE_ENABLED */
|
||||||
|
@ -168,7 +168,7 @@
|
||||||
#define TICK_INT_PRIORITY (15UL) /*!< tick interrupt priority */
|
#define TICK_INT_PRIORITY (15UL) /*!< tick interrupt priority */
|
||||||
#define USE_RTOS 0
|
#define USE_RTOS 0
|
||||||
#define USE_SD_TRANSCEIVER 0U /*!< use uSD Transceiver */
|
#define USE_SD_TRANSCEIVER 0U /*!< use uSD Transceiver */
|
||||||
#define USE_SPI_CRC 0U /*!< use CRC in SPI */
|
#define USE_SPI_CRC 0U /*!< use CRC in SPI */
|
||||||
|
|
||||||
#define USE_HAL_ADC_REGISTER_CALLBACKS 0U /* ADC register callback disabled */
|
#define USE_HAL_ADC_REGISTER_CALLBACKS 0U /* ADC register callback disabled */
|
||||||
#define USE_HAL_CEC_REGISTER_CALLBACKS 0U /* CEC register callback disabled */
|
#define USE_HAL_CEC_REGISTER_CALLBACKS 0U /* CEC register callback disabled */
|
||||||
|
|
|
@ -55,6 +55,11 @@ void SVC_Handler(void);
|
||||||
void DebugMon_Handler(void);
|
void DebugMon_Handler(void);
|
||||||
void PendSV_Handler(void);
|
void PendSV_Handler(void);
|
||||||
void SysTick_Handler(void);
|
void SysTick_Handler(void);
|
||||||
|
void DMA1_Stream3_IRQHandler(void);
|
||||||
|
void SDMMC1_IRQHandler(void);
|
||||||
|
void DCMI_IRQHandler(void);
|
||||||
|
void OTG_FS_EP1_OUT_IRQHandler(void);
|
||||||
|
void OTG_FS_EP1_IN_IRQHandler(void);
|
||||||
/* USER CODE BEGIN EFP */
|
/* USER CODE BEGIN EFP */
|
||||||
|
|
||||||
/* USER CODE END EFP */
|
/* USER CODE END EFP */
|
||||||
|
|
|
@ -40,8 +40,21 @@
|
||||||
|
|
||||||
/* Private variables ---------------------------------------------------------*/
|
/* Private variables ---------------------------------------------------------*/
|
||||||
|
|
||||||
|
DCMI_HandleTypeDef hdcmi;
|
||||||
|
DMA_HandleTypeDef hdma_dcmi;
|
||||||
|
|
||||||
|
QSPI_HandleTypeDef hqspi;
|
||||||
|
|
||||||
|
RTC_HandleTypeDef hrtc;
|
||||||
|
|
||||||
|
SD_HandleTypeDef hsd1;
|
||||||
|
|
||||||
|
TIM_HandleTypeDef htim1;
|
||||||
|
|
||||||
UART_HandleTypeDef huart1;
|
UART_HandleTypeDef huart1;
|
||||||
|
|
||||||
|
PCD_HandleTypeDef hpcd_USB_OTG_FS;
|
||||||
|
|
||||||
SDRAM_HandleTypeDef hsdram1;
|
SDRAM_HandleTypeDef hsdram1;
|
||||||
|
|
||||||
/* USER CODE BEGIN PV */
|
/* USER CODE BEGIN PV */
|
||||||
|
@ -53,6 +66,13 @@ void SystemClock_Config(void);
|
||||||
static void MX_GPIO_Init(void);
|
static void MX_GPIO_Init(void);
|
||||||
static void MX_USART1_UART_Init(void);
|
static void MX_USART1_UART_Init(void);
|
||||||
static void MX_FMC_Init(void);
|
static void MX_FMC_Init(void);
|
||||||
|
static void MX_QUADSPI_Init(void);
|
||||||
|
static void MX_SDMMC1_SD_Init(void);
|
||||||
|
static void MX_DMA_Init(void);
|
||||||
|
static void MX_RTC_Init(void);
|
||||||
|
static void MX_DCMI_Init(void);
|
||||||
|
static void MX_USB_OTG_FS_PCD_Init(void);
|
||||||
|
static void MX_TIM1_Init(void);
|
||||||
/* USER CODE BEGIN PFP */
|
/* USER CODE BEGIN PFP */
|
||||||
|
|
||||||
/* USER CODE END PFP */
|
/* USER CODE END PFP */
|
||||||
|
@ -72,6 +92,12 @@ int main(void)
|
||||||
|
|
||||||
/* USER CODE END 1 */
|
/* USER CODE END 1 */
|
||||||
|
|
||||||
|
/* Enable I-Cache---------------------------------------------------------*/
|
||||||
|
SCB_EnableICache();
|
||||||
|
|
||||||
|
/* Enable D-Cache---------------------------------------------------------*/
|
||||||
|
SCB_EnableDCache();
|
||||||
|
|
||||||
/* MCU Configuration--------------------------------------------------------*/
|
/* MCU Configuration--------------------------------------------------------*/
|
||||||
|
|
||||||
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
|
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
|
||||||
|
@ -92,6 +118,13 @@ int main(void)
|
||||||
MX_GPIO_Init();
|
MX_GPIO_Init();
|
||||||
MX_USART1_UART_Init();
|
MX_USART1_UART_Init();
|
||||||
MX_FMC_Init();
|
MX_FMC_Init();
|
||||||
|
MX_QUADSPI_Init();
|
||||||
|
MX_SDMMC1_SD_Init();
|
||||||
|
MX_DMA_Init();
|
||||||
|
MX_RTC_Init();
|
||||||
|
MX_DCMI_Init();
|
||||||
|
MX_USB_OTG_FS_PCD_Init();
|
||||||
|
MX_TIM1_Init();
|
||||||
/* USER CODE BEGIN 2 */
|
/* USER CODE BEGIN 2 */
|
||||||
|
|
||||||
/* USER CODE END 2 */
|
/* USER CODE END 2 */
|
||||||
|
@ -119,24 +152,25 @@ void SystemClock_Config(void)
|
||||||
/** Supply configuration update enable
|
/** Supply configuration update enable
|
||||||
*/
|
*/
|
||||||
HAL_PWREx_ConfigSupply(PWR_LDO_SUPPLY);
|
HAL_PWREx_ConfigSupply(PWR_LDO_SUPPLY);
|
||||||
|
|
||||||
/** Configure the main internal regulator output voltage
|
/** Configure the main internal regulator output voltage
|
||||||
*/
|
*/
|
||||||
__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
|
__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
|
||||||
|
|
||||||
while(!__HAL_PWR_GET_FLAG(PWR_FLAG_VOSRDY)) {}
|
while(!__HAL_PWR_GET_FLAG(PWR_FLAG_VOSRDY)) {}
|
||||||
|
|
||||||
/** Initializes the RCC Oscillators according to the specified parameters
|
/** Initializes the RCC Oscillators according to the specified parameters
|
||||||
* in the RCC_OscInitTypeDef structure.
|
* in the RCC_OscInitTypeDef structure.
|
||||||
*/
|
*/
|
||||||
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
|
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI48|RCC_OSCILLATORTYPE_LSI
|
||||||
|
|RCC_OSCILLATORTYPE_HSE;
|
||||||
RCC_OscInitStruct.HSEState = RCC_HSE_ON;
|
RCC_OscInitStruct.HSEState = RCC_HSE_ON;
|
||||||
|
RCC_OscInitStruct.LSIState = RCC_LSI_ON;
|
||||||
|
RCC_OscInitStruct.HSI48State = RCC_HSI48_ON;
|
||||||
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
|
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
|
||||||
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
|
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
|
||||||
RCC_OscInitStruct.PLL.PLLM = 3;
|
RCC_OscInitStruct.PLL.PLLM = 3;
|
||||||
RCC_OscInitStruct.PLL.PLLN = 200;
|
RCC_OscInitStruct.PLL.PLLN = 200;
|
||||||
RCC_OscInitStruct.PLL.PLLP = 2;
|
RCC_OscInitStruct.PLL.PLLP = 2;
|
||||||
RCC_OscInitStruct.PLL.PLLQ = 2;
|
RCC_OscInitStruct.PLL.PLLQ = 4;
|
||||||
RCC_OscInitStruct.PLL.PLLR = 2;
|
RCC_OscInitStruct.PLL.PLLR = 2;
|
||||||
RCC_OscInitStruct.PLL.PLLRGE = RCC_PLL1VCIRANGE_2;
|
RCC_OscInitStruct.PLL.PLLRGE = RCC_PLL1VCIRANGE_2;
|
||||||
RCC_OscInitStruct.PLL.PLLVCOSEL = RCC_PLL1VCOWIDE;
|
RCC_OscInitStruct.PLL.PLLVCOSEL = RCC_PLL1VCOWIDE;
|
||||||
|
@ -145,7 +179,6 @@ void SystemClock_Config(void)
|
||||||
{
|
{
|
||||||
Error_Handler();
|
Error_Handler();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Initializes the CPU, AHB and APB buses clocks
|
/** Initializes the CPU, AHB and APB buses clocks
|
||||||
*/
|
*/
|
||||||
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
|
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
|
||||||
|
@ -165,6 +198,242 @@ void SystemClock_Config(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief DCMI Initialization Function
|
||||||
|
* @param None
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
static void MX_DCMI_Init(void)
|
||||||
|
{
|
||||||
|
|
||||||
|
/* USER CODE BEGIN DCMI_Init 0 */
|
||||||
|
|
||||||
|
/* USER CODE END DCMI_Init 0 */
|
||||||
|
|
||||||
|
/* USER CODE BEGIN DCMI_Init 1 */
|
||||||
|
|
||||||
|
/* USER CODE END DCMI_Init 1 */
|
||||||
|
hdcmi.Instance = DCMI;
|
||||||
|
hdcmi.Init.SynchroMode = DCMI_SYNCHRO_HARDWARE;
|
||||||
|
hdcmi.Init.PCKPolarity = DCMI_PCKPOLARITY_FALLING;
|
||||||
|
hdcmi.Init.VSPolarity = DCMI_VSPOLARITY_LOW;
|
||||||
|
hdcmi.Init.HSPolarity = DCMI_HSPOLARITY_LOW;
|
||||||
|
hdcmi.Init.CaptureRate = DCMI_CR_ALL_FRAME;
|
||||||
|
hdcmi.Init.ExtendedDataMode = DCMI_EXTEND_DATA_8B;
|
||||||
|
hdcmi.Init.JPEGMode = DCMI_JPEG_ENABLE;
|
||||||
|
hdcmi.Init.ByteSelectMode = DCMI_BSM_ALL;
|
||||||
|
hdcmi.Init.ByteSelectStart = DCMI_OEBS_ODD;
|
||||||
|
hdcmi.Init.LineSelectMode = DCMI_LSM_ALL;
|
||||||
|
hdcmi.Init.LineSelectStart = DCMI_OELS_ODD;
|
||||||
|
if (HAL_DCMI_Init(&hdcmi) != HAL_OK)
|
||||||
|
{
|
||||||
|
Error_Handler();
|
||||||
|
}
|
||||||
|
/* USER CODE BEGIN DCMI_Init 2 */
|
||||||
|
|
||||||
|
/* USER CODE END DCMI_Init 2 */
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief QUADSPI Initialization Function
|
||||||
|
* @param None
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
static void MX_QUADSPI_Init(void)
|
||||||
|
{
|
||||||
|
|
||||||
|
/* USER CODE BEGIN QUADSPI_Init 0 */
|
||||||
|
|
||||||
|
/* USER CODE END QUADSPI_Init 0 */
|
||||||
|
|
||||||
|
/* USER CODE BEGIN QUADSPI_Init 1 */
|
||||||
|
|
||||||
|
/* USER CODE END QUADSPI_Init 1 */
|
||||||
|
/* QUADSPI parameter configuration*/
|
||||||
|
hqspi.Instance = QUADSPI;
|
||||||
|
hqspi.Init.ClockPrescaler = 1;
|
||||||
|
hqspi.Init.FifoThreshold = 3;
|
||||||
|
hqspi.Init.SampleShifting = QSPI_SAMPLE_SHIFTING_HALFCYCLE;
|
||||||
|
hqspi.Init.FlashSize = 24;
|
||||||
|
hqspi.Init.ChipSelectHighTime = QSPI_CS_HIGH_TIME_2_CYCLE;
|
||||||
|
hqspi.Init.ClockMode = QSPI_CLOCK_MODE_0;
|
||||||
|
hqspi.Init.FlashID = QSPI_FLASH_ID_1;
|
||||||
|
hqspi.Init.DualFlash = QSPI_DUALFLASH_DISABLE;
|
||||||
|
if (HAL_QSPI_Init(&hqspi) != HAL_OK)
|
||||||
|
{
|
||||||
|
Error_Handler();
|
||||||
|
}
|
||||||
|
/* USER CODE BEGIN QUADSPI_Init 2 */
|
||||||
|
|
||||||
|
/* USER CODE END QUADSPI_Init 2 */
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief RTC Initialization Function
|
||||||
|
* @param None
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
static void MX_RTC_Init(void)
|
||||||
|
{
|
||||||
|
|
||||||
|
/* USER CODE BEGIN RTC_Init 0 */
|
||||||
|
|
||||||
|
/* USER CODE END RTC_Init 0 */
|
||||||
|
|
||||||
|
RTC_TimeTypeDef sTime = {0};
|
||||||
|
RTC_DateTypeDef sDate = {0};
|
||||||
|
|
||||||
|
/* USER CODE BEGIN RTC_Init 1 */
|
||||||
|
|
||||||
|
/* USER CODE END RTC_Init 1 */
|
||||||
|
/** Initialize RTC Only
|
||||||
|
*/
|
||||||
|
hrtc.Instance = RTC;
|
||||||
|
hrtc.Init.HourFormat = RTC_HOURFORMAT_24;
|
||||||
|
hrtc.Init.AsynchPrediv = 127;
|
||||||
|
hrtc.Init.SynchPrediv = 255;
|
||||||
|
hrtc.Init.OutPut = RTC_OUTPUT_DISABLE;
|
||||||
|
hrtc.Init.OutPutPolarity = RTC_OUTPUT_POLARITY_HIGH;
|
||||||
|
hrtc.Init.OutPutType = RTC_OUTPUT_TYPE_OPENDRAIN;
|
||||||
|
hrtc.Init.OutPutRemap = RTC_OUTPUT_REMAP_NONE;
|
||||||
|
if (HAL_RTC_Init(&hrtc) != HAL_OK)
|
||||||
|
{
|
||||||
|
Error_Handler();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* USER CODE BEGIN Check_RTC_BKUP */
|
||||||
|
|
||||||
|
/* USER CODE END Check_RTC_BKUP */
|
||||||
|
|
||||||
|
/** Initialize RTC and set the Time and Date
|
||||||
|
*/
|
||||||
|
sTime.Hours = 0x0;
|
||||||
|
sTime.Minutes = 0x0;
|
||||||
|
sTime.Seconds = 0x0;
|
||||||
|
sTime.DayLightSaving = RTC_DAYLIGHTSAVING_NONE;
|
||||||
|
sTime.StoreOperation = RTC_STOREOPERATION_RESET;
|
||||||
|
if (HAL_RTC_SetTime(&hrtc, &sTime, RTC_FORMAT_BCD) != HAL_OK)
|
||||||
|
{
|
||||||
|
Error_Handler();
|
||||||
|
}
|
||||||
|
sDate.WeekDay = RTC_WEEKDAY_MONDAY;
|
||||||
|
sDate.Month = RTC_MONTH_JANUARY;
|
||||||
|
sDate.Date = 0x1;
|
||||||
|
sDate.Year = 0x0;
|
||||||
|
|
||||||
|
if (HAL_RTC_SetDate(&hrtc, &sDate, RTC_FORMAT_BCD) != HAL_OK)
|
||||||
|
{
|
||||||
|
Error_Handler();
|
||||||
|
}
|
||||||
|
/* USER CODE BEGIN RTC_Init 2 */
|
||||||
|
|
||||||
|
/* USER CODE END RTC_Init 2 */
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief SDMMC1 Initialization Function
|
||||||
|
* @param None
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
static void MX_SDMMC1_SD_Init(void)
|
||||||
|
{
|
||||||
|
|
||||||
|
/* USER CODE BEGIN SDMMC1_Init 0 */
|
||||||
|
|
||||||
|
/* USER CODE END SDMMC1_Init 0 */
|
||||||
|
|
||||||
|
/* USER CODE BEGIN SDMMC1_Init 1 */
|
||||||
|
|
||||||
|
/* USER CODE END SDMMC1_Init 1 */
|
||||||
|
hsd1.Instance = SDMMC1;
|
||||||
|
hsd1.Init.ClockEdge = SDMMC_CLOCK_EDGE_RISING;
|
||||||
|
hsd1.Init.ClockPowerSave = SDMMC_CLOCK_POWER_SAVE_DISABLE;
|
||||||
|
hsd1.Init.BusWide = SDMMC_BUS_WIDE_4B;
|
||||||
|
hsd1.Init.HardwareFlowControl = SDMMC_HARDWARE_FLOW_CONTROL_DISABLE;
|
||||||
|
hsd1.Init.ClockDiv = 4;
|
||||||
|
if (HAL_SD_Init(&hsd1) != HAL_OK)
|
||||||
|
{
|
||||||
|
Error_Handler();
|
||||||
|
}
|
||||||
|
/* USER CODE BEGIN SDMMC1_Init 2 */
|
||||||
|
|
||||||
|
/* USER CODE END SDMMC1_Init 2 */
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief TIM1 Initialization Function
|
||||||
|
* @param None
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
static void MX_TIM1_Init(void)
|
||||||
|
{
|
||||||
|
|
||||||
|
/* USER CODE BEGIN TIM1_Init 0 */
|
||||||
|
|
||||||
|
/* USER CODE END TIM1_Init 0 */
|
||||||
|
|
||||||
|
TIM_MasterConfigTypeDef sMasterConfig = {0};
|
||||||
|
TIM_OC_InitTypeDef sConfigOC = {0};
|
||||||
|
TIM_BreakDeadTimeConfigTypeDef sBreakDeadTimeConfig = {0};
|
||||||
|
|
||||||
|
/* USER CODE BEGIN TIM1_Init 1 */
|
||||||
|
|
||||||
|
/* USER CODE END TIM1_Init 1 */
|
||||||
|
htim1.Instance = TIM1;
|
||||||
|
htim1.Init.Prescaler = 0;
|
||||||
|
htim1.Init.CounterMode = TIM_COUNTERMODE_UP;
|
||||||
|
htim1.Init.Period = 7;
|
||||||
|
htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
|
||||||
|
htim1.Init.RepetitionCounter = 0;
|
||||||
|
htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE;
|
||||||
|
if (HAL_TIM_PWM_Init(&htim1) != HAL_OK)
|
||||||
|
{
|
||||||
|
Error_Handler();
|
||||||
|
}
|
||||||
|
sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
|
||||||
|
sMasterConfig.MasterOutputTrigger2 = TIM_TRGO2_RESET;
|
||||||
|
sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
|
||||||
|
if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK)
|
||||||
|
{
|
||||||
|
Error_Handler();
|
||||||
|
}
|
||||||
|
sConfigOC.OCMode = TIM_OCMODE_PWM1;
|
||||||
|
sConfigOC.Pulse = 3;
|
||||||
|
sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
|
||||||
|
sConfigOC.OCNPolarity = TIM_OCNPOLARITY_HIGH;
|
||||||
|
sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
|
||||||
|
sConfigOC.OCIdleState = TIM_OCIDLESTATE_RESET;
|
||||||
|
sConfigOC.OCNIdleState = TIM_OCNIDLESTATE_RESET;
|
||||||
|
if (HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_1) != HAL_OK)
|
||||||
|
{
|
||||||
|
Error_Handler();
|
||||||
|
}
|
||||||
|
sBreakDeadTimeConfig.OffStateRunMode = TIM_OSSR_DISABLE;
|
||||||
|
sBreakDeadTimeConfig.OffStateIDLEMode = TIM_OSSI_DISABLE;
|
||||||
|
sBreakDeadTimeConfig.LockLevel = TIM_LOCKLEVEL_OFF;
|
||||||
|
sBreakDeadTimeConfig.DeadTime = 0;
|
||||||
|
sBreakDeadTimeConfig.BreakState = TIM_BREAK_DISABLE;
|
||||||
|
sBreakDeadTimeConfig.BreakPolarity = TIM_BREAKPOLARITY_HIGH;
|
||||||
|
sBreakDeadTimeConfig.BreakFilter = 0;
|
||||||
|
sBreakDeadTimeConfig.Break2State = TIM_BREAK2_DISABLE;
|
||||||
|
sBreakDeadTimeConfig.Break2Polarity = TIM_BREAK2POLARITY_HIGH;
|
||||||
|
sBreakDeadTimeConfig.Break2Filter = 0;
|
||||||
|
sBreakDeadTimeConfig.AutomaticOutput = TIM_AUTOMATICOUTPUT_DISABLE;
|
||||||
|
if (HAL_TIMEx_ConfigBreakDeadTime(&htim1, &sBreakDeadTimeConfig) != HAL_OK)
|
||||||
|
{
|
||||||
|
Error_Handler();
|
||||||
|
}
|
||||||
|
/* USER CODE BEGIN TIM1_Init 2 */
|
||||||
|
|
||||||
|
/* USER CODE END TIM1_Init 2 */
|
||||||
|
HAL_TIM_MspPostInit(&htim1);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief USART1 Initialization Function
|
* @brief USART1 Initialization Function
|
||||||
* @param None
|
* @param None
|
||||||
|
@ -213,6 +482,58 @@ static void MX_USART1_UART_Init(void)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief USB_OTG_FS Initialization Function
|
||||||
|
* @param None
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
static void MX_USB_OTG_FS_PCD_Init(void)
|
||||||
|
{
|
||||||
|
|
||||||
|
/* USER CODE BEGIN USB_OTG_FS_Init 0 */
|
||||||
|
|
||||||
|
/* USER CODE END USB_OTG_FS_Init 0 */
|
||||||
|
|
||||||
|
/* USER CODE BEGIN USB_OTG_FS_Init 1 */
|
||||||
|
|
||||||
|
/* USER CODE END USB_OTG_FS_Init 1 */
|
||||||
|
hpcd_USB_OTG_FS.Instance = USB_OTG_FS;
|
||||||
|
hpcd_USB_OTG_FS.Init.dev_endpoints = 9;
|
||||||
|
hpcd_USB_OTG_FS.Init.speed = PCD_SPEED_FULL;
|
||||||
|
hpcd_USB_OTG_FS.Init.dma_enable = DISABLE;
|
||||||
|
hpcd_USB_OTG_FS.Init.phy_itface = PCD_PHY_EMBEDDED;
|
||||||
|
hpcd_USB_OTG_FS.Init.Sof_enable = DISABLE;
|
||||||
|
hpcd_USB_OTG_FS.Init.low_power_enable = DISABLE;
|
||||||
|
hpcd_USB_OTG_FS.Init.lpm_enable = DISABLE;
|
||||||
|
hpcd_USB_OTG_FS.Init.battery_charging_enable = DISABLE;
|
||||||
|
hpcd_USB_OTG_FS.Init.vbus_sensing_enable = DISABLE;
|
||||||
|
hpcd_USB_OTG_FS.Init.use_dedicated_ep1 = DISABLE;
|
||||||
|
if (HAL_PCD_Init(&hpcd_USB_OTG_FS) != HAL_OK)
|
||||||
|
{
|
||||||
|
Error_Handler();
|
||||||
|
}
|
||||||
|
/* USER CODE BEGIN USB_OTG_FS_Init 2 */
|
||||||
|
|
||||||
|
/* USER CODE END USB_OTG_FS_Init 2 */
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enable DMA controller clock
|
||||||
|
*/
|
||||||
|
static void MX_DMA_Init(void)
|
||||||
|
{
|
||||||
|
|
||||||
|
/* DMA controller clock enable */
|
||||||
|
__HAL_RCC_DMA1_CLK_ENABLE();
|
||||||
|
|
||||||
|
/* DMA interrupt init */
|
||||||
|
/* DMA1_Stream3_IRQn interrupt configuration */
|
||||||
|
HAL_NVIC_SetPriority(DMA1_Stream3_IRQn, 0, 0);
|
||||||
|
HAL_NVIC_EnableIRQ(DMA1_Stream3_IRQn);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/* FMC initialization function */
|
/* FMC initialization function */
|
||||||
static void MX_FMC_Init(void)
|
static void MX_FMC_Init(void)
|
||||||
{
|
{
|
||||||
|
@ -271,24 +592,24 @@ static void MX_GPIO_Init(void)
|
||||||
|
|
||||||
/* GPIO Ports Clock Enable */
|
/* GPIO Ports Clock Enable */
|
||||||
__HAL_RCC_GPIOE_CLK_ENABLE();
|
__HAL_RCC_GPIOE_CLK_ENABLE();
|
||||||
|
__HAL_RCC_GPIOC_CLK_ENABLE();
|
||||||
|
__HAL_RCC_GPIOB_CLK_ENABLE();
|
||||||
__HAL_RCC_GPIOG_CLK_ENABLE();
|
__HAL_RCC_GPIOG_CLK_ENABLE();
|
||||||
__HAL_RCC_GPIOD_CLK_ENABLE();
|
__HAL_RCC_GPIOD_CLK_ENABLE();
|
||||||
|
__HAL_RCC_GPIOA_CLK_ENABLE();
|
||||||
__HAL_RCC_GPIOI_CLK_ENABLE();
|
__HAL_RCC_GPIOI_CLK_ENABLE();
|
||||||
__HAL_RCC_GPIOH_CLK_ENABLE();
|
__HAL_RCC_GPIOH_CLK_ENABLE();
|
||||||
__HAL_RCC_GPIOF_CLK_ENABLE();
|
__HAL_RCC_GPIOF_CLK_ENABLE();
|
||||||
__HAL_RCC_GPIOC_CLK_ENABLE();
|
|
||||||
__HAL_RCC_GPIOA_CLK_ENABLE();
|
|
||||||
__HAL_RCC_GPIOB_CLK_ENABLE();
|
|
||||||
|
|
||||||
/*Configure GPIO pin Output Level */
|
/*Configure GPIO pin Output Level */
|
||||||
HAL_GPIO_WritePin(GPIOC, LED_RED_Pin|LED_GREEN_Pin|LED_BLUE_Pin, GPIO_PIN_RESET);
|
HAL_GPIO_WritePin(LED_RED_GPIO_Port, LED_RED_Pin, GPIO_PIN_RESET);
|
||||||
|
|
||||||
/*Configure GPIO pins : LED_RED_Pin LED_GREEN_Pin LED_BLUE_Pin */
|
/*Configure GPIO pin : LED_RED_Pin */
|
||||||
GPIO_InitStruct.Pin = LED_RED_Pin|LED_GREEN_Pin|LED_BLUE_Pin;
|
GPIO_InitStruct.Pin = LED_RED_Pin;
|
||||||
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
|
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
|
||||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
||||||
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
|
HAL_GPIO_Init(LED_RED_GPIO_Port, &GPIO_InitStruct);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -327,3 +648,4 @@ void assert_failed(uint8_t *file, uint32_t line)
|
||||||
/* USER CODE END 6 */
|
/* USER CODE END 6 */
|
||||||
}
|
}
|
||||||
#endif /* USE_FULL_ASSERT */
|
#endif /* USE_FULL_ASSERT */
|
||||||
|
|
||||||
|
|
|
@ -25,6 +25,7 @@
|
||||||
#include "drv_common.h"
|
#include "drv_common.h"
|
||||||
#endif
|
#endif
|
||||||
/* USER CODE END Includes */
|
/* USER CODE END Includes */
|
||||||
|
extern DMA_HandleTypeDef hdma_dcmi;
|
||||||
|
|
||||||
/* Private typedef -----------------------------------------------------------*/
|
/* Private typedef -----------------------------------------------------------*/
|
||||||
/* USER CODE BEGIN TD */
|
/* USER CODE BEGIN TD */
|
||||||
|
@ -59,7 +60,9 @@
|
||||||
/* USER CODE BEGIN 0 */
|
/* USER CODE BEGIN 0 */
|
||||||
|
|
||||||
/* USER CODE END 0 */
|
/* USER CODE END 0 */
|
||||||
/**
|
|
||||||
|
void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim);
|
||||||
|
/**
|
||||||
* Initializes the Global MSP.
|
* Initializes the Global MSP.
|
||||||
*/
|
*/
|
||||||
void HAL_MspInit(void)
|
void HAL_MspInit(void)
|
||||||
|
@ -77,6 +80,484 @@ void HAL_MspInit(void)
|
||||||
/* USER CODE END MspInit 1 */
|
/* USER CODE END MspInit 1 */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief DCMI MSP Initialization
|
||||||
|
* This function configures the hardware resources used in this example
|
||||||
|
* @param hdcmi: DCMI handle pointer
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
void HAL_DCMI_MspInit(DCMI_HandleTypeDef* hdcmi)
|
||||||
|
{
|
||||||
|
GPIO_InitTypeDef GPIO_InitStruct = {0};
|
||||||
|
if(hdcmi->Instance==DCMI)
|
||||||
|
{
|
||||||
|
/* USER CODE BEGIN DCMI_MspInit 0 */
|
||||||
|
|
||||||
|
/* USER CODE END DCMI_MspInit 0 */
|
||||||
|
/* Peripheral clock enable */
|
||||||
|
__HAL_RCC_DCMI_CLK_ENABLE();
|
||||||
|
|
||||||
|
__HAL_RCC_GPIOE_CLK_ENABLE();
|
||||||
|
__HAL_RCC_GPIOB_CLK_ENABLE();
|
||||||
|
__HAL_RCC_GPIOG_CLK_ENABLE();
|
||||||
|
__HAL_RCC_GPIOC_CLK_ENABLE();
|
||||||
|
__HAL_RCC_GPIOA_CLK_ENABLE();
|
||||||
|
/**DCMI GPIO Configuration
|
||||||
|
PE4 ------> DCMI_D4
|
||||||
|
PE5 ------> DCMI_D6
|
||||||
|
PE6 ------> DCMI_D7
|
||||||
|
PB7 ------> DCMI_VSYNC
|
||||||
|
PB6 ------> DCMI_D5
|
||||||
|
PG11 ------> DCMI_D3
|
||||||
|
PG10 ------> DCMI_D2
|
||||||
|
PC7 ------> DCMI_D1
|
||||||
|
PC6 ------> DCMI_D0
|
||||||
|
PA4 ------> DCMI_HSYNC
|
||||||
|
PA6 ------> DCMI_PIXCLK
|
||||||
|
*/
|
||||||
|
GPIO_InitStruct.Pin = GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6;
|
||||||
|
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||||
|
GPIO_InitStruct.Pull = GPIO_PULLUP;
|
||||||
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
|
||||||
|
GPIO_InitStruct.Alternate = GPIO_AF13_DCMI;
|
||||||
|
HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
|
||||||
|
|
||||||
|
GPIO_InitStruct.Pin = GPIO_PIN_7|GPIO_PIN_6;
|
||||||
|
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||||
|
GPIO_InitStruct.Pull = GPIO_PULLUP;
|
||||||
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
|
||||||
|
GPIO_InitStruct.Alternate = GPIO_AF13_DCMI;
|
||||||
|
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
||||||
|
|
||||||
|
GPIO_InitStruct.Pin = GPIO_PIN_11|GPIO_PIN_10;
|
||||||
|
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||||
|
GPIO_InitStruct.Pull = GPIO_PULLUP;
|
||||||
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
|
||||||
|
GPIO_InitStruct.Alternate = GPIO_AF13_DCMI;
|
||||||
|
HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
|
||||||
|
|
||||||
|
GPIO_InitStruct.Pin = GPIO_PIN_7|GPIO_PIN_6;
|
||||||
|
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||||
|
GPIO_InitStruct.Pull = GPIO_PULLUP;
|
||||||
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
|
||||||
|
GPIO_InitStruct.Alternate = GPIO_AF13_DCMI;
|
||||||
|
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
|
||||||
|
|
||||||
|
GPIO_InitStruct.Pin = GPIO_PIN_4|GPIO_PIN_6;
|
||||||
|
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||||
|
GPIO_InitStruct.Pull = GPIO_PULLUP;
|
||||||
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
|
||||||
|
GPIO_InitStruct.Alternate = GPIO_AF13_DCMI;
|
||||||
|
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
||||||
|
|
||||||
|
/* DCMI DMA Init */
|
||||||
|
/* DCMI Init */
|
||||||
|
hdma_dcmi.Instance = DMA1_Stream3;
|
||||||
|
hdma_dcmi.Init.Request = DMA_REQUEST_DCMI;
|
||||||
|
hdma_dcmi.Init.Direction = DMA_PERIPH_TO_MEMORY;
|
||||||
|
hdma_dcmi.Init.PeriphInc = DMA_PINC_DISABLE;
|
||||||
|
hdma_dcmi.Init.MemInc = DMA_MINC_ENABLE;
|
||||||
|
hdma_dcmi.Init.PeriphDataAlignment = DMA_PDATAALIGN_WORD;
|
||||||
|
hdma_dcmi.Init.MemDataAlignment = DMA_MDATAALIGN_WORD;
|
||||||
|
hdma_dcmi.Init.Mode = DMA_CIRCULAR;
|
||||||
|
hdma_dcmi.Init.Priority = DMA_PRIORITY_HIGH;
|
||||||
|
hdma_dcmi.Init.FIFOMode = DMA_FIFOMODE_ENABLE;
|
||||||
|
hdma_dcmi.Init.FIFOThreshold = DMA_FIFO_THRESHOLD_FULL;
|
||||||
|
hdma_dcmi.Init.MemBurst = DMA_MBURST_SINGLE;
|
||||||
|
hdma_dcmi.Init.PeriphBurst = DMA_PBURST_SINGLE;
|
||||||
|
if (HAL_DMA_Init(&hdma_dcmi) != HAL_OK)
|
||||||
|
{
|
||||||
|
Error_Handler();
|
||||||
|
}
|
||||||
|
|
||||||
|
__HAL_LINKDMA(hdcmi,DMA_Handle,hdma_dcmi);
|
||||||
|
|
||||||
|
/* DCMI interrupt Init */
|
||||||
|
HAL_NVIC_SetPriority(DCMI_IRQn, 0, 0);
|
||||||
|
HAL_NVIC_EnableIRQ(DCMI_IRQn);
|
||||||
|
/* USER CODE BEGIN DCMI_MspInit 1 */
|
||||||
|
|
||||||
|
/* USER CODE END DCMI_MspInit 1 */
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief DCMI MSP De-Initialization
|
||||||
|
* This function freeze the hardware resources used in this example
|
||||||
|
* @param hdcmi: DCMI handle pointer
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
void HAL_DCMI_MspDeInit(DCMI_HandleTypeDef* hdcmi)
|
||||||
|
{
|
||||||
|
if(hdcmi->Instance==DCMI)
|
||||||
|
{
|
||||||
|
/* USER CODE BEGIN DCMI_MspDeInit 0 */
|
||||||
|
|
||||||
|
/* USER CODE END DCMI_MspDeInit 0 */
|
||||||
|
/* Peripheral clock disable */
|
||||||
|
__HAL_RCC_DCMI_CLK_DISABLE();
|
||||||
|
|
||||||
|
/**DCMI GPIO Configuration
|
||||||
|
PE4 ------> DCMI_D4
|
||||||
|
PE5 ------> DCMI_D6
|
||||||
|
PE6 ------> DCMI_D7
|
||||||
|
PB7 ------> DCMI_VSYNC
|
||||||
|
PB6 ------> DCMI_D5
|
||||||
|
PG11 ------> DCMI_D3
|
||||||
|
PG10 ------> DCMI_D2
|
||||||
|
PC7 ------> DCMI_D1
|
||||||
|
PC6 ------> DCMI_D0
|
||||||
|
PA4 ------> DCMI_HSYNC
|
||||||
|
PA6 ------> DCMI_PIXCLK
|
||||||
|
*/
|
||||||
|
HAL_GPIO_DeInit(GPIOE, GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6);
|
||||||
|
|
||||||
|
HAL_GPIO_DeInit(GPIOB, GPIO_PIN_7|GPIO_PIN_6);
|
||||||
|
|
||||||
|
HAL_GPIO_DeInit(GPIOG, GPIO_PIN_11|GPIO_PIN_10);
|
||||||
|
|
||||||
|
HAL_GPIO_DeInit(GPIOC, GPIO_PIN_7|GPIO_PIN_6);
|
||||||
|
|
||||||
|
HAL_GPIO_DeInit(GPIOA, GPIO_PIN_4|GPIO_PIN_6);
|
||||||
|
|
||||||
|
/* DCMI DMA DeInit */
|
||||||
|
HAL_DMA_DeInit(hdcmi->DMA_Handle);
|
||||||
|
|
||||||
|
/* DCMI interrupt DeInit */
|
||||||
|
HAL_NVIC_DisableIRQ(DCMI_IRQn);
|
||||||
|
/* USER CODE BEGIN DCMI_MspDeInit 1 */
|
||||||
|
|
||||||
|
/* USER CODE END DCMI_MspDeInit 1 */
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief QSPI MSP Initialization
|
||||||
|
* This function configures the hardware resources used in this example
|
||||||
|
* @param hqspi: QSPI handle pointer
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
void HAL_QSPI_MspInit(QSPI_HandleTypeDef* hqspi)
|
||||||
|
{
|
||||||
|
GPIO_InitTypeDef GPIO_InitStruct = {0};
|
||||||
|
RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
|
||||||
|
if(hqspi->Instance==QUADSPI)
|
||||||
|
{
|
||||||
|
/* USER CODE BEGIN QUADSPI_MspInit 0 */
|
||||||
|
|
||||||
|
/* USER CODE END QUADSPI_MspInit 0 */
|
||||||
|
/** Initializes the peripherals clock
|
||||||
|
*/
|
||||||
|
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_QSPI;
|
||||||
|
PeriphClkInitStruct.QspiClockSelection = RCC_QSPICLKSOURCE_D1HCLK;
|
||||||
|
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
|
||||||
|
{
|
||||||
|
Error_Handler();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Peripheral clock enable */
|
||||||
|
__HAL_RCC_QSPI_CLK_ENABLE();
|
||||||
|
|
||||||
|
__HAL_RCC_GPIOG_CLK_ENABLE();
|
||||||
|
__HAL_RCC_GPIOF_CLK_ENABLE();
|
||||||
|
/**QUADSPI GPIO Configuration
|
||||||
|
PG6 ------> QUADSPI_BK1_NCS
|
||||||
|
PF7 ------> QUADSPI_BK1_IO2
|
||||||
|
PF6 ------> QUADSPI_BK1_IO3
|
||||||
|
PF10 ------> QUADSPI_CLK
|
||||||
|
PF9 ------> QUADSPI_BK1_IO1
|
||||||
|
PF8 ------> QUADSPI_BK1_IO0
|
||||||
|
*/
|
||||||
|
GPIO_InitStruct.Pin = GPIO_PIN_6;
|
||||||
|
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||||
|
GPIO_InitStruct.Pull = GPIO_PULLUP;
|
||||||
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
||||||
|
GPIO_InitStruct.Alternate = GPIO_AF10_QUADSPI;
|
||||||
|
HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
|
||||||
|
|
||||||
|
GPIO_InitStruct.Pin = GPIO_PIN_7|GPIO_PIN_6|GPIO_PIN_10;
|
||||||
|
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||||
|
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||||
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
|
||||||
|
GPIO_InitStruct.Alternate = GPIO_AF9_QUADSPI;
|
||||||
|
HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
|
||||||
|
|
||||||
|
GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_8;
|
||||||
|
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||||
|
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||||
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
|
||||||
|
GPIO_InitStruct.Alternate = GPIO_AF10_QUADSPI;
|
||||||
|
HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
|
||||||
|
|
||||||
|
/* USER CODE BEGIN QUADSPI_MspInit 1 */
|
||||||
|
|
||||||
|
/* USER CODE END QUADSPI_MspInit 1 */
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief QSPI MSP De-Initialization
|
||||||
|
* This function freeze the hardware resources used in this example
|
||||||
|
* @param hqspi: QSPI handle pointer
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
void HAL_QSPI_MspDeInit(QSPI_HandleTypeDef* hqspi)
|
||||||
|
{
|
||||||
|
if(hqspi->Instance==QUADSPI)
|
||||||
|
{
|
||||||
|
/* USER CODE BEGIN QUADSPI_MspDeInit 0 */
|
||||||
|
|
||||||
|
/* USER CODE END QUADSPI_MspDeInit 0 */
|
||||||
|
/* Peripheral clock disable */
|
||||||
|
__HAL_RCC_QSPI_CLK_DISABLE();
|
||||||
|
|
||||||
|
/**QUADSPI GPIO Configuration
|
||||||
|
PG6 ------> QUADSPI_BK1_NCS
|
||||||
|
PF7 ------> QUADSPI_BK1_IO2
|
||||||
|
PF6 ------> QUADSPI_BK1_IO3
|
||||||
|
PF10 ------> QUADSPI_CLK
|
||||||
|
PF9 ------> QUADSPI_BK1_IO1
|
||||||
|
PF8 ------> QUADSPI_BK1_IO0
|
||||||
|
*/
|
||||||
|
HAL_GPIO_DeInit(GPIOG, GPIO_PIN_6);
|
||||||
|
|
||||||
|
HAL_GPIO_DeInit(GPIOF, GPIO_PIN_7|GPIO_PIN_6|GPIO_PIN_10|GPIO_PIN_9
|
||||||
|
|GPIO_PIN_8);
|
||||||
|
|
||||||
|
/* USER CODE BEGIN QUADSPI_MspDeInit 1 */
|
||||||
|
|
||||||
|
/* USER CODE END QUADSPI_MspDeInit 1 */
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief RTC MSP Initialization
|
||||||
|
* This function configures the hardware resources used in this example
|
||||||
|
* @param hrtc: RTC handle pointer
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
void HAL_RTC_MspInit(RTC_HandleTypeDef* hrtc)
|
||||||
|
{
|
||||||
|
RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
|
||||||
|
if(hrtc->Instance==RTC)
|
||||||
|
{
|
||||||
|
/* USER CODE BEGIN RTC_MspInit 0 */
|
||||||
|
|
||||||
|
/* USER CODE END RTC_MspInit 0 */
|
||||||
|
/** Initializes the peripherals clock
|
||||||
|
*/
|
||||||
|
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_RTC;
|
||||||
|
PeriphClkInitStruct.RTCClockSelection = RCC_RTCCLKSOURCE_LSI;
|
||||||
|
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
|
||||||
|
{
|
||||||
|
Error_Handler();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Peripheral clock enable */
|
||||||
|
__HAL_RCC_RTC_ENABLE();
|
||||||
|
/* USER CODE BEGIN RTC_MspInit 1 */
|
||||||
|
|
||||||
|
/* USER CODE END RTC_MspInit 1 */
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief RTC MSP De-Initialization
|
||||||
|
* This function freeze the hardware resources used in this example
|
||||||
|
* @param hrtc: RTC handle pointer
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
void HAL_RTC_MspDeInit(RTC_HandleTypeDef* hrtc)
|
||||||
|
{
|
||||||
|
if(hrtc->Instance==RTC)
|
||||||
|
{
|
||||||
|
/* USER CODE BEGIN RTC_MspDeInit 0 */
|
||||||
|
|
||||||
|
/* USER CODE END RTC_MspDeInit 0 */
|
||||||
|
/* Peripheral clock disable */
|
||||||
|
__HAL_RCC_RTC_DISABLE();
|
||||||
|
/* USER CODE BEGIN RTC_MspDeInit 1 */
|
||||||
|
|
||||||
|
/* USER CODE END RTC_MspDeInit 1 */
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief SD MSP Initialization
|
||||||
|
* This function configures the hardware resources used in this example
|
||||||
|
* @param hsd: SD handle pointer
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
void HAL_SD_MspInit(SD_HandleTypeDef* hsd)
|
||||||
|
{
|
||||||
|
GPIO_InitTypeDef GPIO_InitStruct = {0};
|
||||||
|
RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
|
||||||
|
if(hsd->Instance==SDMMC1)
|
||||||
|
{
|
||||||
|
/* USER CODE BEGIN SDMMC1_MspInit 0 */
|
||||||
|
|
||||||
|
/* USER CODE END SDMMC1_MspInit 0 */
|
||||||
|
/** Initializes the peripherals clock
|
||||||
|
*/
|
||||||
|
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SDMMC;
|
||||||
|
PeriphClkInitStruct.SdmmcClockSelection = RCC_SDMMCCLKSOURCE_PLL;
|
||||||
|
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
|
||||||
|
{
|
||||||
|
Error_Handler();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Peripheral clock enable */
|
||||||
|
__HAL_RCC_SDMMC1_CLK_ENABLE();
|
||||||
|
|
||||||
|
__HAL_RCC_GPIOC_CLK_ENABLE();
|
||||||
|
__HAL_RCC_GPIOD_CLK_ENABLE();
|
||||||
|
/**SDMMC1 GPIO Configuration
|
||||||
|
PC12 ------> SDMMC1_CK
|
||||||
|
PC11 ------> SDMMC1_D3
|
||||||
|
PC10 ------> SDMMC1_D2
|
||||||
|
PD2 ------> SDMMC1_CMD
|
||||||
|
PC9 ------> SDMMC1_D1
|
||||||
|
PC8 ------> SDMMC1_D0
|
||||||
|
*/
|
||||||
|
GPIO_InitStruct.Pin = GPIO_PIN_12|GPIO_PIN_11|GPIO_PIN_10|GPIO_PIN_9
|
||||||
|
|GPIO_PIN_8;
|
||||||
|
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||||
|
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||||
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
|
||||||
|
GPIO_InitStruct.Alternate = GPIO_AF12_SDIO1;
|
||||||
|
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
|
||||||
|
|
||||||
|
GPIO_InitStruct.Pin = GPIO_PIN_2;
|
||||||
|
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||||
|
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||||
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
|
||||||
|
GPIO_InitStruct.Alternate = GPIO_AF12_SDIO1;
|
||||||
|
HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
|
||||||
|
|
||||||
|
/* SDMMC1 interrupt Init */
|
||||||
|
HAL_NVIC_SetPriority(SDMMC1_IRQn, 0, 0);
|
||||||
|
HAL_NVIC_EnableIRQ(SDMMC1_IRQn);
|
||||||
|
/* USER CODE BEGIN SDMMC1_MspInit 1 */
|
||||||
|
|
||||||
|
/* USER CODE END SDMMC1_MspInit 1 */
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief SD MSP De-Initialization
|
||||||
|
* This function freeze the hardware resources used in this example
|
||||||
|
* @param hsd: SD handle pointer
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
void HAL_SD_MspDeInit(SD_HandleTypeDef* hsd)
|
||||||
|
{
|
||||||
|
if(hsd->Instance==SDMMC1)
|
||||||
|
{
|
||||||
|
/* USER CODE BEGIN SDMMC1_MspDeInit 0 */
|
||||||
|
|
||||||
|
/* USER CODE END SDMMC1_MspDeInit 0 */
|
||||||
|
/* Peripheral clock disable */
|
||||||
|
__HAL_RCC_SDMMC1_CLK_DISABLE();
|
||||||
|
|
||||||
|
/**SDMMC1 GPIO Configuration
|
||||||
|
PC12 ------> SDMMC1_CK
|
||||||
|
PC11 ------> SDMMC1_D3
|
||||||
|
PC10 ------> SDMMC1_D2
|
||||||
|
PD2 ------> SDMMC1_CMD
|
||||||
|
PC9 ------> SDMMC1_D1
|
||||||
|
PC8 ------> SDMMC1_D0
|
||||||
|
*/
|
||||||
|
HAL_GPIO_DeInit(GPIOC, GPIO_PIN_12|GPIO_PIN_11|GPIO_PIN_10|GPIO_PIN_9
|
||||||
|
|GPIO_PIN_8);
|
||||||
|
|
||||||
|
HAL_GPIO_DeInit(GPIOD, GPIO_PIN_2);
|
||||||
|
|
||||||
|
/* SDMMC1 interrupt DeInit */
|
||||||
|
HAL_NVIC_DisableIRQ(SDMMC1_IRQn);
|
||||||
|
/* USER CODE BEGIN SDMMC1_MspDeInit 1 */
|
||||||
|
|
||||||
|
/* USER CODE END SDMMC1_MspDeInit 1 */
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief TIM_PWM MSP Initialization
|
||||||
|
* This function configures the hardware resources used in this example
|
||||||
|
* @param htim_pwm: TIM_PWM handle pointer
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef* htim_pwm)
|
||||||
|
{
|
||||||
|
if(htim_pwm->Instance==TIM1)
|
||||||
|
{
|
||||||
|
/* USER CODE BEGIN TIM1_MspInit 0 */
|
||||||
|
|
||||||
|
/* USER CODE END TIM1_MspInit 0 */
|
||||||
|
/* Peripheral clock enable */
|
||||||
|
__HAL_RCC_TIM1_CLK_ENABLE();
|
||||||
|
/* USER CODE BEGIN TIM1_MspInit 1 */
|
||||||
|
|
||||||
|
/* USER CODE END TIM1_MspInit 1 */
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim)
|
||||||
|
{
|
||||||
|
GPIO_InitTypeDef GPIO_InitStruct = {0};
|
||||||
|
if(htim->Instance==TIM1)
|
||||||
|
{
|
||||||
|
/* USER CODE BEGIN TIM1_MspPostInit 0 */
|
||||||
|
|
||||||
|
/* USER CODE END TIM1_MspPostInit 0 */
|
||||||
|
|
||||||
|
__HAL_RCC_GPIOA_CLK_ENABLE();
|
||||||
|
/**TIM1 GPIO Configuration
|
||||||
|
PA8 ------> TIM1_CH1
|
||||||
|
*/
|
||||||
|
GPIO_InitStruct.Pin = GPIO_PIN_8;
|
||||||
|
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||||
|
GPIO_InitStruct.Pull = GPIO_PULLUP;
|
||||||
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
|
||||||
|
GPIO_InitStruct.Alternate = GPIO_AF1_TIM1;
|
||||||
|
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
||||||
|
|
||||||
|
/* USER CODE BEGIN TIM1_MspPostInit 1 */
|
||||||
|
|
||||||
|
/* USER CODE END TIM1_MspPostInit 1 */
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @brief TIM_PWM MSP De-Initialization
|
||||||
|
* This function freeze the hardware resources used in this example
|
||||||
|
* @param htim_pwm: TIM_PWM handle pointer
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
void HAL_TIM_PWM_MspDeInit(TIM_HandleTypeDef* htim_pwm)
|
||||||
|
{
|
||||||
|
if(htim_pwm->Instance==TIM1)
|
||||||
|
{
|
||||||
|
/* USER CODE BEGIN TIM1_MspDeInit 0 */
|
||||||
|
|
||||||
|
/* USER CODE END TIM1_MspDeInit 0 */
|
||||||
|
/* Peripheral clock disable */
|
||||||
|
__HAL_RCC_TIM1_CLK_DISABLE();
|
||||||
|
/* USER CODE BEGIN TIM1_MspDeInit 1 */
|
||||||
|
|
||||||
|
/* USER CODE END TIM1_MspDeInit 1 */
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief UART MSP Initialization
|
* @brief UART MSP Initialization
|
||||||
* This function configures the hardware resources used in this example
|
* This function configures the hardware resources used in this example
|
||||||
|
@ -92,7 +573,6 @@ void HAL_UART_MspInit(UART_HandleTypeDef* huart)
|
||||||
/* USER CODE BEGIN USART1_MspInit 0 */
|
/* USER CODE BEGIN USART1_MspInit 0 */
|
||||||
|
|
||||||
/* USER CODE END USART1_MspInit 0 */
|
/* USER CODE END USART1_MspInit 0 */
|
||||||
|
|
||||||
/** Initializes the peripherals clock
|
/** Initializes the peripherals clock
|
||||||
*/
|
*/
|
||||||
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USART1;
|
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USART1;
|
||||||
|
@ -153,6 +633,91 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief PCD MSP Initialization
|
||||||
|
* This function configures the hardware resources used in this example
|
||||||
|
* @param hpcd: PCD handle pointer
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
void HAL_PCD_MspInit(PCD_HandleTypeDef* hpcd)
|
||||||
|
{
|
||||||
|
GPIO_InitTypeDef GPIO_InitStruct = {0};
|
||||||
|
RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
|
||||||
|
if(hpcd->Instance==USB_OTG_FS)
|
||||||
|
{
|
||||||
|
/* USER CODE BEGIN USB_OTG_FS_MspInit 0 */
|
||||||
|
|
||||||
|
/* USER CODE END USB_OTG_FS_MspInit 0 */
|
||||||
|
/** Initializes the peripherals clock
|
||||||
|
*/
|
||||||
|
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USB;
|
||||||
|
PeriphClkInitStruct.UsbClockSelection = RCC_USBCLKSOURCE_HSI48;
|
||||||
|
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
|
||||||
|
{
|
||||||
|
Error_Handler();
|
||||||
|
}
|
||||||
|
/** Enable USB Voltage detector
|
||||||
|
*/
|
||||||
|
HAL_PWREx_EnableUSBVoltageDetector();
|
||||||
|
|
||||||
|
__HAL_RCC_GPIOA_CLK_ENABLE();
|
||||||
|
/**USB_OTG_FS GPIO Configuration
|
||||||
|
PA12 ------> USB_OTG_FS_DP
|
||||||
|
PA11 ------> USB_OTG_FS_DM
|
||||||
|
*/
|
||||||
|
GPIO_InitStruct.Pin = GPIO_PIN_12|GPIO_PIN_11;
|
||||||
|
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||||
|
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||||
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
|
||||||
|
GPIO_InitStruct.Alternate = GPIO_AF10_OTG1_FS;
|
||||||
|
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
||||||
|
|
||||||
|
/* Peripheral clock enable */
|
||||||
|
__HAL_RCC_USB_OTG_FS_CLK_ENABLE();
|
||||||
|
/* USB_OTG_FS interrupt Init */
|
||||||
|
HAL_NVIC_SetPriority(OTG_FS_EP1_OUT_IRQn, 0, 0);
|
||||||
|
HAL_NVIC_EnableIRQ(OTG_FS_EP1_OUT_IRQn);
|
||||||
|
HAL_NVIC_SetPriority(OTG_FS_EP1_IN_IRQn, 0, 0);
|
||||||
|
HAL_NVIC_EnableIRQ(OTG_FS_EP1_IN_IRQn);
|
||||||
|
/* USER CODE BEGIN USB_OTG_FS_MspInit 1 */
|
||||||
|
|
||||||
|
/* USER CODE END USB_OTG_FS_MspInit 1 */
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief PCD MSP De-Initialization
|
||||||
|
* This function freeze the hardware resources used in this example
|
||||||
|
* @param hpcd: PCD handle pointer
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
void HAL_PCD_MspDeInit(PCD_HandleTypeDef* hpcd)
|
||||||
|
{
|
||||||
|
if(hpcd->Instance==USB_OTG_FS)
|
||||||
|
{
|
||||||
|
/* USER CODE BEGIN USB_OTG_FS_MspDeInit 0 */
|
||||||
|
|
||||||
|
/* USER CODE END USB_OTG_FS_MspDeInit 0 */
|
||||||
|
/* Peripheral clock disable */
|
||||||
|
__HAL_RCC_USB_OTG_FS_CLK_DISABLE();
|
||||||
|
|
||||||
|
/**USB_OTG_FS GPIO Configuration
|
||||||
|
PA12 ------> USB_OTG_FS_DP
|
||||||
|
PA11 ------> USB_OTG_FS_DM
|
||||||
|
*/
|
||||||
|
HAL_GPIO_DeInit(GPIOA, GPIO_PIN_12|GPIO_PIN_11);
|
||||||
|
|
||||||
|
/* USB_OTG_FS interrupt DeInit */
|
||||||
|
HAL_NVIC_DisableIRQ(OTG_FS_EP1_OUT_IRQn);
|
||||||
|
HAL_NVIC_DisableIRQ(OTG_FS_EP1_IN_IRQn);
|
||||||
|
/* USER CODE BEGIN USB_OTG_FS_MspDeInit 1 */
|
||||||
|
|
||||||
|
/* USER CODE END USB_OTG_FS_MspDeInit 1 */
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
static uint32_t FMC_Initialized = 0;
|
static uint32_t FMC_Initialized = 0;
|
||||||
|
|
||||||
static void HAL_FMC_MspInit(void){
|
static void HAL_FMC_MspInit(void){
|
||||||
|
@ -430,3 +995,4 @@ void HAL_SDRAM_MspDeInit(SDRAM_HandleTypeDef* hsdram){
|
||||||
/* USER CODE BEGIN 1 */
|
/* USER CODE BEGIN 1 */
|
||||||
|
|
||||||
/* USER CODE END 1 */
|
/* USER CODE END 1 */
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,32 @@
|
||||||
#MicroXplorer Configuration settings - do not modify
|
#MicroXplorer Configuration settings - do not modify
|
||||||
|
CORTEX_M7.CPU_DCache=Enabled
|
||||||
|
CORTEX_M7.CPU_ICache=Enabled
|
||||||
|
CORTEX_M7.IPParameters=CPU_ICache,CPU_DCache
|
||||||
|
DCMI.IPParameters=JPEGMode
|
||||||
|
DCMI.JPEGMode=DCMI_JPEG_ENABLE
|
||||||
|
Dma.DCMI.0.Direction=DMA_PERIPH_TO_MEMORY
|
||||||
|
Dma.DCMI.0.EventEnable=DISABLE
|
||||||
|
Dma.DCMI.0.FIFOMode=DMA_FIFOMODE_ENABLE
|
||||||
|
Dma.DCMI.0.FIFOThreshold=DMA_FIFO_THRESHOLD_FULL
|
||||||
|
Dma.DCMI.0.Instance=DMA1_Stream3
|
||||||
|
Dma.DCMI.0.MemBurst=DMA_MBURST_SINGLE
|
||||||
|
Dma.DCMI.0.MemDataAlignment=DMA_MDATAALIGN_WORD
|
||||||
|
Dma.DCMI.0.MemInc=DMA_MINC_ENABLE
|
||||||
|
Dma.DCMI.0.Mode=DMA_CIRCULAR
|
||||||
|
Dma.DCMI.0.PeriphBurst=DMA_PBURST_SINGLE
|
||||||
|
Dma.DCMI.0.PeriphDataAlignment=DMA_PDATAALIGN_WORD
|
||||||
|
Dma.DCMI.0.PeriphInc=DMA_PINC_DISABLE
|
||||||
|
Dma.DCMI.0.Polarity=HAL_DMAMUX_REQ_GEN_RISING
|
||||||
|
Dma.DCMI.0.Priority=DMA_PRIORITY_HIGH
|
||||||
|
Dma.DCMI.0.RequestNumber=1
|
||||||
|
Dma.DCMI.0.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode,FIFOThreshold,MemBurst,PeriphBurst,SignalID,Polarity,RequestNumber,SyncSignalID,SyncPolarity,SyncEnable,EventEnable,SyncRequestNumber
|
||||||
|
Dma.DCMI.0.SignalID=NONE
|
||||||
|
Dma.DCMI.0.SyncEnable=DISABLE
|
||||||
|
Dma.DCMI.0.SyncPolarity=HAL_DMAMUX_SYNC_NO_EVENT
|
||||||
|
Dma.DCMI.0.SyncRequestNumber=1
|
||||||
|
Dma.DCMI.0.SyncSignalID=NONE
|
||||||
|
Dma.Request0=DCMI
|
||||||
|
Dma.RequestsNb=1
|
||||||
FMC.BankMapConfig=FMC_SWAPBMAP_DISABLE
|
FMC.BankMapConfig=FMC_SWAPBMAP_DISABLE
|
||||||
FMC.CASLatency1=FMC_SDRAM_CAS_LATENCY_2
|
FMC.CASLatency1=FMC_SDRAM_CAS_LATENCY_2
|
||||||
FMC.ColumnBitsNumber1=FMC_SDRAM_COLUMN_BITS_NUM_9
|
FMC.ColumnBitsNumber1=FMC_SDRAM_COLUMN_BITS_NUM_9
|
||||||
|
@ -18,117 +46,189 @@ KeepUserPlacement=false
|
||||||
Mcu.CPN=STM32H743IIK6
|
Mcu.CPN=STM32H743IIK6
|
||||||
Mcu.Family=STM32H7
|
Mcu.Family=STM32H7
|
||||||
Mcu.IP0=CORTEX_M7
|
Mcu.IP0=CORTEX_M7
|
||||||
Mcu.IP1=FMC
|
Mcu.IP1=DCMI
|
||||||
Mcu.IP2=NVIC
|
Mcu.IP10=TIM1
|
||||||
Mcu.IP3=RCC
|
Mcu.IP11=USART1
|
||||||
Mcu.IP4=SYS
|
Mcu.IP12=USB_OTG_FS
|
||||||
Mcu.IP5=USART1
|
Mcu.IP2=DMA
|
||||||
Mcu.IPNb=6
|
Mcu.IP3=FMC
|
||||||
|
Mcu.IP4=NVIC
|
||||||
|
Mcu.IP5=QUADSPI
|
||||||
|
Mcu.IP6=RCC
|
||||||
|
Mcu.IP7=RTC
|
||||||
|
Mcu.IP8=SDMMC1
|
||||||
|
Mcu.IP9=SYS
|
||||||
|
Mcu.IPNb=13
|
||||||
Mcu.Name=STM32H743IIKx
|
Mcu.Name=STM32H743IIKx
|
||||||
Mcu.Package=UFBGA176
|
Mcu.Package=UFBGA176
|
||||||
Mcu.Pin0=PE1
|
Mcu.Pin0=PE1
|
||||||
Mcu.Pin1=PE0
|
Mcu.Pin1=PE0
|
||||||
Mcu.Pin10=PI9
|
Mcu.Pin10=PG10
|
||||||
Mcu.Pin11=PI4
|
Mcu.Pin11=PD0
|
||||||
Mcu.Pin12=PH15
|
Mcu.Pin12=PC11
|
||||||
Mcu.Pin13=PI1
|
Mcu.Pin13=PC10
|
||||||
Mcu.Pin14=PF0
|
Mcu.Pin14=PA12
|
||||||
Mcu.Pin15=PI10
|
Mcu.Pin15=PI7
|
||||||
Mcu.Pin16=PH13
|
Mcu.Pin16=PI6
|
||||||
Mcu.Pin17=PH14
|
Mcu.Pin17=PI5
|
||||||
Mcu.Pin18=PI0
|
Mcu.Pin18=PD1
|
||||||
Mcu.Pin19=PH0-OSC_IN (PH0)
|
Mcu.Pin19=PI3
|
||||||
Mcu.Pin2=PG15
|
Mcu.Pin2=PC12
|
||||||
Mcu.Pin20=PH1-OSC_OUT (PH1)
|
Mcu.Pin20=PI2
|
||||||
Mcu.Pin21=PF2
|
Mcu.Pin21=PA11
|
||||||
Mcu.Pin22=PF1
|
Mcu.Pin22=PI9
|
||||||
Mcu.Pin23=PG8
|
Mcu.Pin23=PI4
|
||||||
Mcu.Pin24=PF3
|
Mcu.Pin24=PD2
|
||||||
Mcu.Pin25=PF4
|
Mcu.Pin25=PH15
|
||||||
Mcu.Pin26=PF5
|
Mcu.Pin26=PI1
|
||||||
Mcu.Pin27=PH12
|
Mcu.Pin27=PF0
|
||||||
Mcu.Pin28=PG5
|
Mcu.Pin28=PI10
|
||||||
Mcu.Pin29=PG4
|
Mcu.Pin29=PH13
|
||||||
Mcu.Pin3=PD0
|
Mcu.Pin3=PE4
|
||||||
Mcu.Pin30=PH11
|
Mcu.Pin30=PH14
|
||||||
Mcu.Pin31=PH10
|
Mcu.Pin31=PI0
|
||||||
Mcu.Pin32=PD15
|
Mcu.Pin32=PC9
|
||||||
Mcu.Pin33=PC0
|
Mcu.Pin33=PA8
|
||||||
Mcu.Pin34=PC1
|
Mcu.Pin34=PH0-OSC_IN (PH0)
|
||||||
Mcu.Pin35=PC2_C
|
Mcu.Pin35=PC8
|
||||||
Mcu.Pin36=PG1
|
Mcu.Pin36=PC7
|
||||||
Mcu.Pin37=PH8
|
Mcu.Pin37=PH1-OSC_OUT (PH1)
|
||||||
Mcu.Pin38=PH9
|
Mcu.Pin38=PF2
|
||||||
Mcu.Pin39=PD14
|
Mcu.Pin39=PF1
|
||||||
Mcu.Pin4=PI7
|
Mcu.Pin4=PE5
|
||||||
Mcu.Pin40=PC4
|
Mcu.Pin40=PG8
|
||||||
Mcu.Pin41=PF13
|
Mcu.Pin41=PC6
|
||||||
Mcu.Pin42=PG0
|
Mcu.Pin42=PF3
|
||||||
Mcu.Pin43=PE13
|
Mcu.Pin43=PF4
|
||||||
Mcu.Pin44=PD10
|
Mcu.Pin44=PG6
|
||||||
Mcu.Pin45=PC5
|
Mcu.Pin45=PF7
|
||||||
Mcu.Pin46=PF12
|
Mcu.Pin46=PF6
|
||||||
Mcu.Pin47=PF15
|
Mcu.Pin47=PF5
|
||||||
Mcu.Pin48=PE8
|
Mcu.Pin48=PH12
|
||||||
Mcu.Pin49=PE9
|
Mcu.Pin49=PG5
|
||||||
Mcu.Pin5=PI6
|
Mcu.Pin5=PE6
|
||||||
Mcu.Pin50=PE11
|
Mcu.Pin50=PG4
|
||||||
Mcu.Pin51=PE14
|
Mcu.Pin51=PF10
|
||||||
Mcu.Pin52=PD9
|
Mcu.Pin52=PF9
|
||||||
Mcu.Pin53=PD8
|
Mcu.Pin53=PF8
|
||||||
Mcu.Pin54=PA7
|
Mcu.Pin54=PH11
|
||||||
Mcu.Pin55=PF11
|
Mcu.Pin55=PH10
|
||||||
Mcu.Pin56=PF14
|
Mcu.Pin56=PD15
|
||||||
Mcu.Pin57=PE7
|
Mcu.Pin57=PC0
|
||||||
Mcu.Pin58=PE10
|
Mcu.Pin58=PG1
|
||||||
Mcu.Pin59=PE12
|
Mcu.Pin59=PH8
|
||||||
Mcu.Pin6=PI5
|
Mcu.Pin6=PB7
|
||||||
Mcu.Pin60=PE15
|
Mcu.Pin60=PH9
|
||||||
Mcu.Pin61=PB14
|
Mcu.Pin61=PD14
|
||||||
Mcu.Pin62=PB15
|
Mcu.Pin62=PA4
|
||||||
Mcu.Pin63=VP_SYS_VS_Systick
|
Mcu.Pin63=PC4
|
||||||
Mcu.Pin7=PD1
|
Mcu.Pin64=PF13
|
||||||
Mcu.Pin8=PI3
|
Mcu.Pin65=PG0
|
||||||
Mcu.Pin9=PI2
|
Mcu.Pin66=PE13
|
||||||
Mcu.PinsNb=64
|
Mcu.Pin67=PD10
|
||||||
|
Mcu.Pin68=PA6
|
||||||
|
Mcu.Pin69=PC5
|
||||||
|
Mcu.Pin7=PB6
|
||||||
|
Mcu.Pin70=PF12
|
||||||
|
Mcu.Pin71=PF15
|
||||||
|
Mcu.Pin72=PE8
|
||||||
|
Mcu.Pin73=PE9
|
||||||
|
Mcu.Pin74=PE11
|
||||||
|
Mcu.Pin75=PE14
|
||||||
|
Mcu.Pin76=PD9
|
||||||
|
Mcu.Pin77=PD8
|
||||||
|
Mcu.Pin78=PA7
|
||||||
|
Mcu.Pin79=PF11
|
||||||
|
Mcu.Pin8=PG15
|
||||||
|
Mcu.Pin80=PF14
|
||||||
|
Mcu.Pin81=PE7
|
||||||
|
Mcu.Pin82=PE10
|
||||||
|
Mcu.Pin83=PE12
|
||||||
|
Mcu.Pin84=PE15
|
||||||
|
Mcu.Pin85=PB14
|
||||||
|
Mcu.Pin86=PB15
|
||||||
|
Mcu.Pin87=VP_RTC_VS_RTC_Activate
|
||||||
|
Mcu.Pin88=VP_RTC_VS_RTC_Calendar
|
||||||
|
Mcu.Pin89=VP_SYS_VS_Systick
|
||||||
|
Mcu.Pin9=PG11
|
||||||
|
Mcu.PinsNb=90
|
||||||
Mcu.ThirdPartyNb=0
|
Mcu.ThirdPartyNb=0
|
||||||
Mcu.UserConstants=
|
Mcu.UserConstants=
|
||||||
Mcu.UserName=STM32H743IIKx
|
Mcu.UserName=STM32H743IIKx
|
||||||
MxCube.Version=6.5.0
|
MxCube.Version=6.4.0
|
||||||
MxDb.Version=DB.6.0.50
|
MxDb.Version=DB.6.0.40
|
||||||
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:true
|
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:true
|
||||||
|
NVIC.DCMI_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
|
||||||
|
NVIC.DMA1_Stream3_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:true
|
||||||
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:true
|
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:true
|
||||||
NVIC.ForceEnableDMAVector=true
|
NVIC.ForceEnableDMAVector=true
|
||||||
NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:true
|
NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:true
|
||||||
NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:true
|
NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:true
|
||||||
NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:true
|
NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:true
|
||||||
|
NVIC.OTG_FS_EP1_IN_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
|
||||||
|
NVIC.OTG_FS_EP1_OUT_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
|
||||||
NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:true
|
NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:true
|
||||||
NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
|
NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
|
||||||
|
NVIC.SDMMC1_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
|
||||||
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:true
|
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:true
|
||||||
NVIC.SysTick_IRQn=true\:15\:0\:false\:false\:true\:false\:true\:true
|
NVIC.SysTick_IRQn=true\:15\:0\:false\:false\:true\:false\:true\:true
|
||||||
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:true
|
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:true
|
||||||
|
PA11.GPIOParameters=GPIO_Speed
|
||||||
|
PA11.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
|
||||||
|
PA11.Mode=Device_Only
|
||||||
|
PA11.Signal=USB_OTG_FS_DM
|
||||||
|
PA12.GPIOParameters=GPIO_Speed
|
||||||
|
PA12.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
|
||||||
|
PA12.Mode=Device_Only
|
||||||
|
PA12.Signal=USB_OTG_FS_DP
|
||||||
|
PA4.GPIOParameters=GPIO_Speed,GPIO_PuPd
|
||||||
|
PA4.GPIO_PuPd=GPIO_PULLUP
|
||||||
|
PA4.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
|
||||||
|
PA4.Locked=true
|
||||||
|
PA4.Mode=Slave_8_bits_External_Synchro
|
||||||
|
PA4.Signal=DCMI_HSYNC
|
||||||
|
PA6.GPIOParameters=GPIO_Speed,GPIO_PuPd
|
||||||
|
PA6.GPIO_PuPd=GPIO_PULLUP
|
||||||
|
PA6.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
|
||||||
|
PA6.Locked=true
|
||||||
|
PA6.Mode=Slave_8_bits_External_Synchro
|
||||||
|
PA6.Signal=DCMI_PIXCLK
|
||||||
PA7.GPIOParameters=GPIO_PuPd
|
PA7.GPIOParameters=GPIO_PuPd
|
||||||
PA7.GPIO_PuPd=GPIO_PULLUP
|
PA7.GPIO_PuPd=GPIO_PULLUP
|
||||||
PA7.Locked=true
|
PA7.Locked=true
|
||||||
PA7.Signal=FMC_SDNWE
|
PA7.Signal=FMC_SDNWE
|
||||||
|
PA8.GPIOParameters=GPIO_Speed,GPIO_PuPd
|
||||||
|
PA8.GPIO_PuPd=GPIO_PULLUP
|
||||||
|
PA8.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
|
||||||
|
PA8.Signal=S_TIM1_CH1
|
||||||
PB14.Locked=true
|
PB14.Locked=true
|
||||||
PB14.Mode=Asynchronous
|
PB14.Mode=Asynchronous
|
||||||
PB14.Signal=USART1_TX
|
PB14.Signal=USART1_TX
|
||||||
PB15.Locked=true
|
PB15.Locked=true
|
||||||
PB15.Mode=Asynchronous
|
PB15.Mode=Asynchronous
|
||||||
PB15.Signal=USART1_RX
|
PB15.Signal=USART1_RX
|
||||||
|
PB6.GPIOParameters=GPIO_Speed,GPIO_PuPd
|
||||||
|
PB6.GPIO_PuPd=GPIO_PULLUP
|
||||||
|
PB6.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
|
||||||
|
PB6.Locked=true
|
||||||
|
PB6.Mode=Slave_8_bits_External_Synchro
|
||||||
|
PB6.Signal=DCMI_D5
|
||||||
|
PB7.GPIOParameters=GPIO_Speed,GPIO_PuPd
|
||||||
|
PB7.GPIO_PuPd=GPIO_PULLUP
|
||||||
|
PB7.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
|
||||||
|
PB7.Locked=true
|
||||||
|
PB7.Mode=Slave_8_bits_External_Synchro
|
||||||
|
PB7.Signal=DCMI_VSYNC
|
||||||
PC0.GPIOParameters=GPIO_Label
|
PC0.GPIOParameters=GPIO_Label
|
||||||
PC0.GPIO_Label=LED_RED
|
PC0.GPIO_Label=LED_RED
|
||||||
PC0.Locked=true
|
PC0.Locked=true
|
||||||
PC0.Signal=GPIO_Output
|
PC0.Signal=GPIO_Output
|
||||||
PC1.GPIOParameters=GPIO_Label
|
PC10.Mode=SD_4_bits_Wide_bus
|
||||||
PC1.GPIO_Label=LED_GREEN
|
PC10.Signal=SDMMC1_D2
|
||||||
PC1.Locked=true
|
PC11.Mode=SD_4_bits_Wide_bus
|
||||||
PC1.Signal=GPIO_Output
|
PC11.Signal=SDMMC1_D3
|
||||||
PC2_C.GPIOParameters=GPIO_Label
|
PC12.Mode=SD_4_bits_Wide_bus
|
||||||
PC2_C.GPIO_Label=LED_BLUE
|
PC12.Signal=SDMMC1_CK
|
||||||
PC2_C.Locked=true
|
|
||||||
PC2_C.Signal=GPIO_Output
|
|
||||||
PC4.GPIOParameters=GPIO_PuPd
|
PC4.GPIOParameters=GPIO_PuPd
|
||||||
PC4.GPIO_PuPd=GPIO_PULLUP
|
PC4.GPIO_PuPd=GPIO_PULLUP
|
||||||
PC4.Locked=true
|
PC4.Locked=true
|
||||||
|
@ -139,6 +239,22 @@ PC5.GPIO_PuPd=GPIO_PULLUP
|
||||||
PC5.Locked=true
|
PC5.Locked=true
|
||||||
PC5.Mode=SdramChipSelect1_1
|
PC5.Mode=SdramChipSelect1_1
|
||||||
PC5.Signal=FMC_SDCKE0
|
PC5.Signal=FMC_SDCKE0
|
||||||
|
PC6.GPIOParameters=GPIO_Speed,GPIO_PuPd
|
||||||
|
PC6.GPIO_PuPd=GPIO_PULLUP
|
||||||
|
PC6.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
|
||||||
|
PC6.Locked=true
|
||||||
|
PC6.Mode=Slave_8_bits_External_Synchro
|
||||||
|
PC6.Signal=DCMI_D0
|
||||||
|
PC7.GPIOParameters=GPIO_Speed,GPIO_PuPd
|
||||||
|
PC7.GPIO_PuPd=GPIO_PULLUP
|
||||||
|
PC7.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
|
||||||
|
PC7.Locked=true
|
||||||
|
PC7.Mode=Slave_8_bits_External_Synchro
|
||||||
|
PC7.Signal=DCMI_D1
|
||||||
|
PC8.Mode=SD_4_bits_Wide_bus
|
||||||
|
PC8.Signal=SDMMC1_D0
|
||||||
|
PC9.Mode=SD_4_bits_Wide_bus
|
||||||
|
PC9.Signal=SDMMC1_D1
|
||||||
PD0.GPIOParameters=GPIO_PuPd
|
PD0.GPIOParameters=GPIO_PuPd
|
||||||
PD0.GPIO_PuPd=GPIO_PULLUP
|
PD0.GPIO_PuPd=GPIO_PULLUP
|
||||||
PD0.Signal=FMC_D2_DA2
|
PD0.Signal=FMC_D2_DA2
|
||||||
|
@ -154,6 +270,8 @@ PD14.Signal=FMC_D0_DA0
|
||||||
PD15.GPIOParameters=GPIO_PuPd
|
PD15.GPIOParameters=GPIO_PuPd
|
||||||
PD15.GPIO_PuPd=GPIO_PULLUP
|
PD15.GPIO_PuPd=GPIO_PULLUP
|
||||||
PD15.Signal=FMC_D1_DA1
|
PD15.Signal=FMC_D1_DA1
|
||||||
|
PD2.Mode=SD_4_bits_Wide_bus
|
||||||
|
PD2.Signal=SDMMC1_CMD
|
||||||
PD8.GPIOParameters=GPIO_PuPd
|
PD8.GPIOParameters=GPIO_PuPd
|
||||||
PD8.GPIO_PuPd=GPIO_PULLUP
|
PD8.GPIO_PuPd=GPIO_PULLUP
|
||||||
PD8.Signal=FMC_D13_DA13
|
PD8.Signal=FMC_D13_DA13
|
||||||
|
@ -184,6 +302,24 @@ PE14.Signal=FMC_D11_DA11
|
||||||
PE15.GPIOParameters=GPIO_PuPd
|
PE15.GPIOParameters=GPIO_PuPd
|
||||||
PE15.GPIO_PuPd=GPIO_PULLUP
|
PE15.GPIO_PuPd=GPIO_PULLUP
|
||||||
PE15.Signal=FMC_D12_DA12
|
PE15.Signal=FMC_D12_DA12
|
||||||
|
PE4.GPIOParameters=GPIO_Speed,GPIO_PuPd
|
||||||
|
PE4.GPIO_PuPd=GPIO_PULLUP
|
||||||
|
PE4.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
|
||||||
|
PE4.Locked=true
|
||||||
|
PE4.Mode=Slave_8_bits_External_Synchro
|
||||||
|
PE4.Signal=DCMI_D4
|
||||||
|
PE5.GPIOParameters=GPIO_Speed,GPIO_PuPd
|
||||||
|
PE5.GPIO_PuPd=GPIO_PULLUP
|
||||||
|
PE5.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
|
||||||
|
PE5.Locked=true
|
||||||
|
PE5.Mode=Slave_8_bits_External_Synchro
|
||||||
|
PE5.Signal=DCMI_D6
|
||||||
|
PE6.GPIOParameters=GPIO_Speed,GPIO_PuPd
|
||||||
|
PE6.GPIO_PuPd=GPIO_PULLUP
|
||||||
|
PE6.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
|
||||||
|
PE6.Locked=true
|
||||||
|
PE6.Mode=Slave_8_bits_External_Synchro
|
||||||
|
PE6.Signal=DCMI_D7
|
||||||
PE7.GPIOParameters=GPIO_PuPd
|
PE7.GPIOParameters=GPIO_PuPd
|
||||||
PE7.GPIO_PuPd=GPIO_PULLUP
|
PE7.GPIO_PuPd=GPIO_PULLUP
|
||||||
PE7.Signal=FMC_D4_DA4
|
PE7.Signal=FMC_D4_DA4
|
||||||
|
@ -199,6 +335,11 @@ PF0.Signal=FMC_A0
|
||||||
PF1.GPIOParameters=GPIO_PuPd
|
PF1.GPIOParameters=GPIO_PuPd
|
||||||
PF1.GPIO_PuPd=GPIO_PULLUP
|
PF1.GPIO_PuPd=GPIO_PULLUP
|
||||||
PF1.Signal=FMC_A1
|
PF1.Signal=FMC_A1
|
||||||
|
PF10.GPIOParameters=GPIO_Speed
|
||||||
|
PF10.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
|
||||||
|
PF10.Locked=true
|
||||||
|
PF10.Mode=Single Bank 1
|
||||||
|
PF10.Signal=QUADSPI_CLK
|
||||||
PF11.GPIOParameters=GPIO_PuPd
|
PF11.GPIOParameters=GPIO_PuPd
|
||||||
PF11.GPIO_PuPd=GPIO_PULLUP
|
PF11.GPIO_PuPd=GPIO_PULLUP
|
||||||
PF11.Signal=FMC_SDNRAS
|
PF11.Signal=FMC_SDNRAS
|
||||||
|
@ -226,12 +367,44 @@ PF4.Signal=FMC_A4
|
||||||
PF5.GPIOParameters=GPIO_PuPd
|
PF5.GPIOParameters=GPIO_PuPd
|
||||||
PF5.GPIO_PuPd=GPIO_PULLUP
|
PF5.GPIO_PuPd=GPIO_PULLUP
|
||||||
PF5.Signal=FMC_A5
|
PF5.Signal=FMC_A5
|
||||||
|
PF6.GPIOParameters=GPIO_Speed
|
||||||
|
PF6.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
|
||||||
|
PF6.Locked=true
|
||||||
|
PF6.Mode=Single Bank 1
|
||||||
|
PF6.Signal=QUADSPI_BK1_IO3
|
||||||
|
PF7.GPIOParameters=GPIO_Speed
|
||||||
|
PF7.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
|
||||||
|
PF7.Locked=true
|
||||||
|
PF7.Mode=Single Bank 1
|
||||||
|
PF7.Signal=QUADSPI_BK1_IO2
|
||||||
|
PF8.GPIOParameters=GPIO_Speed
|
||||||
|
PF8.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
|
||||||
|
PF8.Locked=true
|
||||||
|
PF8.Mode=Single Bank 1
|
||||||
|
PF8.Signal=QUADSPI_BK1_IO0
|
||||||
|
PF9.GPIOParameters=GPIO_Speed
|
||||||
|
PF9.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
|
||||||
|
PF9.Locked=true
|
||||||
|
PF9.Mode=Single Bank 1
|
||||||
|
PF9.Signal=QUADSPI_BK1_IO1
|
||||||
PG0.GPIOParameters=GPIO_PuPd
|
PG0.GPIOParameters=GPIO_PuPd
|
||||||
PG0.GPIO_PuPd=GPIO_PULLUP
|
PG0.GPIO_PuPd=GPIO_PULLUP
|
||||||
PG0.Signal=FMC_A10
|
PG0.Signal=FMC_A10
|
||||||
PG1.GPIOParameters=GPIO_PuPd
|
PG1.GPIOParameters=GPIO_PuPd
|
||||||
PG1.GPIO_PuPd=GPIO_PULLUP
|
PG1.GPIO_PuPd=GPIO_PULLUP
|
||||||
PG1.Signal=FMC_A11
|
PG1.Signal=FMC_A11
|
||||||
|
PG10.GPIOParameters=GPIO_Speed,GPIO_PuPd
|
||||||
|
PG10.GPIO_PuPd=GPIO_PULLUP
|
||||||
|
PG10.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
|
||||||
|
PG10.Locked=true
|
||||||
|
PG10.Mode=Slave_8_bits_External_Synchro
|
||||||
|
PG10.Signal=DCMI_D2
|
||||||
|
PG11.GPIOParameters=GPIO_Speed,GPIO_PuPd
|
||||||
|
PG11.GPIO_PuPd=GPIO_PULLUP
|
||||||
|
PG11.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
|
||||||
|
PG11.Locked=true
|
||||||
|
PG11.Mode=Slave_8_bits_External_Synchro
|
||||||
|
PG11.Signal=DCMI_D3
|
||||||
PG15.GPIOParameters=GPIO_PuPd
|
PG15.GPIOParameters=GPIO_PuPd
|
||||||
PG15.GPIO_PuPd=GPIO_PULLUP
|
PG15.GPIO_PuPd=GPIO_PULLUP
|
||||||
PG15.Signal=FMC_SDNCAS
|
PG15.Signal=FMC_SDNCAS
|
||||||
|
@ -241,6 +414,11 @@ PG4.Signal=FMC_A14_BA0
|
||||||
PG5.GPIOParameters=GPIO_PuPd
|
PG5.GPIOParameters=GPIO_PuPd
|
||||||
PG5.GPIO_PuPd=GPIO_PULLUP
|
PG5.GPIO_PuPd=GPIO_PULLUP
|
||||||
PG5.Signal=FMC_A15_BA1
|
PG5.Signal=FMC_A15_BA1
|
||||||
|
PG6.GPIOParameters=GPIO_PuPd
|
||||||
|
PG6.GPIO_PuPd=GPIO_PULLUP
|
||||||
|
PG6.Locked=true
|
||||||
|
PG6.Mode=Single Bank 1
|
||||||
|
PG6.Signal=QUADSPI_BK1_NCS
|
||||||
PG8.GPIOParameters=GPIO_PuPd
|
PG8.GPIOParameters=GPIO_PuPd
|
||||||
PG8.GPIO_PuPd=GPIO_PULLUP
|
PG8.GPIO_PuPd=GPIO_PULLUP
|
||||||
PG8.Signal=FMC_SDCLK
|
PG8.Signal=FMC_SDCLK
|
||||||
|
@ -313,7 +491,7 @@ ProjectManager.CustomerFirmwarePackage=
|
||||||
ProjectManager.DefaultFWLocation=true
|
ProjectManager.DefaultFWLocation=true
|
||||||
ProjectManager.DeletePrevious=true
|
ProjectManager.DeletePrevious=true
|
||||||
ProjectManager.DeviceId=STM32H743IIKx
|
ProjectManager.DeviceId=STM32H743IIKx
|
||||||
ProjectManager.FirmwarePackage=STM32Cube FW_H7 V1.10.0
|
ProjectManager.FirmwarePackage=STM32Cube FW_H7 V1.9.0
|
||||||
ProjectManager.FreePins=false
|
ProjectManager.FreePins=false
|
||||||
ProjectManager.HalAssertFull=false
|
ProjectManager.HalAssertFull=false
|
||||||
ProjectManager.HeapSize=0x200
|
ProjectManager.HeapSize=0x200
|
||||||
|
@ -331,7 +509,13 @@ ProjectManager.StackSize=0x400
|
||||||
ProjectManager.TargetToolchain=MDK-ARM V5.32
|
ProjectManager.TargetToolchain=MDK-ARM V5.32
|
||||||
ProjectManager.ToolChainLocation=
|
ProjectManager.ToolChainLocation=
|
||||||
ProjectManager.UnderRoot=false
|
ProjectManager.UnderRoot=false
|
||||||
ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-SystemClock_Config-RCC-false-HAL-false,3-MX_USART1_UART_Init-USART1-false-HAL-true,4-MX_FMC_Init-FMC-false-HAL-true,0-MX_CORTEX_M7_Init-CORTEX_M7-false-HAL-true
|
ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-SystemClock_Config-RCC-false-HAL-false,3-MX_USART1_UART_Init-USART1-false-HAL-true,4-MX_FMC_Init-FMC-false-HAL-true,5-MX_QUADSPI_Init-QUADSPI-false-HAL-true,6-MX_SDMMC1_SD_Init-SDMMC1-false-HAL-true,7-MX_DMA_Init-DMA-false-HAL-true,8-MX_RTC_Init-RTC-false-HAL-true,9-MX_DCMI_Init-DCMI-false-HAL-true,10-MX_USB_OTG_FS_PCD_Init-USB_OTG_FS-false-HAL-true,0-MX_CORTEX_M7_Init-CORTEX_M7-false-HAL-true
|
||||||
|
QUADSPI.ChipSelectHighTime=QSPI_CS_HIGH_TIME_2_CYCLE
|
||||||
|
QUADSPI.ClockPrescaler=1
|
||||||
|
QUADSPI.FifoThreshold=3
|
||||||
|
QUADSPI.FlashSize=24
|
||||||
|
QUADSPI.IPParameters=ClockPrescaler,FifoThreshold,SampleShifting,FlashSize,ChipSelectHighTime
|
||||||
|
QUADSPI.SampleShifting=QSPI_SAMPLE_SHIFTING_HALFCYCLE
|
||||||
RCC.ADCFreq_Value=24187500
|
RCC.ADCFreq_Value=24187500
|
||||||
RCC.AHB12Freq_Value=200000000
|
RCC.AHB12Freq_Value=200000000
|
||||||
RCC.AHB4Freq_Value=200000000
|
RCC.AHB4Freq_Value=200000000
|
||||||
|
@ -349,20 +533,21 @@ RCC.D1PPRE=RCC_APB3_DIV2
|
||||||
RCC.D2PPRE1=RCC_APB1_DIV2
|
RCC.D2PPRE1=RCC_APB1_DIV2
|
||||||
RCC.D2PPRE2=RCC_APB2_DIV2
|
RCC.D2PPRE2=RCC_APB2_DIV2
|
||||||
RCC.D3PPRE=RCC_APB4_DIV2
|
RCC.D3PPRE=RCC_APB4_DIV2
|
||||||
RCC.DFSDMACLkFreq_Value=400000000
|
RCC.DFSDMACLkFreq_Value=200000000
|
||||||
RCC.DFSDMFreq_Value=100000000
|
RCC.DFSDMFreq_Value=100000000
|
||||||
RCC.DIVM1=3
|
RCC.DIVM1=3
|
||||||
RCC.DIVN1=200
|
RCC.DIVN1=200
|
||||||
RCC.DIVP1Freq_Value=400000000
|
RCC.DIVP1Freq_Value=400000000
|
||||||
RCC.DIVP2Freq_Value=24187500
|
RCC.DIVP2Freq_Value=24187500
|
||||||
RCC.DIVP3Freq_Value=24187500
|
RCC.DIVP3Freq_Value=24187500
|
||||||
RCC.DIVQ1Freq_Value=400000000
|
RCC.DIVQ1=4
|
||||||
|
RCC.DIVQ1Freq_Value=200000000
|
||||||
RCC.DIVQ2Freq_Value=24187500
|
RCC.DIVQ2Freq_Value=24187500
|
||||||
RCC.DIVQ3Freq_Value=24187500
|
RCC.DIVQ3Freq_Value=24187500
|
||||||
RCC.DIVR1Freq_Value=400000000
|
RCC.DIVR1Freq_Value=400000000
|
||||||
RCC.DIVR2Freq_Value=24187500
|
RCC.DIVR2Freq_Value=24187500
|
||||||
RCC.DIVR3Freq_Value=24187500
|
RCC.DIVR3Freq_Value=24187500
|
||||||
RCC.FDCANFreq_Value=400000000
|
RCC.FDCANFreq_Value=200000000
|
||||||
RCC.FMCFreq_Value=200000000
|
RCC.FMCFreq_Value=200000000
|
||||||
RCC.FamilyName=M
|
RCC.FamilyName=M
|
||||||
RCC.HCLK3ClockFreq_Value=200000000
|
RCC.HCLK3ClockFreq_Value=200000000
|
||||||
|
@ -372,7 +557,7 @@ RCC.HRTIMFreq_Value=200000000
|
||||||
RCC.HSE_VALUE=12000000
|
RCC.HSE_VALUE=12000000
|
||||||
RCC.I2C123Freq_Value=100000000
|
RCC.I2C123Freq_Value=100000000
|
||||||
RCC.I2C4Freq_Value=100000000
|
RCC.I2C4Freq_Value=100000000
|
||||||
RCC.IPParameters=ADCFreq_Value,AHB12Freq_Value,AHB4Freq_Value,APB1Freq_Value,APB2Freq_Value,APB3Freq_Value,APB4Freq_Value,AXIClockFreq_Value,CECFreq_Value,CKPERFreq_Value,CortexFreq_Value,CpuClockFreq_Value,D1CPREFreq_Value,D1PPRE,D2PPRE1,D2PPRE2,D3PPRE,DFSDMACLkFreq_Value,DFSDMFreq_Value,DIVM1,DIVN1,DIVP1Freq_Value,DIVP2Freq_Value,DIVP3Freq_Value,DIVQ1Freq_Value,DIVQ2Freq_Value,DIVQ3Freq_Value,DIVR1Freq_Value,DIVR2Freq_Value,DIVR3Freq_Value,FDCANFreq_Value,FMCFreq_Value,FamilyName,HCLK3ClockFreq_Value,HCLKFreq_Value,HPRE,HRTIMFreq_Value,HSE_VALUE,I2C123Freq_Value,I2C4Freq_Value,LPTIM1Freq_Value,LPTIM2Freq_Value,LPTIM345Freq_Value,LPUART1Freq_Value,LTDCFreq_Value,MCO1PinFreq_Value,MCO2PinFreq_Value,PLL2FRACN,PLL3FRACN,PLLFRACN,PLLSourceVirtual,QSPIFreq_Value,RNGFreq_Value,RTCFreq_Value,SAI1Freq_Value,SAI23Freq_Value,SAI4AFreq_Value,SAI4BFreq_Value,SDMMCFreq_Value,SPDIFRXFreq_Value,SPI123Freq_Value,SPI45Freq_Value,SPI6Freq_Value,SWPMI1Freq_Value,SYSCLKFreq_VALUE,SYSCLKSource,Tim1OutputFreq_Value,Tim2OutputFreq_Value,TraceFreq_Value,USART16Freq_Value,USART234578Freq_Value,USBFreq_Value,VCO1OutputFreq_Value,VCO2OutputFreq_Value,VCO3OutputFreq_Value,VCOInput1Freq_Value,VCOInput2Freq_Value,VCOInput3Freq_Value
|
RCC.IPParameters=ADCFreq_Value,AHB12Freq_Value,AHB4Freq_Value,APB1Freq_Value,APB2Freq_Value,APB3Freq_Value,APB4Freq_Value,AXIClockFreq_Value,CECFreq_Value,CKPERFreq_Value,CortexFreq_Value,CpuClockFreq_Value,D1CPREFreq_Value,D1PPRE,D2PPRE1,D2PPRE2,D3PPRE,DFSDMACLkFreq_Value,DFSDMFreq_Value,DIVM1,DIVN1,DIVP1Freq_Value,DIVP2Freq_Value,DIVP3Freq_Value,DIVQ1,DIVQ1Freq_Value,DIVQ2Freq_Value,DIVQ3Freq_Value,DIVR1Freq_Value,DIVR2Freq_Value,DIVR3Freq_Value,FDCANFreq_Value,FMCFreq_Value,FamilyName,HCLK3ClockFreq_Value,HCLKFreq_Value,HPRE,HRTIMFreq_Value,HSE_VALUE,I2C123Freq_Value,I2C4Freq_Value,LPTIM1Freq_Value,LPTIM2Freq_Value,LPTIM345Freq_Value,LPUART1Freq_Value,LTDCFreq_Value,MCO1PinFreq_Value,MCO2PinFreq_Value,PLL2FRACN,PLL3FRACN,PLLFRACN,PLLSourceVirtual,QSPIFreq_Value,RNGFreq_Value,RTCFreq_Value,SAI1Freq_Value,SAI23Freq_Value,SAI4AFreq_Value,SAI4BFreq_Value,SDMMCFreq_Value,SPDIFRXFreq_Value,SPI123Freq_Value,SPI45Freq_Value,SPI6Freq_Value,SWPMI1Freq_Value,SYSCLKFreq_VALUE,SYSCLKSource,Tim1OutputFreq_Value,Tim2OutputFreq_Value,TraceFreq_Value,USART16Freq_Value,USART234578Freq_Value,USBCLockSelection,USBFreq_Value,VCO1OutputFreq_Value,VCO2OutputFreq_Value,VCO3OutputFreq_Value,VCOInput1Freq_Value,VCOInput2Freq_Value,VCOInput3Freq_Value
|
||||||
RCC.LPTIM1Freq_Value=100000000
|
RCC.LPTIM1Freq_Value=100000000
|
||||||
RCC.LPTIM2Freq_Value=100000000
|
RCC.LPTIM2Freq_Value=100000000
|
||||||
RCC.LPTIM345Freq_Value=100000000
|
RCC.LPTIM345Freq_Value=100000000
|
||||||
|
@ -387,13 +572,13 @@ RCC.PLLSourceVirtual=RCC_PLLSOURCE_HSE
|
||||||
RCC.QSPIFreq_Value=200000000
|
RCC.QSPIFreq_Value=200000000
|
||||||
RCC.RNGFreq_Value=48000000
|
RCC.RNGFreq_Value=48000000
|
||||||
RCC.RTCFreq_Value=32000
|
RCC.RTCFreq_Value=32000
|
||||||
RCC.SAI1Freq_Value=400000000
|
RCC.SAI1Freq_Value=200000000
|
||||||
RCC.SAI23Freq_Value=400000000
|
RCC.SAI23Freq_Value=200000000
|
||||||
RCC.SAI4AFreq_Value=400000000
|
RCC.SAI4AFreq_Value=200000000
|
||||||
RCC.SAI4BFreq_Value=400000000
|
RCC.SAI4BFreq_Value=200000000
|
||||||
RCC.SDMMCFreq_Value=400000000
|
RCC.SDMMCFreq_Value=200000000
|
||||||
RCC.SPDIFRXFreq_Value=400000000
|
RCC.SPDIFRXFreq_Value=200000000
|
||||||
RCC.SPI123Freq_Value=400000000
|
RCC.SPI123Freq_Value=200000000
|
||||||
RCC.SPI45Freq_Value=100000000
|
RCC.SPI45Freq_Value=100000000
|
||||||
RCC.SPI6Freq_Value=100000000
|
RCC.SPI6Freq_Value=100000000
|
||||||
RCC.SWPMI1Freq_Value=100000000
|
RCC.SWPMI1Freq_Value=100000000
|
||||||
|
@ -404,13 +589,16 @@ RCC.Tim2OutputFreq_Value=200000000
|
||||||
RCC.TraceFreq_Value=64000000
|
RCC.TraceFreq_Value=64000000
|
||||||
RCC.USART16Freq_Value=100000000
|
RCC.USART16Freq_Value=100000000
|
||||||
RCC.USART234578Freq_Value=100000000
|
RCC.USART234578Freq_Value=100000000
|
||||||
RCC.USBFreq_Value=400000000
|
RCC.USBCLockSelection=RCC_USBCLKSOURCE_HSI48
|
||||||
|
RCC.USBFreq_Value=48000000
|
||||||
RCC.VCO1OutputFreq_Value=800000000
|
RCC.VCO1OutputFreq_Value=800000000
|
||||||
RCC.VCO2OutputFreq_Value=48375000
|
RCC.VCO2OutputFreq_Value=48375000
|
||||||
RCC.VCO3OutputFreq_Value=48375000
|
RCC.VCO3OutputFreq_Value=48375000
|
||||||
RCC.VCOInput1Freq_Value=4000000
|
RCC.VCOInput1Freq_Value=4000000
|
||||||
RCC.VCOInput2Freq_Value=375000
|
RCC.VCOInput2Freq_Value=375000
|
||||||
RCC.VCOInput3Freq_Value=375000
|
RCC.VCOInput3Freq_Value=375000
|
||||||
|
SDMMC1.ClockDiv=4
|
||||||
|
SDMMC1.IPParameters=ClockDiv
|
||||||
SH.FMC_A0.0=FMC_A0,12b-sda1
|
SH.FMC_A0.0=FMC_A0,12b-sda1
|
||||||
SH.FMC_A0.ConfNb=1
|
SH.FMC_A0.ConfNb=1
|
||||||
SH.FMC_A1.0=FMC_A1,12b-sda1
|
SH.FMC_A1.0=FMC_A1,12b-sda1
|
||||||
|
@ -519,8 +707,21 @@ SH.FMC_SDNRAS.0=FMC_SDNRAS,12b-sda1
|
||||||
SH.FMC_SDNRAS.ConfNb=1
|
SH.FMC_SDNRAS.ConfNb=1
|
||||||
SH.FMC_SDNWE.0=FMC_SDNWE,12b-sda1
|
SH.FMC_SDNWE.0=FMC_SDNWE,12b-sda1
|
||||||
SH.FMC_SDNWE.ConfNb=1
|
SH.FMC_SDNWE.ConfNb=1
|
||||||
|
SH.S_TIM1_CH1.0=TIM1_CH1,PWM Generation1 CH1
|
||||||
|
SH.S_TIM1_CH1.ConfNb=1
|
||||||
|
TIM1.AutoReloadPreload=TIM_AUTORELOAD_PRELOAD_ENABLE
|
||||||
|
TIM1.Channel-PWM\ Generation1\ CH1=TIM_CHANNEL_1
|
||||||
|
TIM1.IPParameters=Channel-PWM Generation1 CH1,Period,AutoReloadPreload,Pulse-PWM Generation1 CH1
|
||||||
|
TIM1.Period=7
|
||||||
|
TIM1.Pulse-PWM\ Generation1\ CH1=3
|
||||||
USART1.IPParameters=VirtualMode-Asynchronous
|
USART1.IPParameters=VirtualMode-Asynchronous
|
||||||
USART1.VirtualMode-Asynchronous=VM_ASYNC
|
USART1.VirtualMode-Asynchronous=VM_ASYNC
|
||||||
|
USB_OTG_FS.IPParameters=VirtualMode
|
||||||
|
USB_OTG_FS.VirtualMode=Device_Only
|
||||||
|
VP_RTC_VS_RTC_Activate.Mode=RTC_Enabled
|
||||||
|
VP_RTC_VS_RTC_Activate.Signal=RTC_VS_RTC_Activate
|
||||||
|
VP_RTC_VS_RTC_Calendar.Mode=RTC_Calendar
|
||||||
|
VP_RTC_VS_RTC_Calendar.Signal=RTC_VS_RTC_Calendar
|
||||||
VP_SYS_VS_Systick.Mode=SysTick
|
VP_SYS_VS_Systick.Mode=SysTick
|
||||||
VP_SYS_VS_Systick.Signal=SYS_VS_Systick
|
VP_SYS_VS_Systick.Signal=SYS_VS_Systick
|
||||||
board=custom
|
board=custom
|
||||||
|
|
|
@ -18,7 +18,7 @@ menu "On-chip Peripheral Drivers"
|
||||||
bool "Enable UART"
|
bool "Enable UART"
|
||||||
default y
|
default y
|
||||||
select RT_USING_SERIAL
|
select RT_USING_SERIAL
|
||||||
|
|
||||||
if BSP_USING_UART
|
if BSP_USING_UART
|
||||||
config BSP_USING_UART1
|
config BSP_USING_UART1
|
||||||
bool "Enable UART1"
|
bool "Enable UART1"
|
||||||
|
@ -37,8 +37,8 @@ menu "On-chip Peripheral Drivers"
|
||||||
bool "Enable UART2 RX DMA"
|
bool "Enable UART2 RX DMA"
|
||||||
depends on BSP_USING_UART2 && RT_SERIAL_USING_DMA
|
depends on BSP_USING_UART2 && RT_SERIAL_USING_DMA
|
||||||
default n
|
default n
|
||||||
|
|
||||||
config BSP_USING_LPUART1
|
config BSP_USING_LPUART1
|
||||||
bool "Enable LPUART1"
|
bool "Enable LPUART1"
|
||||||
default n
|
default n
|
||||||
|
|
||||||
|
@ -47,13 +47,30 @@ menu "On-chip Peripheral Drivers"
|
||||||
depends on BSP_USING_LPUART1 && RT_SERIAL_USING_DMA
|
depends on BSP_USING_LPUART1 && RT_SERIAL_USING_DMA
|
||||||
default n
|
default n
|
||||||
endif
|
endif
|
||||||
|
|
||||||
config BSP_USING_SDRAM
|
config BSP_USING_QSPI
|
||||||
bool "Enable SDRAM"
|
bool "Enable QSPI BUS"
|
||||||
default n
|
select RT_USING_QSPI
|
||||||
|
select RT_USING_SPI
|
||||||
|
default n
|
||||||
|
|
||||||
source "$RTT_DIR/bsp/stm32/libraries/HAL_Drivers/Kconfig"
|
source "$RTT_DIR/bsp/stm32/libraries/HAL_Drivers/Kconfig"
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
|
||||||
|
menu "Onboard Peripheral Drivers"
|
||||||
|
|
||||||
|
config BSP_USING_SDRAM
|
||||||
|
bool "Enable SDRAM"
|
||||||
|
default n
|
||||||
|
|
||||||
|
config BSP_USING_QSPI_FLASH
|
||||||
|
bool "Enable QSPI FLASH (W25Q256 qspi)"
|
||||||
|
select BSP_USING_QSPI
|
||||||
|
select RT_USING_SFUD
|
||||||
|
select RT_SFUD_USING_QSPI
|
||||||
|
default n
|
||||||
|
|
||||||
|
endmenu
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
|
|
@ -14,6 +14,9 @@ CubeMX_Config/Core/Src/stm32h7xx_hal_msp.c
|
||||||
|
|
||||||
if GetDepend(['BSP_USING_SDRAM']):
|
if GetDepend(['BSP_USING_SDRAM']):
|
||||||
src += Glob('ports/sdram_test.c')
|
src += Glob('ports/sdram_test.c')
|
||||||
|
if GetDepend(['BSP_USING_QSPI_FLASH']):
|
||||||
|
src += ['ports/drv_qspi_flash.c']
|
||||||
|
|
||||||
|
|
||||||
path = [cwd]
|
path = [cwd]
|
||||||
path += [cwd + '/CubeMX_Config/Core/Inc']
|
path += [cwd + '/CubeMX_Config/Core/Inc']
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2006-2021, RT-Thread Development Team
|
* Copyright (c) 2006-2022, RT-Thread Development Team
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*
|
*
|
||||||
|
@ -28,14 +28,15 @@ void SystemClock_Config(void)
|
||||||
/** Initializes the RCC Oscillators according to the specified parameters
|
/** Initializes the RCC Oscillators according to the specified parameters
|
||||||
* in the RCC_OscInitTypeDef structure.
|
* in the RCC_OscInitTypeDef structure.
|
||||||
*/
|
*/
|
||||||
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
|
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI48|RCC_OSCILLATORTYPE_HSE;
|
||||||
RCC_OscInitStruct.HSEState = RCC_HSE_ON;
|
RCC_OscInitStruct.HSEState = RCC_HSE_ON;
|
||||||
|
RCC_OscInitStruct.HSI48State = RCC_HSI48_ON;
|
||||||
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
|
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
|
||||||
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
|
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
|
||||||
RCC_OscInitStruct.PLL.PLLM = 3;
|
RCC_OscInitStruct.PLL.PLLM = 3;
|
||||||
RCC_OscInitStruct.PLL.PLLN = 200;
|
RCC_OscInitStruct.PLL.PLLN = 200;
|
||||||
RCC_OscInitStruct.PLL.PLLP = 2;
|
RCC_OscInitStruct.PLL.PLLP = 2;
|
||||||
RCC_OscInitStruct.PLL.PLLQ = 2;
|
RCC_OscInitStruct.PLL.PLLQ = 4;
|
||||||
RCC_OscInitStruct.PLL.PLLR = 2;
|
RCC_OscInitStruct.PLL.PLLR = 2;
|
||||||
RCC_OscInitStruct.PLL.PLLRGE = RCC_PLL1VCIRANGE_2;
|
RCC_OscInitStruct.PLL.PLLRGE = RCC_PLL1VCIRANGE_2;
|
||||||
RCC_OscInitStruct.PLL.PLLVCOSEL = RCC_PLL1VCOWIDE;
|
RCC_OscInitStruct.PLL.PLLVCOSEL = RCC_PLL1VCOWIDE;
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2006-2021, RT-Thread Development Team
|
* Copyright (c) 2006-2022, RT-Thread Development Team
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*
|
*
|
||||||
* Change Logs:
|
* Change Logs:
|
||||||
* Date Author Notes
|
* Date Author Notes
|
||||||
* 2021-12-14 supperthomas first version
|
* 2021-12-14 supperthomas first version
|
||||||
* 2022-03-14 wwt add sram2
|
* 2022-03-16 Miaowulue add sram2
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,99 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2006-2022, RT-Thread Development Team
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*
|
||||||
|
* Change Logs:
|
||||||
|
* Date Author Notes
|
||||||
|
* 2018-11-27 zylx first version
|
||||||
|
* 2022-03-16 Miaowulue add dfs mount
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <board.h>
|
||||||
|
#include <drv_qspi.h>
|
||||||
|
#include <rtdevice.h>
|
||||||
|
#include <rthw.h>
|
||||||
|
#include <finsh.h>
|
||||||
|
#include <dfs_elm.h>
|
||||||
|
#include <dfs_fs.h>
|
||||||
|
|
||||||
|
#ifdef BSP_USING_QSPI_FLASH
|
||||||
|
|
||||||
|
#include "spi_flash.h"
|
||||||
|
#include "spi_flash_sfud.h"
|
||||||
|
|
||||||
|
char w25qxx_read_status_register2(struct rt_qspi_device *device)
|
||||||
|
{
|
||||||
|
/* 0x35 read status register2 */
|
||||||
|
char instruction = 0x35, status;
|
||||||
|
|
||||||
|
rt_qspi_send_then_recv(device, &instruction, 1, &status, 1);
|
||||||
|
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
void w25qxx_write_enable(struct rt_qspi_device *device)
|
||||||
|
{
|
||||||
|
/* 0x06 write enable */
|
||||||
|
char instruction = 0x06;
|
||||||
|
|
||||||
|
rt_qspi_send(device, &instruction, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
void w25qxx_enter_qspi_mode(struct rt_qspi_device *device)
|
||||||
|
{
|
||||||
|
char status = 0;
|
||||||
|
/* 0x38 enter qspi mode */
|
||||||
|
char instruction = 0x38;
|
||||||
|
char write_status2_buf[2] = {0};
|
||||||
|
|
||||||
|
/* 0x31 write status register2 */
|
||||||
|
write_status2_buf[0] = 0x31;
|
||||||
|
|
||||||
|
status = w25qxx_read_status_register2(device);
|
||||||
|
if (!(status & 0x02))
|
||||||
|
{
|
||||||
|
status |= 1 << 1;
|
||||||
|
w25qxx_write_enable(device);
|
||||||
|
write_status2_buf[1] = status;
|
||||||
|
rt_qspi_send(device, &write_status2_buf, 2);
|
||||||
|
rt_qspi_send(device, &instruction, 1);
|
||||||
|
rt_kprintf("flash already enter qspi mode\n");
|
||||||
|
rt_thread_mdelay(10);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static int rt_hw_qspi_flash_with_sfud_init(void)
|
||||||
|
{
|
||||||
|
stm32_qspi_bus_attach_device("qspi1", "qspi10", RT_NULL, 4, w25qxx_enter_qspi_mode, RT_NULL);
|
||||||
|
|
||||||
|
/* init W25Q256 */
|
||||||
|
if (RT_NULL == rt_sfud_flash_probe("W25Q256", "qspi10"))
|
||||||
|
{
|
||||||
|
return -RT_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
return RT_EOK;
|
||||||
|
}
|
||||||
|
INIT_DEVICE_EXPORT(rt_hw_qspi_flash_with_sfud_init);
|
||||||
|
|
||||||
|
static int mnt_qspi_flash_init(void)
|
||||||
|
{
|
||||||
|
#ifdef RT_USING_DFS_ROMFS
|
||||||
|
if (dfs_mount("W25Q256", "/FLASH", "elm", 0, 0) == RT_EOK)
|
||||||
|
#else
|
||||||
|
if (dfs_mount("W25Q256", "/", "elm", 0, 0) == RT_EOK)
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
rt_kprintf("Mount spi flash successfully!\n");
|
||||||
|
return RT_EOK;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
rt_kprintf("Mount spi flash fail!\n");
|
||||||
|
return -RT_ERROR;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
INIT_APP_EXPORT(mnt_qspi_flash_init);
|
||||||
|
|
||||||
|
#endif/* BSP_USING_QSPI_FLASH */
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2006-2021, RT-Thread Development Team
|
* Copyright (c) 2006-2022, RT-Thread Development Team
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*
|
*
|
||||||
|
|
|
@ -105,7 +105,7 @@
|
||||||
#define RT_DFS_ELM_REENTRANT
|
#define RT_DFS_ELM_REENTRANT
|
||||||
#define RT_DFS_ELM_MUTEX_TIMEOUT 3000
|
#define RT_DFS_ELM_MUTEX_TIMEOUT 3000
|
||||||
#define RT_USING_DFS_DEVFS
|
#define RT_USING_DFS_DEVFS
|
||||||
#define RT_USING_DFS_ROMFS
|
#define RT_USING_DFS_RAMFS
|
||||||
|
|
||||||
/* Device Drivers */
|
/* Device Drivers */
|
||||||
|
|
||||||
|
@ -116,6 +116,19 @@
|
||||||
#define RT_SERIAL_USING_DMA
|
#define RT_SERIAL_USING_DMA
|
||||||
#define RT_SERIAL_RB_BUFSZ 64
|
#define RT_SERIAL_RB_BUFSZ 64
|
||||||
#define RT_USING_PIN
|
#define RT_USING_PIN
|
||||||
|
#define RT_USING_SDIO
|
||||||
|
#define RT_SDIO_STACK_SIZE 512
|
||||||
|
#define RT_SDIO_THREAD_PRIORITY 15
|
||||||
|
#define RT_MMCSD_STACK_SIZE 1024
|
||||||
|
#define RT_MMCSD_THREAD_PREORITY 22
|
||||||
|
#define RT_MMCSD_MAX_PARTITION 16
|
||||||
|
#define RT_USING_SPI
|
||||||
|
#define RT_USING_QSPI
|
||||||
|
#define RT_USING_SFUD
|
||||||
|
#define RT_SFUD_USING_SFDP
|
||||||
|
#define RT_SFUD_USING_FLASH_INFO_TABLE
|
||||||
|
#define RT_SFUD_USING_QSPI
|
||||||
|
#define RT_SFUD_SPI_MAX_HZ 50000000
|
||||||
|
|
||||||
/* Using USB */
|
/* Using USB */
|
||||||
|
|
||||||
|
@ -163,7 +176,12 @@
|
||||||
#define BSP_USING_GPIO
|
#define BSP_USING_GPIO
|
||||||
#define BSP_USING_UART
|
#define BSP_USING_UART
|
||||||
#define BSP_USING_UART1
|
#define BSP_USING_UART1
|
||||||
|
#define BSP_USING_QSPI
|
||||||
|
|
||||||
|
/* Onboard Peripheral Drivers */
|
||||||
|
|
||||||
#define BSP_USING_SDRAM
|
#define BSP_USING_SDRAM
|
||||||
|
#define BSP_USING_QSPI_FLASH
|
||||||
|
|
||||||
/* More Drivers */
|
/* More Drivers */
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue