Added LTDC initialization code.
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
This commit is contained in:
parent
446b9220da
commit
37bfc7094a
|
@ -23,10 +23,11 @@ set(C_SOURCES
|
|||
"Core/Src/stm32h7xx_it.c"
|
||||
"Core/Src/stm32h7xx_hal_msp.c"
|
||||
"Core/Src/stm32h7xx_hal_timebase_tim.c"
|
||||
"Core/Src/user_tasks.c"
|
||||
"Core/Src/tasks/sdram_task.c"
|
||||
"Core/Src/printf_impl.c"
|
||||
"Core/Src/system_stm32h7xx.c"
|
||||
"Core/Src/user_tasks.c"
|
||||
"Core/Src/user_lvgl_impl.c"
|
||||
"Core/Src/user_printf_impl.c"
|
||||
"Core/Src/tasks/user_hello_task.c"
|
||||
"Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c"
|
||||
"Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c"
|
||||
"Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c"
|
||||
|
@ -51,6 +52,8 @@ set(C_SOURCES
|
|||
"Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sdram.c"
|
||||
"Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c"
|
||||
"Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c"
|
||||
"Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_ltdc.c"
|
||||
"Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_ltdc_ex.c"
|
||||
"Middlewares/Third_Party/FreeRTOS/Source/croutine.c"
|
||||
"Middlewares/Third_Party/FreeRTOS/Source/event_groups.c"
|
||||
"Middlewares/Third_Party/FreeRTOS/Source/list.c"
|
||||
|
|
|
@ -80,14 +80,14 @@ typedef int16_t lv_coord_t;
|
|||
#define LV_MEM_CUSTOM 0
|
||||
#if LV_MEM_CUSTOM == 0
|
||||
/* Size of the memory used by `lv_mem_alloc` in bytes (>= 2kB)*/
|
||||
# define LV_MEM_SIZE (32U * 1024U)
|
||||
# define LV_MEM_SIZE (1024U * 1024U)
|
||||
|
||||
/* Compiler prefix for a big array declaration */
|
||||
# define LV_MEM_ATTR
|
||||
|
||||
/* Set an address for the memory pool instead of allocating it as an array.
|
||||
* Can be in external SRAM too. */
|
||||
# define LV_MEM_ADR 0
|
||||
# define LV_MEM_ADR 0xD0000000
|
||||
|
||||
/* Automatically defrag. on free. Defrag. means joining the adjacent free cells. */
|
||||
# define LV_MEM_AUTO_DEFRAG 1
|
||||
|
@ -192,7 +192,7 @@ typedef void * lv_group_user_data_t;
|
|||
#define LV_USE_GPU_STM32_DMA2D 0
|
||||
/*If enabling LV_USE_GPU_STM32_DMA2D, LV_GPU_DMA2D_CMSIS_INCLUDE must be defined to include path of CMSIS header of target processor
|
||||
e.g. "stm32f769xx.h" or "stm32f429xx.h" */
|
||||
#define LV_GPU_DMA2D_CMSIS_INCLUDE
|
||||
#define LV_GPU_DMA2D_CMSIS_INCLUDE "stm32h750xx.h"
|
||||
|
||||
/*1: Use PXP for CPU off-load on NXP RTxxx platforms */
|
||||
#define LV_USE_GPU_NXP_PXP 0
|
||||
|
@ -311,7 +311,7 @@ typedef void * lv_indev_drv_user_data_t; /*Type of user data in the i
|
|||
*===============*/
|
||||
|
||||
/*1: Enable the log module*/
|
||||
#define LV_USE_LOG 0
|
||||
#define LV_USE_LOG 1
|
||||
#if LV_USE_LOG
|
||||
/* How important log should be added:
|
||||
* LV_LOG_LEVEL_TRACE A lot of logs to give detailed information
|
||||
|
@ -320,7 +320,7 @@ typedef void * lv_indev_drv_user_data_t; /*Type of user data in the i
|
|||
* LV_LOG_LEVEL_ERROR Only critical issue, when the system may fail
|
||||
* LV_LOG_LEVEL_NONE Do not log anything
|
||||
*/
|
||||
# define LV_LOG_LEVEL LV_LOG_LEVEL_WARN
|
||||
# define LV_LOG_LEVEL LV_LOG_LEVEL_INFO
|
||||
|
||||
/* 1: Print the log with 'printf';
|
||||
* 0: user need to register a callback with `lv_log_register_print_cb`*/
|
||||
|
|
|
@ -60,6 +60,8 @@ void Error_Handler(void);
|
|||
/* USER CODE END EFP */
|
||||
|
||||
/* Private defines -----------------------------------------------------------*/
|
||||
#define LTDC_BL_Pin GPIO_PIN_13
|
||||
#define LTDC_BL_GPIO_Port GPIOD
|
||||
/* USER CODE BEGIN Private defines */
|
||||
|
||||
/* USER CODE END Private defines */
|
||||
|
|
|
@ -63,7 +63,7 @@
|
|||
/* #define HAL_SMBUS_MODULE_ENABLED */
|
||||
/* #define HAL_IWDG_MODULE_ENABLED */
|
||||
/* #define HAL_LPTIM_MODULE_ENABLED */
|
||||
/* #define HAL_LTDC_MODULE_ENABLED */
|
||||
#define HAL_LTDC_MODULE_ENABLED
|
||||
/* #define HAL_QSPI_MODULE_ENABLED */
|
||||
/* #define HAL_RNG_MODULE_ENABLED */
|
||||
#define HAL_RTC_MODULE_ENABLED
|
||||
|
|
|
@ -56,10 +56,14 @@ void DebugMon_Handler(void);
|
|||
void PVD_AVD_IRQHandler(void);
|
||||
void FLASH_IRQHandler(void);
|
||||
void RCC_IRQHandler(void);
|
||||
void TIM2_IRQHandler(void);
|
||||
void TIM3_IRQHandler(void);
|
||||
void USART1_IRQHandler(void);
|
||||
void FMC_IRQHandler(void);
|
||||
void TIM7_IRQHandler(void);
|
||||
void FPU_IRQHandler(void);
|
||||
void LTDC_IRQHandler(void);
|
||||
void LTDC_ER_IRQHandler(void);
|
||||
void HSEM1_IRQHandler(void);
|
||||
/* USER CODE BEGIN EFP */
|
||||
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
#ifndef __USER_LVGL_IMPL_H
|
||||
#define __USER_LVGL_IMPL_H
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include "lvgl.h"
|
||||
|
||||
void user_lvgl_impl_log_cb(lv_log_level_t level, const char *file, uint32_t line, const char *fn_name, const char *dsc);
|
||||
|
||||
#endif
|
|
@ -5,8 +5,8 @@
|
|||
|
||||
void user_tasks_init(void);
|
||||
|
||||
extern osThreadId_t g_sdram_task_handle;
|
||||
extern osThreadAttr_t g_sdram_task_attributes;
|
||||
void sdram_task(void * argument);
|
||||
extern osThreadId_t g_user_hello_task_handle;
|
||||
extern osThreadAttr_t g_user_hello_task_attributes;
|
||||
void user_hello_task(void * argument);
|
||||
|
||||
#endif
|
112
Core/Src/main.c
112
Core/Src/main.c
|
@ -44,6 +44,8 @@
|
|||
|
||||
/* Private variables ---------------------------------------------------------*/
|
||||
|
||||
LTDC_HandleTypeDef hltdc;
|
||||
|
||||
RTC_HandleTypeDef hrtc;
|
||||
|
||||
TIM_HandleTypeDef htim2;
|
||||
|
@ -66,6 +68,7 @@ const osThreadAttr_t defaultTask_attributes = {
|
|||
|
||||
/* Private function prototypes -----------------------------------------------*/
|
||||
void SystemClock_Config(void);
|
||||
void PeriphCommonClock_Config(void);
|
||||
static void MPU_Config(void);
|
||||
static void MX_GPIO_Init(void);
|
||||
static void MX_RTC_Init(void);
|
||||
|
@ -73,6 +76,7 @@ static void MX_TIM3_Init(void);
|
|||
static void MX_TIM2_Init(void);
|
||||
static void MX_FMC_Init(void);
|
||||
static void MX_USART1_UART_Init(void);
|
||||
static void MX_LTDC_Init(void);
|
||||
void StartDefaultTask(void *argument);
|
||||
|
||||
/* USER CODE BEGIN PFP */
|
||||
|
@ -115,6 +119,9 @@ int main(void)
|
|||
/* Configure the system clock */
|
||||
SystemClock_Config();
|
||||
|
||||
/* Configure the peripherals common clocks */
|
||||
PeriphCommonClock_Config();
|
||||
|
||||
/* USER CODE BEGIN SysInit */
|
||||
|
||||
/* USER CODE END SysInit */
|
||||
|
@ -126,6 +133,7 @@ int main(void)
|
|||
MX_TIM2_Init();
|
||||
MX_FMC_Init();
|
||||
MX_USART1_UART_Init();
|
||||
MX_LTDC_Init();
|
||||
/* USER CODE BEGIN 2 */
|
||||
|
||||
/* USER CODE END 2 */
|
||||
|
@ -238,6 +246,94 @@ void SystemClock_Config(void)
|
|||
HAL_RCC_EnableCSS();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Peripherals Common Clock Configuration
|
||||
* @retval None
|
||||
*/
|
||||
void PeriphCommonClock_Config(void)
|
||||
{
|
||||
RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
|
||||
|
||||
/** Initializes the peripherals clock
|
||||
*/
|
||||
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USART1|RCC_PERIPHCLK_LTDC;
|
||||
PeriphClkInitStruct.PLL3.PLL3M = 25;
|
||||
PeriphClkInitStruct.PLL3.PLL3N = 172;
|
||||
PeriphClkInitStruct.PLL3.PLL3P = 2;
|
||||
PeriphClkInitStruct.PLL3.PLL3Q = 4;
|
||||
PeriphClkInitStruct.PLL3.PLL3R = 10;
|
||||
PeriphClkInitStruct.PLL3.PLL3RGE = RCC_PLL3VCIRANGE_0;
|
||||
PeriphClkInitStruct.PLL3.PLL3VCOSEL = RCC_PLL3VCOMEDIUM;
|
||||
PeriphClkInitStruct.PLL3.PLL3FRACN = 1762;
|
||||
PeriphClkInitStruct.Usart16ClockSelection = RCC_USART16CLKSOURCE_PLL3;
|
||||
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief LTDC Initialization Function
|
||||
* @param None
|
||||
* @retval None
|
||||
*/
|
||||
static void MX_LTDC_Init(void)
|
||||
{
|
||||
|
||||
/* USER CODE BEGIN LTDC_Init 0 */
|
||||
|
||||
/* USER CODE END LTDC_Init 0 */
|
||||
|
||||
LTDC_LayerCfgTypeDef pLayerCfg = {0};
|
||||
|
||||
/* USER CODE BEGIN LTDC_Init 1 */
|
||||
|
||||
/* USER CODE END LTDC_Init 1 */
|
||||
hltdc.Instance = LTDC;
|
||||
hltdc.Init.HSPolarity = LTDC_HSPOLARITY_AL;
|
||||
hltdc.Init.VSPolarity = LTDC_VSPOLARITY_AL;
|
||||
hltdc.Init.DEPolarity = LTDC_DEPOLARITY_AL;
|
||||
hltdc.Init.PCPolarity = LTDC_PCPOLARITY_IPC;
|
||||
hltdc.Init.HorizontalSync = 19;
|
||||
hltdc.Init.VerticalSync = 9;
|
||||
hltdc.Init.AccumulatedHBP = 65;
|
||||
hltdc.Init.AccumulatedVBP = 32;
|
||||
hltdc.Init.AccumulatedActiveW = 865;
|
||||
hltdc.Init.AccumulatedActiveH = 512;
|
||||
hltdc.Init.TotalWidth = 1075;
|
||||
hltdc.Init.TotalHeigh = 534;
|
||||
hltdc.Init.Backcolor.Blue = 0;
|
||||
hltdc.Init.Backcolor.Green = 0;
|
||||
hltdc.Init.Backcolor.Red = 0;
|
||||
if (HAL_LTDC_Init(&hltdc) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
pLayerCfg.WindowX0 = 0;
|
||||
pLayerCfg.WindowX1 = 799;
|
||||
pLayerCfg.WindowY0 = 0;
|
||||
pLayerCfg.WindowY1 = 479;
|
||||
pLayerCfg.PixelFormat = LTDC_PIXEL_FORMAT_ARGB8888;
|
||||
pLayerCfg.Alpha = 255;
|
||||
pLayerCfg.Alpha0 = 255;
|
||||
pLayerCfg.BlendingFactor1 = LTDC_BLENDING_FACTOR1_PAxCA;
|
||||
pLayerCfg.BlendingFactor2 = LTDC_BLENDING_FACTOR2_PAxCA;
|
||||
pLayerCfg.FBStartAdress = 0xD0100000;
|
||||
pLayerCfg.ImageWidth = 800;
|
||||
pLayerCfg.ImageHeight = 480;
|
||||
pLayerCfg.Backcolor.Blue = 0;
|
||||
pLayerCfg.Backcolor.Green = 0;
|
||||
pLayerCfg.Backcolor.Red = 0;
|
||||
if (HAL_LTDC_ConfigLayer(&hltdc, &pLayerCfg, 0) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
/* USER CODE BEGIN LTDC_Init 2 */
|
||||
|
||||
/* USER CODE END LTDC_Init 2 */
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief RTC Initialization Function
|
||||
* @param None
|
||||
|
@ -553,10 +649,13 @@ static void MX_FMC_Init(void)
|
|||
*/
|
||||
static void MX_GPIO_Init(void)
|
||||
{
|
||||
GPIO_InitTypeDef GPIO_InitStruct = {0};
|
||||
|
||||
/* GPIO Ports Clock Enable */
|
||||
__HAL_RCC_GPIOI_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOK_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOE_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOJ_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOA_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOH_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOC_CLK_ENABLE();
|
||||
|
@ -565,6 +664,16 @@ static void MX_GPIO_Init(void)
|
|||
__HAL_RCC_GPIOD_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOF_CLK_ENABLE();
|
||||
|
||||
/*Configure GPIO pin Output Level */
|
||||
HAL_GPIO_WritePin(LTDC_BL_GPIO_Port, LTDC_BL_Pin, GPIO_PIN_RESET);
|
||||
|
||||
/*Configure GPIO pin : LTDC_BL_Pin */
|
||||
GPIO_InitStruct.Pin = LTDC_BL_Pin;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
||||
HAL_GPIO_Init(LTDC_BL_GPIO_Port, &GPIO_InitStruct);
|
||||
|
||||
}
|
||||
|
||||
/* USER CODE BEGIN 4 */
|
||||
|
@ -587,6 +696,9 @@ void StartDefaultTask(void *argument)
|
|||
{
|
||||
/* USER CODE BEGIN 5 */
|
||||
|
||||
// Enable LCD backlight
|
||||
HAL_GPIO_WritePin(LTDC_BL_GPIO_Port, LTDC_BL_Pin, GPIO_PIN_SET);
|
||||
|
||||
user_tasks_init();
|
||||
|
||||
HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_3);
|
||||
|
|
|
@ -97,6 +97,159 @@ void HAL_MspInit(void)
|
|||
/* USER CODE END MspInit 1 */
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief LTDC MSP Initialization
|
||||
* This function configures the hardware resources used in this example
|
||||
* @param hltdc: LTDC handle pointer
|
||||
* @retval None
|
||||
*/
|
||||
void HAL_LTDC_MspInit(LTDC_HandleTypeDef* hltdc)
|
||||
{
|
||||
GPIO_InitTypeDef GPIO_InitStruct = {0};
|
||||
if(hltdc->Instance==LTDC)
|
||||
{
|
||||
/* USER CODE BEGIN LTDC_MspInit 0 */
|
||||
|
||||
/* USER CODE END LTDC_MspInit 0 */
|
||||
/* Peripheral clock enable */
|
||||
__HAL_RCC_LTDC_CLK_ENABLE();
|
||||
|
||||
__HAL_RCC_GPIOK_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOJ_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOI_CLK_ENABLE();
|
||||
/**LTDC GPIO Configuration
|
||||
PK5 ------> LTDC_B6
|
||||
PK4 ------> LTDC_B5
|
||||
PJ15 ------> LTDC_B3
|
||||
PK6 ------> LTDC_B7
|
||||
PK3 ------> LTDC_B4
|
||||
PK7 ------> LTDC_DE
|
||||
PJ14 ------> LTDC_B2
|
||||
PJ12 ------> LTDC_B0
|
||||
PJ13 ------> LTDC_B1
|
||||
PI12 ------> LTDC_HSYNC
|
||||
PI13 ------> LTDC_VSYNC
|
||||
PI14 ------> LTDC_CLK
|
||||
PK2 ------> LTDC_G7
|
||||
PK0 ------> LTDC_G5
|
||||
PK1 ------> LTDC_G6
|
||||
PJ11 ------> LTDC_G4
|
||||
PJ10 ------> LTDC_G3
|
||||
PJ9 ------> LTDC_G2
|
||||
PJ0 ------> LTDC_R1
|
||||
PJ8 ------> LTDC_G1
|
||||
PJ7 ------> LTDC_G0
|
||||
PJ6 ------> LTDC_R7
|
||||
PI15 ------> LTDC_R0
|
||||
PJ1 ------> LTDC_R2
|
||||
PJ5 ------> LTDC_R6
|
||||
PJ2 ------> LTDC_R3
|
||||
PJ3 ------> LTDC_R4
|
||||
PJ4 ------> LTDC_R5
|
||||
*/
|
||||
GPIO_InitStruct.Pin = GPIO_PIN_5|GPIO_PIN_4|GPIO_PIN_6|GPIO_PIN_3
|
||||
|GPIO_PIN_7|GPIO_PIN_2|GPIO_PIN_0|GPIO_PIN_1;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
||||
GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;
|
||||
HAL_GPIO_Init(GPIOK, &GPIO_InitStruct);
|
||||
|
||||
GPIO_InitStruct.Pin = GPIO_PIN_15|GPIO_PIN_14|GPIO_PIN_12|GPIO_PIN_13
|
||||
|GPIO_PIN_11|GPIO_PIN_10|GPIO_PIN_9|GPIO_PIN_0
|
||||
|GPIO_PIN_8|GPIO_PIN_7|GPIO_PIN_6|GPIO_PIN_1
|
||||
|GPIO_PIN_5|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
||||
GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;
|
||||
HAL_GPIO_Init(GPIOJ, &GPIO_InitStruct);
|
||||
|
||||
GPIO_InitStruct.Pin = GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
||||
GPIO_InitStruct.Alternate = GPIO_AF14_LTDC;
|
||||
HAL_GPIO_Init(GPIOI, &GPIO_InitStruct);
|
||||
|
||||
/* LTDC interrupt Init */
|
||||
HAL_NVIC_SetPriority(LTDC_IRQn, 5, 0);
|
||||
HAL_NVIC_EnableIRQ(LTDC_IRQn);
|
||||
HAL_NVIC_SetPriority(LTDC_ER_IRQn, 5, 0);
|
||||
HAL_NVIC_EnableIRQ(LTDC_ER_IRQn);
|
||||
/* USER CODE BEGIN LTDC_MspInit 1 */
|
||||
|
||||
/* USER CODE END LTDC_MspInit 1 */
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief LTDC MSP De-Initialization
|
||||
* This function freeze the hardware resources used in this example
|
||||
* @param hltdc: LTDC handle pointer
|
||||
* @retval None
|
||||
*/
|
||||
void HAL_LTDC_MspDeInit(LTDC_HandleTypeDef* hltdc)
|
||||
{
|
||||
if(hltdc->Instance==LTDC)
|
||||
{
|
||||
/* USER CODE BEGIN LTDC_MspDeInit 0 */
|
||||
|
||||
/* USER CODE END LTDC_MspDeInit 0 */
|
||||
/* Peripheral clock disable */
|
||||
__HAL_RCC_LTDC_CLK_DISABLE();
|
||||
|
||||
/**LTDC GPIO Configuration
|
||||
PK5 ------> LTDC_B6
|
||||
PK4 ------> LTDC_B5
|
||||
PJ15 ------> LTDC_B3
|
||||
PK6 ------> LTDC_B7
|
||||
PK3 ------> LTDC_B4
|
||||
PK7 ------> LTDC_DE
|
||||
PJ14 ------> LTDC_B2
|
||||
PJ12 ------> LTDC_B0
|
||||
PJ13 ------> LTDC_B1
|
||||
PI12 ------> LTDC_HSYNC
|
||||
PI13 ------> LTDC_VSYNC
|
||||
PI14 ------> LTDC_CLK
|
||||
PK2 ------> LTDC_G7
|
||||
PK0 ------> LTDC_G5
|
||||
PK1 ------> LTDC_G6
|
||||
PJ11 ------> LTDC_G4
|
||||
PJ10 ------> LTDC_G3
|
||||
PJ9 ------> LTDC_G2
|
||||
PJ0 ------> LTDC_R1
|
||||
PJ8 ------> LTDC_G1
|
||||
PJ7 ------> LTDC_G0
|
||||
PJ6 ------> LTDC_R7
|
||||
PI15 ------> LTDC_R0
|
||||
PJ1 ------> LTDC_R2
|
||||
PJ5 ------> LTDC_R6
|
||||
PJ2 ------> LTDC_R3
|
||||
PJ3 ------> LTDC_R4
|
||||
PJ4 ------> LTDC_R5
|
||||
*/
|
||||
HAL_GPIO_DeInit(GPIOK, GPIO_PIN_5|GPIO_PIN_4|GPIO_PIN_6|GPIO_PIN_3
|
||||
|GPIO_PIN_7|GPIO_PIN_2|GPIO_PIN_0|GPIO_PIN_1);
|
||||
|
||||
HAL_GPIO_DeInit(GPIOJ, GPIO_PIN_15|GPIO_PIN_14|GPIO_PIN_12|GPIO_PIN_13
|
||||
|GPIO_PIN_11|GPIO_PIN_10|GPIO_PIN_9|GPIO_PIN_0
|
||||
|GPIO_PIN_8|GPIO_PIN_7|GPIO_PIN_6|GPIO_PIN_1
|
||||
|GPIO_PIN_5|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4);
|
||||
|
||||
HAL_GPIO_DeInit(GPIOI, GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15);
|
||||
|
||||
/* LTDC interrupt DeInit */
|
||||
HAL_NVIC_DisableIRQ(LTDC_IRQn);
|
||||
HAL_NVIC_DisableIRQ(LTDC_ER_IRQn);
|
||||
/* USER CODE BEGIN LTDC_MspDeInit 1 */
|
||||
|
||||
/* USER CODE END LTDC_MspDeInit 1 */
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief RTC MSP Initialization
|
||||
* This function configures the hardware resources used in this example
|
||||
|
@ -166,6 +319,9 @@ void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
|
|||
/* USER CODE END TIM2_MspInit 0 */
|
||||
/* Peripheral clock enable */
|
||||
__HAL_RCC_TIM2_CLK_ENABLE();
|
||||
/* TIM2 interrupt Init */
|
||||
HAL_NVIC_SetPriority(TIM2_IRQn, 5, 0);
|
||||
HAL_NVIC_EnableIRQ(TIM2_IRQn);
|
||||
/* USER CODE BEGIN TIM2_MspInit 1 */
|
||||
|
||||
/* USER CODE END TIM2_MspInit 1 */
|
||||
|
@ -249,6 +405,9 @@ void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)
|
|||
/* USER CODE END TIM2_MspDeInit 0 */
|
||||
/* Peripheral clock disable */
|
||||
__HAL_RCC_TIM2_CLK_DISABLE();
|
||||
|
||||
/* TIM2 interrupt DeInit */
|
||||
HAL_NVIC_DisableIRQ(TIM2_IRQn);
|
||||
/* USER CODE BEGIN TIM2_MspDeInit 1 */
|
||||
|
||||
/* USER CODE END TIM2_MspDeInit 1 */
|
||||
|
@ -279,29 +438,11 @@ void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)
|
|||
void HAL_UART_MspInit(UART_HandleTypeDef* huart)
|
||||
{
|
||||
GPIO_InitTypeDef GPIO_InitStruct = {0};
|
||||
RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
|
||||
if(huart->Instance==USART1)
|
||||
{
|
||||
/* USER CODE BEGIN USART1_MspInit 0 */
|
||||
|
||||
/* USER CODE END USART1_MspInit 0 */
|
||||
/** Initializes the peripherals clock
|
||||
*/
|
||||
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USART1;
|
||||
PeriphClkInitStruct.PLL3.PLL3M = 5;
|
||||
PeriphClkInitStruct.PLL3.PLL3N = 40;
|
||||
PeriphClkInitStruct.PLL3.PLL3P = 2;
|
||||
PeriphClkInitStruct.PLL3.PLL3Q = 4;
|
||||
PeriphClkInitStruct.PLL3.PLL3R = 2;
|
||||
PeriphClkInitStruct.PLL3.PLL3RGE = RCC_PLL3VCIRANGE_2;
|
||||
PeriphClkInitStruct.PLL3.PLL3VCOSEL = RCC_PLL3VCOWIDE;
|
||||
PeriphClkInitStruct.PLL3.PLL3FRACN = 0;
|
||||
PeriphClkInitStruct.Usart16ClockSelection = RCC_USART16CLKSOURCE_PLL3;
|
||||
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
|
||||
/* Peripheral clock enable */
|
||||
__HAL_RCC_USART1_CLK_ENABLE();
|
||||
|
||||
|
@ -508,6 +649,9 @@ static void HAL_FMC_MspInit(void){
|
|||
GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
|
||||
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
|
||||
|
||||
/* Peripheral interrupt init */
|
||||
HAL_NVIC_SetPriority(FMC_IRQn, 5, 0);
|
||||
HAL_NVIC_EnableIRQ(FMC_IRQn);
|
||||
/* USER CODE BEGIN FMC_MspInit 1 */
|
||||
|
||||
/* USER CODE END FMC_MspInit 1 */
|
||||
|
@ -619,6 +763,8 @@ static void HAL_FMC_MspDeInit(void){
|
|||
|
||||
HAL_GPIO_DeInit(GPIOC, GPIO_PIN_0);
|
||||
|
||||
/* Peripheral interrupt DeInit */
|
||||
HAL_NVIC_DisableIRQ(FMC_IRQn);
|
||||
/* USER CODE BEGIN FMC_MspDeInit 1 */
|
||||
|
||||
/* USER CODE END FMC_MspDeInit 1 */
|
||||
|
|
|
@ -56,6 +56,9 @@
|
|||
/* USER CODE END 0 */
|
||||
|
||||
/* External variables --------------------------------------------------------*/
|
||||
extern SDRAM_HandleTypeDef hsdram1;
|
||||
extern LTDC_HandleTypeDef hltdc;
|
||||
extern TIM_HandleTypeDef htim2;
|
||||
extern TIM_HandleTypeDef htim3;
|
||||
extern UART_HandleTypeDef huart1;
|
||||
extern TIM_HandleTypeDef htim7;
|
||||
|
@ -204,6 +207,20 @@ void RCC_IRQHandler(void)
|
|||
/* USER CODE END RCC_IRQn 1 */
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief This function handles TIM2 global interrupt.
|
||||
*/
|
||||
void TIM2_IRQHandler(void)
|
||||
{
|
||||
/* USER CODE BEGIN TIM2_IRQn 0 */
|
||||
|
||||
/* USER CODE END TIM2_IRQn 0 */
|
||||
HAL_TIM_IRQHandler(&htim2);
|
||||
/* USER CODE BEGIN TIM2_IRQn 1 */
|
||||
|
||||
/* USER CODE END TIM2_IRQn 1 */
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief This function handles TIM3 global interrupt.
|
||||
*/
|
||||
|
@ -232,6 +249,20 @@ void USART1_IRQHandler(void)
|
|||
/* USER CODE END USART1_IRQn 1 */
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief This function handles FMC global interrupt.
|
||||
*/
|
||||
void FMC_IRQHandler(void)
|
||||
{
|
||||
/* USER CODE BEGIN FMC_IRQn 0 */
|
||||
|
||||
/* USER CODE END FMC_IRQn 0 */
|
||||
HAL_SDRAM_IRQHandler(&hsdram1);
|
||||
/* USER CODE BEGIN FMC_IRQn 1 */
|
||||
|
||||
/* USER CODE END FMC_IRQn 1 */
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief This function handles TIM7 global interrupt.
|
||||
*/
|
||||
|
@ -259,6 +290,34 @@ void FPU_IRQHandler(void)
|
|||
/* USER CODE END FPU_IRQn 1 */
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief This function handles LTDC global interrupt.
|
||||
*/
|
||||
void LTDC_IRQHandler(void)
|
||||
{
|
||||
/* USER CODE BEGIN LTDC_IRQn 0 */
|
||||
|
||||
/* USER CODE END LTDC_IRQn 0 */
|
||||
HAL_LTDC_IRQHandler(&hltdc);
|
||||
/* USER CODE BEGIN LTDC_IRQn 1 */
|
||||
|
||||
/* USER CODE END LTDC_IRQn 1 */
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief This function handles LTDC global error interrupt.
|
||||
*/
|
||||
void LTDC_ER_IRQHandler(void)
|
||||
{
|
||||
/* USER CODE BEGIN LTDC_ER_IRQn 0 */
|
||||
|
||||
/* USER CODE END LTDC_ER_IRQn 0 */
|
||||
HAL_LTDC_IRQHandler(&hltdc);
|
||||
/* USER CODE BEGIN LTDC_ER_IRQn 1 */
|
||||
|
||||
/* USER CODE END LTDC_ER_IRQn 1 */
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief This function handles HSEM1 global interrupt.
|
||||
*/
|
||||
|
|
|
@ -1,41 +0,0 @@
|
|||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include "printf.h"
|
||||
|
||||
#include "user_tasks.h"
|
||||
|
||||
// SDRAM BANK 2, default mapping
|
||||
#define SDRAM_START 0xD0000000
|
||||
#define SDRAM_END 0xD4000000
|
||||
|
||||
osThreadId_t g_sdram_task_handle;
|
||||
osThreadAttr_t g_sdram_task_attributes = {
|
||||
.name = "SDRAMT",
|
||||
.stack_size = 256 * 4,
|
||||
.priority = (osPriority_t) osPriorityNormal,
|
||||
};
|
||||
|
||||
void sdram_task(void * argument) {
|
||||
printf("SDRAM test started...\r\n");
|
||||
|
||||
for(uint32_t i = SDRAM_START; i < SDRAM_END; i += 4) {
|
||||
*(uint32_t *)i = i;
|
||||
if(i % 0x10000 == 0) {
|
||||
printf("Write: 0x%08lx\r\n", i);
|
||||
}
|
||||
}
|
||||
for(uint32_t i = SDRAM_START; i < SDRAM_END; i += 4) {
|
||||
if(*(uint32_t *)i != i) {
|
||||
printf("Verify err: 0x%08lx\r\n", i);
|
||||
break;
|
||||
}
|
||||
if(i % 0x10000 == 0) {
|
||||
printf("Verify: 0x%08lx\r\n", i);
|
||||
}
|
||||
}
|
||||
printf("SDRAM test completed.\r\n");
|
||||
|
||||
osThreadExit();
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include "lvgl.h"
|
||||
|
||||
#include "user_tasks.h"
|
||||
|
||||
// SDRAM BANK 2, default mapping
|
||||
#define SDRAM_START 0xD0000000
|
||||
#define SDRAM_END 0xD4000000
|
||||
|
||||
osThreadId_t g_user_hello_task_handle;
|
||||
osThreadAttr_t g_user_hello_task_attributes = {
|
||||
.name = "HELO",
|
||||
.stack_size = 256 * 4,
|
||||
.priority = (osPriority_t) osPriorityNormal,
|
||||
};
|
||||
|
||||
void user_hello_task(void * argument) {
|
||||
LV_LOG_INFO("Hello task initialized.");
|
||||
for(;;) {
|
||||
LV_LOG_INFO("Hello world @%ld.", osKernelGetTickCount());
|
||||
osDelay(1000);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
#include "printf.h"
|
||||
|
||||
#include "user_lvgl_impl.h"
|
||||
|
||||
void user_lvgl_impl_log_cb(lv_log_level_t level, const char *file, uint32_t line, const char *fn_name, const char *dsc) {
|
||||
if(level == LV_LOG_LEVEL_ERROR) printf("\033[31m [ERROR] ");
|
||||
if(level == LV_LOG_LEVEL_WARN) printf("\033[33m [ WARN] ");
|
||||
if(level == LV_LOG_LEVEL_INFO) printf("\033[34m [ INFO] ");
|
||||
if(level == LV_LOG_LEVEL_TRACE) printf("\033[36m [TRACE] ");
|
||||
|
||||
printf("%s:%d, %s(): %s", file, line, fn_name, dsc);
|
||||
|
||||
printf("\033[m\r\n");
|
||||
}
|
|
@ -1,9 +1,12 @@
|
|||
#include "lvgl.h"
|
||||
|
||||
#include "user_lvgl_impl.h"
|
||||
|
||||
#include "user_tasks.h"
|
||||
|
||||
void user_tasks_init(void) {
|
||||
lv_init();
|
||||
lv_log_register_print_cb(user_lvgl_impl_log_cb);
|
||||
|
||||
g_sdram_task_handle = osThreadNew(sdram_task, NULL, &g_sdram_task_attributes);
|
||||
g_user_hello_task_handle = osThreadNew(user_hello_task, NULL, &g_user_hello_task_attributes);
|
||||
}
|
6
Makefile
6
Makefile
|
@ -1,5 +1,5 @@
|
|||
##########################################################################################################################
|
||||
# File automatically-generated by tool: [projectgenerator] version: [3.13.0-B3] date: [Sun Feb 28 20:36:12 CST 2021]
|
||||
# File automatically-generated by tool: [projectgenerator] version: [3.13.0-B3] date: [Wed Mar 03 00:08:05 CST 2021]
|
||||
##########################################################################################################################
|
||||
|
||||
# ------------------------------------------------
|
||||
|
@ -75,7 +75,9 @@ Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c \
|
|||
Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_fmc.c \
|
||||
Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sdram.c \
|
||||
Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c \
|
||||
Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c
|
||||
Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c \
|
||||
Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_ltdc.c \
|
||||
Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_ltdc_ex.c
|
||||
|
||||
# ASM sources
|
||||
ASM_SOURCES = \
|
||||
|
|
|
@ -54,99 +54,147 @@ FREERTOS.IPParameters=Tasks01,configTOTAL_HEAP_SIZE
|
|||
FREERTOS.Tasks01=defaultTask,24,128,StartDefaultTask,Default,NULL,Dynamic,NULL,NULL
|
||||
FREERTOS.configTOTAL_HEAP_SIZE=81920
|
||||
File.Version=6
|
||||
GPIO.groupedBy=
|
||||
GPIO.groupedBy=Group By Peripherals
|
||||
KeepUserPlacement=false
|
||||
LTDC.ActiveW=800
|
||||
LTDC.Alpha0_L0=255
|
||||
LTDC.Alpha_L0=255
|
||||
LTDC.BlendingFactor1_L0=LTDC_BLENDING_FACTOR1_PAxCA
|
||||
LTDC.BlendingFactor2_L0=LTDC_BLENDING_FACTOR2_PAxCA
|
||||
LTDC.FBStartAdress_L0=0xD0100000
|
||||
LTDC.HBP=46
|
||||
LTDC.HFP=210
|
||||
LTDC.HSync=20
|
||||
LTDC.IPParameters=ActiveW,HSync,HBP,HFP,VSync,VBP,VFP,Layers,WindowX1_L0,WindowY1_L0,FBStartAdress_L0,ImageWidth_L0,ImageHeight_L0,Alpha0_L0,Alpha_L0,BlendingFactor1_L0,BlendingFactor2_L0
|
||||
LTDC.ImageHeight_L0=480
|
||||
LTDC.ImageWidth_L0=800
|
||||
LTDC.Layers=0
|
||||
LTDC.VBP=23
|
||||
LTDC.VFP=22
|
||||
LTDC.VSync=10
|
||||
LTDC.WindowX1_L0=799
|
||||
LTDC.WindowY1_L0=479
|
||||
Mcu.Family=STM32H7
|
||||
Mcu.IP0=CORTEX_M7
|
||||
Mcu.IP1=DEBUG
|
||||
Mcu.IP10=USART1
|
||||
Mcu.IP10=TIM3
|
||||
Mcu.IP11=USART1
|
||||
Mcu.IP2=FMC
|
||||
Mcu.IP3=FREERTOS
|
||||
Mcu.IP4=NVIC
|
||||
Mcu.IP5=RCC
|
||||
Mcu.IP6=RTC
|
||||
Mcu.IP7=SYS
|
||||
Mcu.IP8=TIM2
|
||||
Mcu.IP9=TIM3
|
||||
Mcu.IPNb=11
|
||||
Mcu.IP4=LTDC
|
||||
Mcu.IP5=NVIC
|
||||
Mcu.IP6=RCC
|
||||
Mcu.IP7=RTC
|
||||
Mcu.IP8=SYS
|
||||
Mcu.IP9=TIM2
|
||||
Mcu.IPNb=12
|
||||
Mcu.Name=STM32H750XBHx
|
||||
Mcu.Package=TFBGA240
|
||||
Mcu.Pin0=PI6
|
||||
Mcu.Pin1=PI5
|
||||
Mcu.Pin10=PH14
|
||||
Mcu.Pin11=PC15-OSC32_OUT (OSC32_OUT)
|
||||
Mcu.Pin12=PC14-OSC32_IN (OSC32_IN)
|
||||
Mcu.Pin13=PE0
|
||||
Mcu.Pin14=PB3 (JTDO/TRACESWO)
|
||||
Mcu.Pin15=PI3
|
||||
Mcu.Pin16=PA13 (JTMS/SWDIO)
|
||||
Mcu.Pin17=PG15
|
||||
Mcu.Pin18=PD0
|
||||
Mcu.Pin19=PA10
|
||||
Mcu.Pin10=PA14 (JTCK/SWCLK)
|
||||
Mcu.Pin100=VP_RTC_VS_RTC_Calendar
|
||||
Mcu.Pin101=VP_SYS_VS_tim7
|
||||
Mcu.Pin102=VP_TIM2_VS_ClockSourceINT
|
||||
Mcu.Pin103=VP_TIM3_VS_ClockSourceINT
|
||||
Mcu.Pin11=PI2
|
||||
Mcu.Pin12=PH15
|
||||
Mcu.Pin13=PH14
|
||||
Mcu.Pin14=PC15-OSC32_OUT (OSC32_OUT)
|
||||
Mcu.Pin15=PC14-OSC32_IN (OSC32_IN)
|
||||
Mcu.Pin16=PE0
|
||||
Mcu.Pin17=PB3 (JTDO/TRACESWO)
|
||||
Mcu.Pin18=PK6
|
||||
Mcu.Pin19=PK3
|
||||
Mcu.Pin2=PI4
|
||||
Mcu.Pin20=PA9
|
||||
Mcu.Pin21=PH13
|
||||
Mcu.Pin22=PI9
|
||||
Mcu.Pin23=PD1
|
||||
Mcu.Pin24=PI10
|
||||
Mcu.Pin25=PG8
|
||||
Mcu.Pin26=PF2
|
||||
Mcu.Pin27=PF1
|
||||
Mcu.Pin28=PF0
|
||||
Mcu.Pin29=PG5
|
||||
Mcu.Pin3=PI1
|
||||
Mcu.Pin30=PF3
|
||||
Mcu.Pin31=PG4
|
||||
Mcu.Pin32=PG2
|
||||
Mcu.Pin33=PH1-OSC_OUT (PH1)
|
||||
Mcu.Pin34=PH0-OSC_IN (PH0)
|
||||
Mcu.Pin35=PF5
|
||||
Mcu.Pin36=PF4
|
||||
Mcu.Pin37=PC0
|
||||
Mcu.Pin38=PE10
|
||||
Mcu.Pin39=PF13
|
||||
Mcu.Pin4=PI0
|
||||
Mcu.Pin40=PF14
|
||||
Mcu.Pin41=PE9
|
||||
Mcu.Pin42=PE11
|
||||
Mcu.Pin43=PH10
|
||||
Mcu.Pin44=PH11
|
||||
Mcu.Pin45=PD15
|
||||
Mcu.Pin46=PD14
|
||||
Mcu.Pin47=PF12
|
||||
Mcu.Pin48=PF15
|
||||
Mcu.Pin49=PE12
|
||||
Mcu.Pin5=PI7
|
||||
Mcu.Pin50=PE15
|
||||
Mcu.Pin51=PH9
|
||||
Mcu.Pin52=PH12
|
||||
Mcu.Pin53=PB1
|
||||
Mcu.Pin54=PF11
|
||||
Mcu.Pin55=PG0
|
||||
Mcu.Pin56=PE8
|
||||
Mcu.Pin57=PE13
|
||||
Mcu.Pin58=PH6
|
||||
Mcu.Pin59=PH8
|
||||
Mcu.Pin6=PE1
|
||||
Mcu.Pin60=PD10
|
||||
Mcu.Pin61=PD9
|
||||
Mcu.Pin62=PA3
|
||||
Mcu.Pin63=PB0
|
||||
Mcu.Pin64=PG1
|
||||
Mcu.Pin65=PE7
|
||||
Mcu.Pin66=PE14
|
||||
Mcu.Pin67=PH7
|
||||
Mcu.Pin68=PD8
|
||||
Mcu.Pin69=VP_FREERTOS_VS_CMSIS_V2
|
||||
Mcu.Pin7=PA14 (JTCK/SWCLK)
|
||||
Mcu.Pin70=VP_RTC_VS_RTC_Activate
|
||||
Mcu.Pin71=VP_RTC_VS_RTC_Calendar
|
||||
Mcu.Pin72=VP_SYS_VS_tim7
|
||||
Mcu.Pin73=VP_TIM2_VS_ClockSourceINT
|
||||
Mcu.Pin74=VP_TIM3_VS_ClockSourceINT
|
||||
Mcu.Pin8=PI2
|
||||
Mcu.Pin9=PH15
|
||||
Mcu.PinsNb=75
|
||||
Mcu.Pin20=PI3
|
||||
Mcu.Pin21=PA13 (JTMS/SWDIO)
|
||||
Mcu.Pin22=PG15
|
||||
Mcu.Pin23=PK7
|
||||
Mcu.Pin24=PJ14
|
||||
Mcu.Pin25=PJ12
|
||||
Mcu.Pin26=PD0
|
||||
Mcu.Pin27=PA10
|
||||
Mcu.Pin28=PA9
|
||||
Mcu.Pin29=PH13
|
||||
Mcu.Pin3=PK5
|
||||
Mcu.Pin30=PI9
|
||||
Mcu.Pin31=PJ13
|
||||
Mcu.Pin32=PD1
|
||||
Mcu.Pin33=PI10
|
||||
Mcu.Pin34=PG8
|
||||
Mcu.Pin35=PF2
|
||||
Mcu.Pin36=PF1
|
||||
Mcu.Pin37=PF0
|
||||
Mcu.Pin38=PG5
|
||||
Mcu.Pin39=PI12
|
||||
Mcu.Pin4=PI1
|
||||
Mcu.Pin40=PI13
|
||||
Mcu.Pin41=PI14
|
||||
Mcu.Pin42=PF3
|
||||
Mcu.Pin43=PG4
|
||||
Mcu.Pin44=PG2
|
||||
Mcu.Pin45=PK2
|
||||
Mcu.Pin46=PH1-OSC_OUT (PH1)
|
||||
Mcu.Pin47=PH0-OSC_IN (PH0)
|
||||
Mcu.Pin48=PF5
|
||||
Mcu.Pin49=PF4
|
||||
Mcu.Pin5=PI0
|
||||
Mcu.Pin50=PK0
|
||||
Mcu.Pin51=PK1
|
||||
Mcu.Pin52=PJ11
|
||||
Mcu.Pin53=PC0
|
||||
Mcu.Pin54=PJ10
|
||||
Mcu.Pin55=PJ9
|
||||
Mcu.Pin56=PJ0
|
||||
Mcu.Pin57=PE10
|
||||
Mcu.Pin58=PJ8
|
||||
Mcu.Pin59=PJ7
|
||||
Mcu.Pin6=PI7
|
||||
Mcu.Pin60=PJ6
|
||||
Mcu.Pin61=PI15
|
||||
Mcu.Pin62=PJ1
|
||||
Mcu.Pin63=PF13
|
||||
Mcu.Pin64=PF14
|
||||
Mcu.Pin65=PE9
|
||||
Mcu.Pin66=PE11
|
||||
Mcu.Pin67=PH10
|
||||
Mcu.Pin68=PH11
|
||||
Mcu.Pin69=PD15
|
||||
Mcu.Pin7=PE1
|
||||
Mcu.Pin70=PD14
|
||||
Mcu.Pin71=PF12
|
||||
Mcu.Pin72=PF15
|
||||
Mcu.Pin73=PE12
|
||||
Mcu.Pin74=PE15
|
||||
Mcu.Pin75=PJ5
|
||||
Mcu.Pin76=PH9
|
||||
Mcu.Pin77=PH12
|
||||
Mcu.Pin78=PD13
|
||||
Mcu.Pin79=PB1
|
||||
Mcu.Pin8=PK4
|
||||
Mcu.Pin80=PJ2
|
||||
Mcu.Pin81=PF11
|
||||
Mcu.Pin82=PG0
|
||||
Mcu.Pin83=PE8
|
||||
Mcu.Pin84=PE13
|
||||
Mcu.Pin85=PH6
|
||||
Mcu.Pin86=PH8
|
||||
Mcu.Pin87=PD10
|
||||
Mcu.Pin88=PD9
|
||||
Mcu.Pin89=PA3
|
||||
Mcu.Pin9=PJ15
|
||||
Mcu.Pin90=PB0
|
||||
Mcu.Pin91=PJ3
|
||||
Mcu.Pin92=PJ4
|
||||
Mcu.Pin93=PG1
|
||||
Mcu.Pin94=PE7
|
||||
Mcu.Pin95=PE14
|
||||
Mcu.Pin96=PH7
|
||||
Mcu.Pin97=PD8
|
||||
Mcu.Pin98=VP_FREERTOS_VS_CMSIS_V2
|
||||
Mcu.Pin99=VP_RTC_VS_RTC_Activate
|
||||
Mcu.PinsNb=104
|
||||
Mcu.ThirdPartyNb=0
|
||||
Mcu.UserConstants=
|
||||
Mcu.UserName=STM32H750XBHx
|
||||
|
@ -155,10 +203,13 @@ MxDb.Version=DB.6.0.20
|
|||
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
|
||||
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
|
||||
NVIC.FLASH_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true
|
||||
NVIC.FMC_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true
|
||||
NVIC.FPU_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:false
|
||||
NVIC.ForceEnableDMAVector=true
|
||||
NVIC.HSEM1_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true
|
||||
NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
|
||||
NVIC.LTDC_ER_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true
|
||||
NVIC.LTDC_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true
|
||||
NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
|
||||
NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:true
|
||||
NVIC.PVD_AVD_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true
|
||||
|
@ -170,6 +221,7 @@ NVIC.SavedPendsvIrqHandlerGenerated=true
|
|||
NVIC.SavedSvcallIrqHandlerGenerated=true
|
||||
NVIC.SavedSystickIrqHandlerGenerated=true
|
||||
NVIC.SysTick_IRQn=true\:15\:0\:false\:false\:false\:true\:false\:true
|
||||
NVIC.TIM2_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true
|
||||
NVIC.TIM3_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true
|
||||
NVIC.TIM7_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:true
|
||||
NVIC.TimeBase=TIM7_IRQn
|
||||
|
@ -211,6 +263,10 @@ PD1.Locked=true
|
|||
PD1.Signal=FMC_D3_DA3
|
||||
PD10.Locked=true
|
||||
PD10.Signal=FMC_D15_DA15
|
||||
PD13.GPIOParameters=GPIO_Label
|
||||
PD13.GPIO_Label=LTDC_BL
|
||||
PD13.Locked=true
|
||||
PD13.Signal=GPIO_Output
|
||||
PD14.Locked=true
|
||||
PD14.Signal=FMC_D0_DA0
|
||||
PD15.Locked=true
|
||||
|
@ -311,6 +367,18 @@ PI1.Locked=true
|
|||
PI1.Signal=FMC_D25
|
||||
PI10.Locked=true
|
||||
PI10.Signal=FMC_D31
|
||||
PI12.Locked=true
|
||||
PI12.Mode=RGB888
|
||||
PI12.Signal=LTDC_HSYNC
|
||||
PI13.Locked=true
|
||||
PI13.Mode=RGB888
|
||||
PI13.Signal=LTDC_VSYNC
|
||||
PI14.Locked=true
|
||||
PI14.Mode=RGB888
|
||||
PI14.Signal=LTDC_CLK
|
||||
PI15.Locked=true
|
||||
PI15.Mode=RGB888
|
||||
PI15.Signal=LTDC_R0
|
||||
PI2.Locked=true
|
||||
PI2.Signal=FMC_D26
|
||||
PI3.Locked=true
|
||||
|
@ -325,6 +393,78 @@ PI7.Locked=true
|
|||
PI7.Signal=FMC_D29
|
||||
PI9.Locked=true
|
||||
PI9.Signal=FMC_D30
|
||||
PJ0.Locked=true
|
||||
PJ0.Mode=RGB888
|
||||
PJ0.Signal=LTDC_R1
|
||||
PJ1.Locked=true
|
||||
PJ1.Mode=RGB888
|
||||
PJ1.Signal=LTDC_R2
|
||||
PJ10.Locked=true
|
||||
PJ10.Mode=RGB888
|
||||
PJ10.Signal=LTDC_G3
|
||||
PJ11.Locked=true
|
||||
PJ11.Mode=RGB888
|
||||
PJ11.Signal=LTDC_G4
|
||||
PJ12.Locked=true
|
||||
PJ12.Mode=RGB888
|
||||
PJ12.Signal=LTDC_B0
|
||||
PJ13.Locked=true
|
||||
PJ13.Mode=RGB888
|
||||
PJ13.Signal=LTDC_B1
|
||||
PJ14.Locked=true
|
||||
PJ14.Mode=RGB888
|
||||
PJ14.Signal=LTDC_B2
|
||||
PJ15.Locked=true
|
||||
PJ15.Mode=RGB888
|
||||
PJ15.Signal=LTDC_B3
|
||||
PJ2.Locked=true
|
||||
PJ2.Mode=RGB888
|
||||
PJ2.Signal=LTDC_R3
|
||||
PJ3.Locked=true
|
||||
PJ3.Mode=RGB888
|
||||
PJ3.Signal=LTDC_R4
|
||||
PJ4.Locked=true
|
||||
PJ4.Mode=RGB888
|
||||
PJ4.Signal=LTDC_R5
|
||||
PJ5.Locked=true
|
||||
PJ5.Mode=RGB888
|
||||
PJ5.Signal=LTDC_R6
|
||||
PJ6.Locked=true
|
||||
PJ6.Mode=RGB888
|
||||
PJ6.Signal=LTDC_R7
|
||||
PJ7.Locked=true
|
||||
PJ7.Mode=RGB888
|
||||
PJ7.Signal=LTDC_G0
|
||||
PJ8.Locked=true
|
||||
PJ8.Mode=RGB888
|
||||
PJ8.Signal=LTDC_G1
|
||||
PJ9.Locked=true
|
||||
PJ9.Mode=RGB888
|
||||
PJ9.Signal=LTDC_G2
|
||||
PK0.Locked=true
|
||||
PK0.Mode=RGB888
|
||||
PK0.Signal=LTDC_G5
|
||||
PK1.Locked=true
|
||||
PK1.Mode=RGB888
|
||||
PK1.Signal=LTDC_G6
|
||||
PK2.Locked=true
|
||||
PK2.Mode=RGB888
|
||||
PK2.Signal=LTDC_G7
|
||||
PK3.Locked=true
|
||||
PK3.Mode=RGB888
|
||||
PK3.Signal=LTDC_B4
|
||||
PK4.Locked=true
|
||||
PK4.Mode=RGB888
|
||||
PK4.Signal=LTDC_B5
|
||||
PK5.Locked=true
|
||||
PK5.Mode=RGB888
|
||||
PK5.Signal=LTDC_B6
|
||||
PK6.Locked=true
|
||||
PK6.Mode=RGB888
|
||||
PK6.Signal=LTDC_B7
|
||||
PK7.Locked=true
|
||||
PK7.Mode=RGB888
|
||||
PK7.Signal=LTDC_DE
|
||||
PinOutPanel.CurrentBGAView=Top
|
||||
PinOutPanel.RotationAngle=0
|
||||
ProjectManager.AskForMigrate=true
|
||||
|
@ -354,7 +494,7 @@ ProjectManager.StackSize=0x400
|
|||
ProjectManager.TargetToolchain=Makefile
|
||||
ProjectManager.ToolChainLocation=
|
||||
ProjectManager.UnderRoot=false
|
||||
ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-SystemClock_Config-RCC-false-HAL-false,3-MX_RTC_Init-RTC-false-HAL-true,4-MX_TIM3_Init-TIM3-false-HAL-true,5-MX_TIM2_Init-TIM2-false-HAL-true,6-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_RTC_Init-RTC-false-HAL-true,4-MX_TIM3_Init-TIM3-false-HAL-true,5-MX_TIM2_Init-TIM2-false-HAL-true,6-MX_FMC_Init-FMC-false-HAL-true,7-MX_USART1_UART_Init-USART1-false-HAL-true,0-MX_CORTEX_M7_Init-CORTEX_M7-false-HAL-true
|
||||
RCC.ADCFreq_Value=133000000
|
||||
RCC.AHB12Freq_Value=60000000
|
||||
RCC.AHB4Freq_Value=60000000
|
||||
|
@ -372,21 +512,22 @@ RCC.DFSDMACLkFreq_Value=120000000
|
|||
RCC.DFSDMFreq_Value=60000000
|
||||
RCC.DIVM1=5
|
||||
RCC.DIVM2=25
|
||||
RCC.DIVM3=5
|
||||
RCC.DIVM3=25
|
||||
RCC.DIVN1=48
|
||||
RCC.DIVN2=266
|
||||
RCC.DIVN3=40
|
||||
RCC.DIVN3=172
|
||||
RCC.DIVP1Freq_Value=120000000
|
||||
RCC.DIVP2Freq_Value=133000000
|
||||
RCC.DIVP3Freq_Value=100000000
|
||||
RCC.DIVP3Freq_Value=86107543.9453125
|
||||
RCC.DIVQ1Freq_Value=120000000
|
||||
RCC.DIVQ2=10
|
||||
RCC.DIVQ2Freq_Value=26600000
|
||||
RCC.DIVQ3=4
|
||||
RCC.DIVQ3Freq_Value=50000000
|
||||
RCC.DIVQ3Freq_Value=43053771.97265625
|
||||
RCC.DIVR1Freq_Value=120000000
|
||||
RCC.DIVR2Freq_Value=133000000
|
||||
RCC.DIVR3Freq_Value=100000000
|
||||
RCC.DIVR3=10
|
||||
RCC.DIVR3Freq_Value=17221508.7890625
|
||||
RCC.EnbaleCSS=true
|
||||
RCC.FDCANFreq_Value=120000000
|
||||
RCC.FMCCLockSelection=RCC_FMCCLKSOURCE_PLL2
|
||||
|
@ -398,14 +539,15 @@ RCC.HPRE=RCC_HCLK_DIV2
|
|||
RCC.HRTIMFreq_Value=60000000
|
||||
RCC.I2C123Freq_Value=60000000
|
||||
RCC.I2C4Freq_Value=60000000
|
||||
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,DFSDMACLkFreq_Value,DFSDMFreq_Value,DIVM1,DIVM2,DIVM3,DIVN1,DIVN2,DIVN3,DIVP1Freq_Value,DIVP2Freq_Value,DIVP3Freq_Value,DIVQ1Freq_Value,DIVQ2,DIVQ2Freq_Value,DIVQ3,DIVQ3Freq_Value,DIVR1Freq_Value,DIVR2Freq_Value,DIVR3Freq_Value,EnbaleCSS,FDCANFreq_Value,FMCCLockSelection,FMCFreq_Value,FamilyName,HCLK3ClockFreq_Value,HCLKFreq_Value,HPRE,HRTIMFreq_Value,I2C123Freq_Value,I2C4Freq_Value,LPTIM1Freq_Value,LPTIM2Freq_Value,LPTIM345Freq_Value,LPUART1Freq_Value,LTDCFreq_Value,MCO1PinFreq_Value,MCO2PinFreq_Value,PLLSourceVirtual,PWR_Regulator_Voltage_Scale,ProductRev,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,USART16CLockSelection,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,DFSDMACLkFreq_Value,DFSDMFreq_Value,DIVM1,DIVM2,DIVM3,DIVN1,DIVN2,DIVN3,DIVP1Freq_Value,DIVP2Freq_Value,DIVP3Freq_Value,DIVQ1Freq_Value,DIVQ2,DIVQ2Freq_Value,DIVQ3,DIVQ3Freq_Value,DIVR1Freq_Value,DIVR2Freq_Value,DIVR3,DIVR3Freq_Value,EnbaleCSS,FDCANFreq_Value,FMCCLockSelection,FMCFreq_Value,FamilyName,HCLK3ClockFreq_Value,HCLKFreq_Value,HPRE,HRTIMFreq_Value,I2C123Freq_Value,I2C4Freq_Value,LPTIM1Freq_Value,LPTIM2Freq_Value,LPTIM345Freq_Value,LPUART1Freq_Value,LTDCFreq_Value,MCO1PinFreq_Value,MCO2PinFreq_Value,PLL3FRACN,PLLSourceVirtual,PWR_Regulator_Voltage_Scale,ProductRev,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,USART16CLockSelection,USART16Freq_Value,USART234578Freq_Value,USBFreq_Value,VCO1OutputFreq_Value,VCO2OutputFreq_Value,VCO3OutputFreq_Value,VCOInput1Freq_Value,VCOInput2Freq_Value,VCOInput3Freq_Value
|
||||
RCC.LPTIM1Freq_Value=60000000
|
||||
RCC.LPTIM2Freq_Value=60000000
|
||||
RCC.LPTIM345Freq_Value=60000000
|
||||
RCC.LPUART1Freq_Value=60000000
|
||||
RCC.LTDCFreq_Value=100000000
|
||||
RCC.LTDCFreq_Value=17221508.7890625
|
||||
RCC.MCO1PinFreq_Value=64000000
|
||||
RCC.MCO2PinFreq_Value=120000000
|
||||
RCC.PLL3FRACN=1762
|
||||
RCC.PLLSourceVirtual=RCC_PLLSOURCE_HSE
|
||||
RCC.PWR_Regulator_Voltage_Scale=PWR_REGULATOR_VOLTAGE_SCALE3
|
||||
RCC.ProductRev=revV
|
||||
|
@ -428,15 +570,15 @@ RCC.Tim1OutputFreq_Value=60000000
|
|||
RCC.Tim2OutputFreq_Value=60000000
|
||||
RCC.TraceFreq_Value=120000000
|
||||
RCC.USART16CLockSelection=RCC_USART16CLKSOURCE_PLL3
|
||||
RCC.USART16Freq_Value=50000000
|
||||
RCC.USART16Freq_Value=43053771.97265625
|
||||
RCC.USART234578Freq_Value=60000000
|
||||
RCC.USBFreq_Value=120000000
|
||||
RCC.VCO1OutputFreq_Value=240000000
|
||||
RCC.VCO2OutputFreq_Value=266000000
|
||||
RCC.VCO3OutputFreq_Value=200000000
|
||||
RCC.VCO3OutputFreq_Value=172215087.890625
|
||||
RCC.VCOInput1Freq_Value=5000000
|
||||
RCC.VCOInput2Freq_Value=1000000
|
||||
RCC.VCOInput3Freq_Value=5000000
|
||||
RCC.VCOInput3Freq_Value=1000000
|
||||
SH.FMC_A0.0=FMC_A0,13b-sda1
|
||||
SH.FMC_A0.ConfNb=1
|
||||
SH.FMC_A1.0=FMC_A1,13b-sda1
|
||||
|
|
Loading…
Reference in New Issue