Added more frequency profiles.
This commit is contained in:
parent
1f0887e8dc
commit
fa75a8948f
|
@ -9,6 +9,9 @@ typedef enum {
|
|||
USER_PM_VFS_MID_2,
|
||||
USER_PM_VFS_LOW_1,
|
||||
USER_PM_VFS_LOW_2,
|
||||
USER_PM_VFS_XLOW_1,
|
||||
USER_PM_VFS_XLOW_2,
|
||||
USER_PM_VFS_END,
|
||||
} user_pm_vfs_preset_t;
|
||||
|
||||
HAL_StatusTypeDef user_pm_scale_vfs(user_pm_vfs_preset_t preset);
|
||||
|
|
|
@ -0,0 +1,192 @@
|
|||
#ifndef USER_POWER_MGMT_PROFILES_H
|
||||
#define USER_POWER_MGMT_PROFILES_H
|
||||
|
||||
// C standard guarantees uninitialized parts are zeros.
|
||||
static user_pm_vfs_t s_user_vfs_table[] = {
|
||||
{
|
||||
.RCC_OscInitStruct = {
|
||||
.OscillatorType = RCC_OSCILLATORTYPE_HSI,
|
||||
.HSIState = RCC_HSI_ON,
|
||||
.PLL.PLLState = RCC_PLL_NONE,
|
||||
},
|
||||
.RCC_ClkInitStruct = {
|
||||
.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK
|
||||
| RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2,
|
||||
.SYSCLKSource = RCC_SYSCLKSOURCE_HSI,
|
||||
.AHBCLKDivider = RCC_SYSCLK_DIV1,
|
||||
.APB1CLKDivider = RCC_HCLK_DIV1,
|
||||
.APB2CLKDivider = RCC_HCLK_DIV1,
|
||||
},
|
||||
.Flash_Latency = FLASH_LATENCY_0,
|
||||
.Voltage_Scale = PWR_REGULATOR_VOLTAGE_SCALE2,
|
||||
},
|
||||
{ // HIGH_1 = 168MHz
|
||||
.RCC_OscInitStruct = {
|
||||
.OscillatorType = RCC_OSCILLATORTYPE_HSE,
|
||||
.HSEState = RCC_HSE_ON,
|
||||
.PLL.PLLState = RCC_PLL_ON,
|
||||
.PLL.PLLSource = RCC_PLLSOURCE_HSE,
|
||||
.PLL.PLLM = 4,
|
||||
.PLL.PLLN = 168,
|
||||
.PLL.PLLP = RCC_PLLP_DIV2,
|
||||
.PLL.PLLQ = 4,
|
||||
},
|
||||
.RCC_ClkInitStruct = {
|
||||
.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
|
||||
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2,
|
||||
.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK,
|
||||
.AHBCLKDivider = RCC_SYSCLK_DIV1,
|
||||
.APB1CLKDivider = RCC_HCLK_DIV4,
|
||||
.APB2CLKDivider = RCC_HCLK_DIV2,
|
||||
},
|
||||
.Flash_Latency = FLASH_LATENCY_5,
|
||||
.Voltage_Scale = PWR_REGULATOR_VOLTAGE_SCALE1,
|
||||
},
|
||||
{ // HIGH_2 = 144MHz
|
||||
.RCC_OscInitStruct = {
|
||||
.OscillatorType = RCC_OSCILLATORTYPE_HSE,
|
||||
.HSEState = RCC_HSE_ON,
|
||||
.PLL.PLLState = RCC_PLL_ON,
|
||||
.PLL.PLLSource = RCC_PLLSOURCE_HSE,
|
||||
.PLL.PLLM = 4,
|
||||
.PLL.PLLN = 144,
|
||||
.PLL.PLLP = RCC_PLLP_DIV2,
|
||||
.PLL.PLLQ = 4,
|
||||
},
|
||||
.RCC_ClkInitStruct = {
|
||||
.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
|
||||
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2,
|
||||
.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK,
|
||||
.AHBCLKDivider = RCC_SYSCLK_DIV1,
|
||||
.APB1CLKDivider = RCC_HCLK_DIV4,
|
||||
.APB2CLKDivider = RCC_HCLK_DIV2,
|
||||
},
|
||||
.Flash_Latency = FLASH_LATENCY_4,
|
||||
.Voltage_Scale = PWR_REGULATOR_VOLTAGE_SCALE2,
|
||||
},
|
||||
{ // MID_1 = 84MHz
|
||||
.RCC_OscInitStruct = {
|
||||
.OscillatorType = RCC_OSCILLATORTYPE_HSE,
|
||||
.HSEState = RCC_HSE_ON,
|
||||
.PLL.PLLState = RCC_PLL_ON,
|
||||
.PLL.PLLSource = RCC_PLLSOURCE_HSE,
|
||||
.PLL.PLLM = 4,
|
||||
.PLL.PLLN = 84,
|
||||
.PLL.PLLP = RCC_PLLP_DIV2,
|
||||
.PLL.PLLQ = 4,
|
||||
},
|
||||
.RCC_ClkInitStruct = {
|
||||
.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
|
||||
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2,
|
||||
.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK,
|
||||
.AHBCLKDivider = RCC_SYSCLK_DIV1,
|
||||
.APB1CLKDivider = RCC_HCLK_DIV2,
|
||||
.APB2CLKDivider = RCC_HCLK_DIV2,
|
||||
},
|
||||
.Flash_Latency = FLASH_LATENCY_2,
|
||||
.Voltage_Scale = PWR_REGULATOR_VOLTAGE_SCALE2,
|
||||
},
|
||||
{ // MID_2 = 64MHz
|
||||
.RCC_OscInitStruct = {
|
||||
.OscillatorType = RCC_OSCILLATORTYPE_HSE,
|
||||
.HSEState = RCC_HSE_ON,
|
||||
.PLL.PLLState = RCC_PLL_ON,
|
||||
.PLL.PLLSource = RCC_PLLSOURCE_HSE,
|
||||
.PLL.PLLM = 4,
|
||||
.PLL.PLLN = 64,
|
||||
.PLL.PLLP = RCC_PLLP_DIV2,
|
||||
.PLL.PLLQ = 4,
|
||||
},
|
||||
.RCC_ClkInitStruct = {
|
||||
.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
|
||||
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2,
|
||||
.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK,
|
||||
.AHBCLKDivider = RCC_SYSCLK_DIV1,
|
||||
.APB1CLKDivider = RCC_HCLK_DIV2,
|
||||
.APB2CLKDivider = RCC_HCLK_DIV2,
|
||||
},
|
||||
.Flash_Latency = FLASH_LATENCY_2,
|
||||
.Voltage_Scale = PWR_REGULATOR_VOLTAGE_SCALE2,
|
||||
},
|
||||
{ // LOW_1 = 32MHz
|
||||
.RCC_OscInitStruct = {
|
||||
.OscillatorType = RCC_OSCILLATORTYPE_HSE,
|
||||
.HSEState = RCC_HSE_ON,
|
||||
.PLL.PLLState = RCC_PLL_ON,
|
||||
.PLL.PLLSource = RCC_PLLSOURCE_HSE,
|
||||
.PLL.PLLM = 4,
|
||||
.PLL.PLLN = 64,
|
||||
.PLL.PLLP = RCC_PLLP_DIV4,
|
||||
.PLL.PLLQ = 4,
|
||||
},
|
||||
.RCC_ClkInitStruct = {
|
||||
.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
|
||||
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2,
|
||||
.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK,
|
||||
.AHBCLKDivider = RCC_SYSCLK_DIV1,
|
||||
.APB1CLKDivider = RCC_HCLK_DIV2,
|
||||
.APB2CLKDivider = RCC_HCLK_DIV2,
|
||||
},
|
||||
.Flash_Latency = FLASH_LATENCY_2,
|
||||
.Voltage_Scale = PWR_REGULATOR_VOLTAGE_SCALE2,
|
||||
},
|
||||
{ // LOW_2 = 24MHz
|
||||
.RCC_OscInitStruct = {
|
||||
.OscillatorType = RCC_OSCILLATORTYPE_HSE,
|
||||
.HSEState = RCC_HSE_ON,
|
||||
.PLL.PLLState = RCC_PLL_ON,
|
||||
.PLL.PLLSource = RCC_PLLSOURCE_HSE,
|
||||
.PLL.PLLM = 4,
|
||||
.PLL.PLLN = 72,
|
||||
.PLL.PLLP = RCC_PLLP_DIV6,
|
||||
.PLL.PLLQ = 4,
|
||||
},
|
||||
.RCC_ClkInitStruct = {
|
||||
.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
|
||||
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2,
|
||||
.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK,
|
||||
.AHBCLKDivider = RCC_SYSCLK_DIV1,
|
||||
.APB1CLKDivider = RCC_HCLK_DIV2,
|
||||
.APB2CLKDivider = RCC_HCLK_DIV2,
|
||||
},
|
||||
.Flash_Latency = FLASH_LATENCY_0,
|
||||
.Voltage_Scale = PWR_REGULATOR_VOLTAGE_SCALE2,
|
||||
},
|
||||
{ // XLOW_1 = 8MHz
|
||||
.RCC_OscInitStruct = {
|
||||
.OscillatorType = RCC_OSCILLATORTYPE_HSE,
|
||||
.HSEState = RCC_HSE_ON,
|
||||
.PLL.PLLState = RCC_PLL_OFF,
|
||||
},
|
||||
.RCC_ClkInitStruct = {
|
||||
.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
|
||||
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2,
|
||||
.SYSCLKSource = RCC_SYSCLKSOURCE_HSE,
|
||||
.AHBCLKDivider = RCC_SYSCLK_DIV1,
|
||||
.APB1CLKDivider = RCC_HCLK_DIV2,
|
||||
.APB2CLKDivider = RCC_HCLK_DIV2,
|
||||
},
|
||||
.Flash_Latency = FLASH_LATENCY_0,
|
||||
.Voltage_Scale = PWR_REGULATOR_VOLTAGE_SCALE2,
|
||||
},
|
||||
{ // XLOW_2 = 4MHz
|
||||
.RCC_OscInitStruct = {
|
||||
.OscillatorType = RCC_OSCILLATORTYPE_HSE,
|
||||
.HSEState = RCC_HSE_ON,
|
||||
.PLL.PLLState = RCC_PLL_OFF,
|
||||
},
|
||||
.RCC_ClkInitStruct = {
|
||||
.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
|
||||
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2,
|
||||
.SYSCLKSource = RCC_SYSCLKSOURCE_HSE,
|
||||
.AHBCLKDivider = RCC_SYSCLK_DIV2,
|
||||
.APB1CLKDivider = RCC_HCLK_DIV2,
|
||||
.APB2CLKDivider = RCC_HCLK_DIV2,
|
||||
},
|
||||
.Flash_Latency = FLASH_LATENCY_0,
|
||||
.Voltage_Scale = PWR_REGULATOR_VOLTAGE_SCALE2,
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
#endif
|
|
@ -212,6 +212,7 @@ void SystemClock_Config(void)
|
|||
{
|
||||
Error_Handler();
|
||||
}
|
||||
HAL_RCC_MCOConfig(RCC_MCO2, RCC_MCO2SOURCE_SYSCLK, RCC_MCODIV_5);
|
||||
/** Enables the Clock Security System
|
||||
*/
|
||||
HAL_RCC_EnableCSS();
|
||||
|
@ -295,7 +296,7 @@ static void MX_USART1_UART_Init(void)
|
|||
|
||||
/* USER CODE END USART1_Init 1 */
|
||||
huart1.Instance = USART1;
|
||||
huart1.Init.BaudRate = 921600;
|
||||
huart1.Init.BaudRate = 115200;
|
||||
huart1.Init.WordLength = UART_WORDLENGTH_8B;
|
||||
huart1.Init.StopBits = UART_STOPBITS_1;
|
||||
huart1.Init.Parity = UART_PARITY_NONE;
|
||||
|
@ -319,6 +320,7 @@ static void MX_USART1_UART_Init(void)
|
|||
*/
|
||||
static void MX_GPIO_Init(void)
|
||||
{
|
||||
GPIO_InitTypeDef GPIO_InitStruct = {0};
|
||||
|
||||
/* GPIO Ports Clock Enable */
|
||||
__HAL_RCC_GPIOC_CLK_ENABLE();
|
||||
|
@ -329,6 +331,14 @@ static void MX_GPIO_Init(void)
|
|||
__HAL_RCC_GPIOD_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOA_CLK_ENABLE();
|
||||
|
||||
/*Configure GPIO pin : PC9 */
|
||||
GPIO_InitStruct.Pin = GPIO_PIN_9;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
||||
GPIO_InitStruct.Alternate = GPIO_AF0_MCO;
|
||||
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
|
||||
|
||||
}
|
||||
|
||||
/* FSMC initialization function */
|
||||
|
@ -391,16 +401,31 @@ void _putchar(char character) {
|
|||
}
|
||||
|
||||
static void update_frequency_profile(user_pm_vfs_preset_t profile) {
|
||||
|
||||
// Do not switch my context out.
|
||||
taskENTER_CRITICAL();
|
||||
|
||||
// Scale frequency.
|
||||
user_pm_scale_vfs(profile);
|
||||
// STM32Cube relies on the systick timer for FreeRTOS tick, update anyway.
|
||||
// A timing jitter may occur.
|
||||
SysTick_Config(configCPU_CLOCK_HZ / configTICK_RATE_HZ);
|
||||
|
||||
// Other peripherals also needs to be updated.
|
||||
HAL_UART_Init(&huart1);
|
||||
|
||||
taskEXIT_CRITICAL();
|
||||
}
|
||||
|
||||
static void report_system_frequencies(void) {
|
||||
printf("======== Report System Clock Frequencies ========\r\n");
|
||||
printf("[%012u] SYSCLK: %012uHz\r\n", xTaskGetTickCount(), HAL_RCC_GetSysClockFreq());
|
||||
printf("[%012u] HCLK: %012uHz\r\n", xTaskGetTickCount(), HAL_RCC_GetHCLKFreq());
|
||||
printf("[%012u] PCLK1: %012uHz\r\n", xTaskGetTickCount(), HAL_RCC_GetPCLK1Freq());
|
||||
printf("[%012u] PCLK2: %012uHz\r\n", xTaskGetTickCount(), HAL_RCC_GetPCLK2Freq());
|
||||
printf("================== Report Done ==================\r\n");
|
||||
}
|
||||
|
||||
/* USER CODE END 4 */
|
||||
|
||||
/* USER CODE BEGIN Header_StartDefaultTask */
|
||||
|
@ -421,13 +446,11 @@ void StartDefaultTask(void *argument)
|
|||
/* Infinite loop */
|
||||
for(;;)
|
||||
{
|
||||
update_frequency_profile(USER_PM_VFS_HIGH_1);
|
||||
printf("[%012u] Set frequency to 168MHz.\r\n", xTaskGetTickCount());
|
||||
osDelay(10000);
|
||||
|
||||
update_frequency_profile(USER_PM_VFS_MID_1);
|
||||
printf("[%012u] Set frequency to 84MHz.\r\n", xTaskGetTickCount());
|
||||
osDelay(10000);
|
||||
for(uint8_t i = USER_PM_VFS_SAFE + 1; i < USER_PM_VFS_END; i++) {
|
||||
update_frequency_profile(i);
|
||||
report_system_frequencies();
|
||||
osDelay(5000);
|
||||
}
|
||||
}
|
||||
/* USER CODE END 5 */
|
||||
}
|
||||
|
|
|
@ -8,92 +8,7 @@ typedef struct {
|
|||
uint32_t Voltage_Scale;
|
||||
} user_pm_vfs_t;
|
||||
|
||||
// C standard guarantees uninitialized parts are zeros.
|
||||
static user_pm_vfs_t s_user_vfs_table[] = {
|
||||
{
|
||||
.RCC_OscInitStruct = {
|
||||
.OscillatorType = RCC_OSCILLATORTYPE_HSI,
|
||||
.HSIState = RCC_HSI_ON,
|
||||
.PLL.PLLState = RCC_PLL_NONE,
|
||||
},
|
||||
.RCC_ClkInitStruct = {
|
||||
.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK
|
||||
| RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2,
|
||||
.SYSCLKSource = RCC_SYSCLKSOURCE_HSI,
|
||||
.AHBCLKDivider = RCC_SYSCLK_DIV1,
|
||||
.APB1CLKDivider = RCC_HCLK_DIV1,
|
||||
.APB2CLKDivider = RCC_HCLK_DIV1,
|
||||
},
|
||||
.Flash_Latency = FLASH_LATENCY_0,
|
||||
.Voltage_Scale = PWR_REGULATOR_VOLTAGE_SCALE2,
|
||||
},
|
||||
{
|
||||
.RCC_OscInitStruct = {
|
||||
.OscillatorType = RCC_OSCILLATORTYPE_HSE,
|
||||
.HSEState = RCC_HSE_ON,
|
||||
.PLL.PLLState = RCC_PLL_ON,
|
||||
.PLL.PLLSource = RCC_PLLSOURCE_HSE,
|
||||
.PLL.PLLM = 4,
|
||||
.PLL.PLLN = 168,
|
||||
.PLL.PLLP = RCC_PLLP_DIV2,
|
||||
.PLL.PLLQ = 4,
|
||||
},
|
||||
.RCC_ClkInitStruct = {
|
||||
.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
|
||||
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2,
|
||||
.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK,
|
||||
.AHBCLKDivider = RCC_SYSCLK_DIV1,
|
||||
.APB1CLKDivider = RCC_HCLK_DIV4,
|
||||
.APB2CLKDivider = RCC_HCLK_DIV2,
|
||||
},
|
||||
.Flash_Latency = FLASH_LATENCY_5,
|
||||
.Voltage_Scale = PWR_REGULATOR_VOLTAGE_SCALE1,
|
||||
},
|
||||
{
|
||||
.RCC_OscInitStruct = {
|
||||
.OscillatorType = RCC_OSCILLATORTYPE_HSE,
|
||||
.HSEState = RCC_HSE_ON,
|
||||
.PLL.PLLState = RCC_PLL_ON,
|
||||
.PLL.PLLSource = RCC_PLLSOURCE_HSE,
|
||||
.PLL.PLLM = 4,
|
||||
.PLL.PLLN = 144,
|
||||
.PLL.PLLP = RCC_PLLP_DIV2,
|
||||
.PLL.PLLQ = 4,
|
||||
},
|
||||
.RCC_ClkInitStruct = {
|
||||
.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
|
||||
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2,
|
||||
.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK,
|
||||
.AHBCLKDivider = RCC_SYSCLK_DIV1,
|
||||
.APB1CLKDivider = RCC_HCLK_DIV4,
|
||||
.APB2CLKDivider = RCC_HCLK_DIV2,
|
||||
},
|
||||
.Flash_Latency = FLASH_LATENCY_4,
|
||||
.Voltage_Scale = PWR_REGULATOR_VOLTAGE_SCALE2,
|
||||
},
|
||||
{
|
||||
.RCC_OscInitStruct = {
|
||||
.OscillatorType = RCC_OSCILLATORTYPE_HSE,
|
||||
.HSEState = RCC_HSE_ON,
|
||||
.PLL.PLLState = RCC_PLL_ON,
|
||||
.PLL.PLLSource = RCC_PLLSOURCE_HSE,
|
||||
.PLL.PLLM = 4,
|
||||
.PLL.PLLN = 84,
|
||||
.PLL.PLLP = RCC_PLLP_DIV2,
|
||||
.PLL.PLLQ = 4,
|
||||
},
|
||||
.RCC_ClkInitStruct = {
|
||||
.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
|
||||
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2,
|
||||
.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK,
|
||||
.AHBCLKDivider = RCC_SYSCLK_DIV1,
|
||||
.APB1CLKDivider = RCC_HCLK_DIV2,
|
||||
.APB2CLKDivider = RCC_HCLK_DIV2,
|
||||
},
|
||||
.Flash_Latency = FLASH_LATENCY_2,
|
||||
.Voltage_Scale = PWR_REGULATOR_VOLTAGE_SCALE2,
|
||||
},
|
||||
};
|
||||
#include "user_power_mgmt_profiles.h"
|
||||
|
||||
static void user_pm_error_handler(void) {
|
||||
while(1) {
|
||||
|
@ -148,6 +63,8 @@ static HAL_StatusTypeDef user_pm_set_vfs_mode(user_pm_vfs_t *vfs) {
|
|||
*/
|
||||
HAL_StatusTypeDef user_pm_scale_vfs(user_pm_vfs_preset_t preset) {
|
||||
|
||||
if(preset > USER_PM_VFS_END) return HAL_ERROR;
|
||||
|
||||
// Transition system to a stable state.
|
||||
if(user_pm_set_vfs_mode(&s_user_vfs_table[USER_PM_VFS_SAFE]) != HAL_OK) {
|
||||
// Something bad happened.
|
||||
|
|
2
Makefile
2
Makefile
|
@ -1,5 +1,5 @@
|
|||
##########################################################################################################################
|
||||
# File automatically-generated by tool: [projectgenerator] version: [3.14.1] date: [Tue Aug 24 17:01:59 CST 2021]
|
||||
# File automatically-generated by tool: [projectgenerator] version: [3.14.1] date: [Tue Aug 24 20:11:46 CST 2021]
|
||||
##########################################################################################################################
|
||||
|
||||
# ------------------------------------------------
|
||||
|
|
|
@ -55,28 +55,29 @@ Mcu.Pin33=PG2
|
|||
Mcu.Pin34=PG3
|
||||
Mcu.Pin35=PG4
|
||||
Mcu.Pin36=PG5
|
||||
Mcu.Pin37=PA9
|
||||
Mcu.Pin38=PA10
|
||||
Mcu.Pin39=PA13
|
||||
Mcu.Pin37=PC9
|
||||
Mcu.Pin38=PA9
|
||||
Mcu.Pin39=PA10
|
||||
Mcu.Pin4=PF2
|
||||
Mcu.Pin40=PA14
|
||||
Mcu.Pin41=PD0
|
||||
Mcu.Pin42=PD1
|
||||
Mcu.Pin43=PD4
|
||||
Mcu.Pin44=PD5
|
||||
Mcu.Pin45=PG10
|
||||
Mcu.Pin46=PE0
|
||||
Mcu.Pin47=PE1
|
||||
Mcu.Pin48=VP_FREERTOS_VS_CMSIS_V2
|
||||
Mcu.Pin49=VP_RTC_VS_RTC_Activate
|
||||
Mcu.Pin40=PA13
|
||||
Mcu.Pin41=PA14
|
||||
Mcu.Pin42=PD0
|
||||
Mcu.Pin43=PD1
|
||||
Mcu.Pin44=PD4
|
||||
Mcu.Pin45=PD5
|
||||
Mcu.Pin46=PG10
|
||||
Mcu.Pin47=PE0
|
||||
Mcu.Pin48=PE1
|
||||
Mcu.Pin49=VP_FREERTOS_VS_CMSIS_V2
|
||||
Mcu.Pin5=PF3
|
||||
Mcu.Pin50=VP_RTC_VS_RTC_Calendar
|
||||
Mcu.Pin51=VP_SYS_VS_tim7
|
||||
Mcu.Pin50=VP_RTC_VS_RTC_Activate
|
||||
Mcu.Pin51=VP_RTC_VS_RTC_Calendar
|
||||
Mcu.Pin52=VP_SYS_VS_tim7
|
||||
Mcu.Pin6=PF4
|
||||
Mcu.Pin7=PF5
|
||||
Mcu.Pin8=PH0-OSC_IN
|
||||
Mcu.Pin9=PH1-OSC_OUT
|
||||
Mcu.PinsNb=52
|
||||
Mcu.PinsNb=53
|
||||
Mcu.ThirdPartyNb=0
|
||||
Mcu.UserConstants=
|
||||
Mcu.UserName=STM32F407ZETx
|
||||
|
@ -111,11 +112,13 @@ PC14-OSC32_IN.Mode=LSE-External-Oscillator
|
|||
PC14-OSC32_IN.Signal=RCC_OSC32_IN
|
||||
PC15-OSC32_OUT.Mode=LSE-External-Oscillator
|
||||
PC15-OSC32_OUT.Signal=RCC_OSC32_OUT
|
||||
PC9.Mode=Clock-out-2
|
||||
PC9.Signal=RCC_MCO_2
|
||||
PCC.Checker=false
|
||||
PCC.Line=STM32F407/417
|
||||
PCC.MCU=STM32F407Z(E-G)Tx
|
||||
PCC.PartNumber=STM32F407ZETx
|
||||
PCC.Seq0=2
|
||||
PCC.Seq0=7
|
||||
PCC.Seq0.Step0.Average_Current=46 mA
|
||||
PCC.Seq0.Step0.CPU_Frequency=168 MHz
|
||||
PCC.Seq0.Step0.Category=In DS Table
|
||||
|
@ -131,21 +134,96 @@ PCC.Seq0.Step0.User's_Consumption=0 mA
|
|||
PCC.Seq0.Step0.Vcore=Scale1-High
|
||||
PCC.Seq0.Step0.Vdd=3.3
|
||||
PCC.Seq0.Step0.Voltage_Source=Battery
|
||||
PCC.Seq0.Step1.Average_Current=17.48 mA
|
||||
PCC.Seq0.Step1.CPU_Frequency=168 MHz
|
||||
PCC.Seq0.Step1.Average_Current=31 mA
|
||||
PCC.Seq0.Step1.CPU_Frequency=144 MHz
|
||||
PCC.Seq0.Step1.Category=In DS Table
|
||||
PCC.Seq0.Step1.DMIPS=210.0
|
||||
PCC.Seq0.Step1.Duration=990 ms
|
||||
PCC.Seq0.Step1.DMIPS=180.0
|
||||
PCC.Seq0.Step1.Duration=10 ms
|
||||
PCC.Seq0.Step1.Frequency=4 MHz
|
||||
PCC.Seq0.Step1.Memory=RAM/FLASH
|
||||
PCC.Seq0.Step1.Mode=SLEEP
|
||||
PCC.Seq0.Step1.Memory=RAM/FLASH/ART
|
||||
PCC.Seq0.Step1.Mode=RUN
|
||||
PCC.Seq0.Step1.Oscillator=HSE PLL
|
||||
PCC.Seq0.Step1.Peripherals=FSMC GPIOA GPIOC GPIOD GPIOE GPIOF GPIOG GPIOH RTC SYS USART1
|
||||
PCC.Seq0.Step1.TaMax=102.69
|
||||
PCC.Seq0.Step1.Peripherals=
|
||||
PCC.Seq0.Step1.TaMax=100.91
|
||||
PCC.Seq0.Step1.User's_Consumption=0 mA
|
||||
PCC.Seq0.Step1.Vcore=Scale1-High
|
||||
PCC.Seq0.Step1.Vcore=Scale2-Medium
|
||||
PCC.Seq0.Step1.Vdd=3.3
|
||||
PCC.Seq0.Step1.Voltage_Source=Battery
|
||||
PCC.Seq0.Step2.Average_Current=18.8 mA
|
||||
PCC.Seq0.Step2.CPU_Frequency=84000000 Hz
|
||||
PCC.Seq0.Step2.Category=Interpolation
|
||||
PCC.Seq0.Step2.DMIPS=105.0
|
||||
PCC.Seq0.Step2.Duration=10 ms
|
||||
PCC.Seq0.Step2.Frequency=4 MHz
|
||||
PCC.Seq0.Step2.Memory=RAM/FLASH/ART
|
||||
PCC.Seq0.Step2.Mode=RUN
|
||||
PCC.Seq0.Step2.Oscillator=HSE PLL
|
||||
PCC.Seq0.Step2.Peripherals=
|
||||
PCC.Seq0.Step2.TaMax=102.52
|
||||
PCC.Seq0.Step2.User's_Consumption=0 mA
|
||||
PCC.Seq0.Step2.Vcore=Scale2-Medium
|
||||
PCC.Seq0.Step2.Vdd=3.3
|
||||
PCC.Seq0.Step2.Voltage_Source=Battery
|
||||
PCC.Seq0.Step3.Average_Current=14.8 mA
|
||||
PCC.Seq0.Step3.CPU_Frequency=64000000 Hz
|
||||
PCC.Seq0.Step3.Category=Interpolation
|
||||
PCC.Seq0.Step3.DMIPS=80.0
|
||||
PCC.Seq0.Step3.Duration=10 ms
|
||||
PCC.Seq0.Step3.Frequency=4 MHz
|
||||
PCC.Seq0.Step3.Memory=RAM/FLASH/ART
|
||||
PCC.Seq0.Step3.Mode=RUN
|
||||
PCC.Seq0.Step3.Oscillator=HSE PLL
|
||||
PCC.Seq0.Step3.Peripherals=
|
||||
PCC.Seq0.Step3.TaMax=103.05
|
||||
PCC.Seq0.Step3.User's_Consumption=0 mA
|
||||
PCC.Seq0.Step3.Vcore=Scale2-Medium
|
||||
PCC.Seq0.Step3.Vdd=3.3
|
||||
PCC.Seq0.Step3.Voltage_Source=Battery
|
||||
PCC.Seq0.Step4.Average_Current=8.4 mA
|
||||
PCC.Seq0.Step4.CPU_Frequency=32000000 Hz
|
||||
PCC.Seq0.Step4.Category=Interpolation
|
||||
PCC.Seq0.Step4.DMIPS=40.0
|
||||
PCC.Seq0.Step4.Duration=10 ms
|
||||
PCC.Seq0.Step4.Frequency=4 MHz
|
||||
PCC.Seq0.Step4.Memory=RAM/FLASH/ART
|
||||
PCC.Seq0.Step4.Mode=RUN
|
||||
PCC.Seq0.Step4.Oscillator=HSE PLL
|
||||
PCC.Seq0.Step4.Peripherals=
|
||||
PCC.Seq0.Step4.TaMax=103.89
|
||||
PCC.Seq0.Step4.User's_Consumption=0 mA
|
||||
PCC.Seq0.Step4.Vcore=Scale2-Medium
|
||||
PCC.Seq0.Step4.Vdd=3.3
|
||||
PCC.Seq0.Step4.Voltage_Source=Battery
|
||||
PCC.Seq0.Step5.Average_Current=2 mA
|
||||
PCC.Seq0.Step5.CPU_Frequency=2400000 Hz
|
||||
PCC.Seq0.Step5.Category=Interpolation
|
||||
PCC.Seq0.Step5.DMIPS=3.0
|
||||
PCC.Seq0.Step5.Duration=10 ms
|
||||
PCC.Seq0.Step5.Frequency=2.4 MHz
|
||||
PCC.Seq0.Step5.Memory=RAM/FLASH/ART
|
||||
PCC.Seq0.Step5.Mode=RUN
|
||||
PCC.Seq0.Step5.Oscillator=HSE
|
||||
PCC.Seq0.Step5.Peripherals=
|
||||
PCC.Seq0.Step5.TaMax=104.74
|
||||
PCC.Seq0.Step5.User's_Consumption=0 mA
|
||||
PCC.Seq0.Step5.Vcore=Scale2-Medium
|
||||
PCC.Seq0.Step5.Vdd=3.3
|
||||
PCC.Seq0.Step5.Voltage_Source=Battery
|
||||
PCC.Seq0.Step6.Average_Current=2 mA
|
||||
PCC.Seq0.Step6.CPU_Frequency=16 MHz
|
||||
PCC.Seq0.Step6.Category=In DS Table
|
||||
PCC.Seq0.Step6.DMIPS=20.0
|
||||
PCC.Seq0.Step6.Duration=940 ms
|
||||
PCC.Seq0.Step6.Frequency=16 MHz
|
||||
PCC.Seq0.Step6.Memory=RAM/FLASH
|
||||
PCC.Seq0.Step6.Mode=SLEEP
|
||||
PCC.Seq0.Step6.Oscillator=HSE
|
||||
PCC.Seq0.Step6.Peripherals=
|
||||
PCC.Seq0.Step6.TaMax=104.74
|
||||
PCC.Seq0.Step6.User's_Consumption=0 mA
|
||||
PCC.Seq0.Step6.Vcore=Scale2-Medium
|
||||
PCC.Seq0.Step6.Vdd=3.3
|
||||
PCC.Seq0.Step6.Voltage_Source=Battery
|
||||
PCC.Series=STM32F4
|
||||
PCC.Temperature=25
|
||||
PCC.Vdd=3.3
|
||||
|
@ -240,15 +318,16 @@ RCC.HCLKFreq_Value=168000000
|
|||
RCC.HSE_VALUE=8000000
|
||||
RCC.HSI_VALUE=16000000
|
||||
RCC.I2SClocksFreq_Value=192000000
|
||||
RCC.IPParameters=48MHZClocksFreq_Value,AHBFreq_Value,APB1CLKDivider,APB1Freq_Value,APB1TimFreq_Value,APB2CLKDivider,APB2Freq_Value,APB2TimFreq_Value,CortexFreq_Value,EnbaleCSS,EthernetFreq_Value,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,HSE_VALUE,HSI_VALUE,I2SClocksFreq_Value,LSI_VALUE,MCO2PinFreq_Value,PLLCLKFreq_Value,PLLM,PLLN,PLLQCLKFreq_Value,PLLSourceVirtual,PWR_Regulator_Voltage_Scale,RCC_RTC_Clock_Source,RCC_RTC_Clock_SourceVirtual,RTCFreq_Value,RTCHSEDivFreq_Value,SYSCLKFreq_VALUE,SYSCLKSource,VCOI2SOutputFreq_Value,VCOInputFreq_Value,VCOOutputFreq_Value,VcooutputI2S
|
||||
RCC.IPParameters=48MHZClocksFreq_Value,AHBFreq_Value,APB1CLKDivider,APB1Freq_Value,APB1TimFreq_Value,APB2CLKDivider,APB2Freq_Value,APB2TimFreq_Value,CortexFreq_Value,EnbaleCSS,EthernetFreq_Value,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,HSE_VALUE,HSI_VALUE,I2SClocksFreq_Value,LSI_VALUE,MCO2PinFreq_Value,PLLCLKFreq_Value,PLLM,PLLN,PLLQCLKFreq_Value,PLLSourceVirtual,PWR_Regulator_Voltage_Scale,RCC_MCODiv2,RCC_RTC_Clock_Source,RCC_RTC_Clock_SourceVirtual,RTCFreq_Value,RTCHSEDivFreq_Value,SYSCLKFreq_VALUE,SYSCLKSource,VCOI2SOutputFreq_Value,VCOInputFreq_Value,VCOOutputFreq_Value,VcooutputI2S
|
||||
RCC.LSI_VALUE=32000
|
||||
RCC.MCO2PinFreq_Value=168000000
|
||||
RCC.MCO2PinFreq_Value=33600000
|
||||
RCC.PLLCLKFreq_Value=168000000
|
||||
RCC.PLLM=4
|
||||
RCC.PLLN=168
|
||||
RCC.PLLQCLKFreq_Value=84000000
|
||||
RCC.PLLSourceVirtual=RCC_PLLSOURCE_HSE
|
||||
RCC.PWR_Regulator_Voltage_Scale=PWR_REGULATOR_VOLTAGE_SCALE1
|
||||
RCC.RCC_MCODiv2=RCC_MCODIV_5
|
||||
RCC.RCC_RTC_Clock_Source=RCC_RTCCLKSOURCE_LSE
|
||||
RCC.RCC_RTC_Clock_SourceVirtual=RCC_RTCCLKSOURCE_LSE
|
||||
RCC.RTCFreq_Value=32768
|
||||
|
@ -339,7 +418,7 @@ SH.FSMC_NOE.0=FSMC_NOE,Sram1
|
|||
SH.FSMC_NOE.ConfNb=1
|
||||
SH.FSMC_NWE.0=FSMC_NWE,Sram1
|
||||
SH.FSMC_NWE.ConfNb=1
|
||||
USART1.BaudRate=921600
|
||||
USART1.BaudRate=115200
|
||||
USART1.IPParameters=VirtualMode,BaudRate
|
||||
USART1.VirtualMode=VM_ASYNC
|
||||
VP_FREERTOS_VS_CMSIS_V2.Mode=CMSIS_V2
|
||||
|
|
Loading…
Reference in New Issue