]> code.bitgloo.com Git - clyne/u0-decibels.git/commitdiff
reduce clocks
authorClyne Sullivan <clyne@bitgloo.com>
Fri, 31 Jan 2025 02:10:20 +0000 (21:10 -0500)
committerClyne Sullivan <clyne@bitgloo.com>
Fri, 31 Jan 2025 02:10:20 +0000 (21:10 -0500)
Core/Inc/stm32u0xx_hal_conf.h
Core/Src/main.c
Core/Src/stm32u0xx_hal_msp.c
Makefile
microphone.ioc

index d8e250f74c3846103f54bdeba0a346a9a31e277d..66cfc34cfeb4ab0bb838cd32cfc3878604674a13 100644 (file)
   * @brief This is the HAL system configuration section\r
   */\r
 \r
-#define  VDD_VALUE                    3300U /*!< Value of VDD in mv */\r
+#define  VDD_VALUE                    1710U /*!< Value of VDD in mv */\r
 #define  TICK_INT_PRIORITY            (3U)    /*!< tick interrupt priority (lowest by default) */\r
 #define  USE_RTOS                     0U\r
 #define  PREFETCH_ENABLE              0U\r
index 29fe9cf733da71049efe794f58b29a653afbf350..67e6ab80076a25799bf5e387d28c04259d083a7e 100644 (file)
@@ -142,9 +142,10 @@ int main(void)
   /* USER CODE BEGIN WHILE */\r
   while (1)\r
   {\r
-    /* USER CODE END WHILE */\r
     HAL_GPIO_WritePin(IDLE_GPIO_Port, IDLE_Pin, GPIO_PIN_SET);\r
     __WFI();\r
+    /* USER CODE END WHILE */\r
+\r
     /* USER CODE BEGIN 3 */\r
   }\r
   /* USER CODE END 3 */\r
@@ -161,7 +162,7 @@ void SystemClock_Config(void)
 \r
   /** Configure the main internal regulator output voltage\r
   */\r
-  HAL_PWREx_ControlVoltageScaling(PWR_REGULATOR_VOLTAGE_SCALE1);\r
+  HAL_PWREx_ControlVoltageScaling(PWR_REGULATOR_VOLTAGE_SCALE2);\r
 \r
   /** Initializes the RCC Oscillators according to the specified parameters\r
   * in the RCC_OscInitTypeDef structure.\r
@@ -181,10 +182,10 @@ void SystemClock_Config(void)
   RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK\r
                               |RCC_CLOCKTYPE_PCLK1;\r
   RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_MSI;\r
-  RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;\r
-  RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;\r
+  RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV2;\r
+  RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;\r
 \r
-  if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK)\r
+  if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1) != HAL_OK)\r
   {\r
     Error_Handler();\r
   }\r
@@ -213,7 +214,7 @@ static void MX_SPI1_Init(void)
   hspi1.Init.CLKPolarity = SPI_POLARITY_LOW;\r
   hspi1.Init.CLKPhase = SPI_PHASE_1EDGE;\r
   hspi1.Init.NSS = SPI_NSS_SOFT;\r
-  hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_8;\r
+  hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_2;\r
   hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB;\r
   hspi1.Init.TIMode = SPI_TIMODE_DISABLE;\r
   hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;\r
@@ -252,7 +253,7 @@ static void MX_USART2_UART_Init(void)
   huart2.Init.Parity = UART_PARITY_NONE;\r
   huart2.Init.Mode = UART_MODE_TX_RX;\r
   huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE;\r
-  huart2.Init.OverSampling = UART_OVERSAMPLING_16;\r
+  huart2.Init.OverSampling = UART_OVERSAMPLING_8;\r
   huart2.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;\r
   huart2.Init.ClockPrescaler = UART_PRESCALER_DIV1;\r
   huart2.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;\r
index 204294df44b85db09c0ce67ab56cc6c7ada16d53..4eb7deb60091cbfdda0c55f9d81f11542dba0699 100644 (file)
@@ -120,7 +120,7 @@ void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi)
     hdma_spi1_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE;\r
     hdma_spi1_rx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;\r
     hdma_spi1_rx.Init.Mode = DMA_CIRCULAR;\r
-    hdma_spi1_rx.Init.Priority = DMA_PRIORITY_VERY_HIGH;\r
+    hdma_spi1_rx.Init.Priority = DMA_PRIORITY_MEDIUM;\r
     if (HAL_DMA_Init(&hdma_spi1_rx) != HAL_OK)\r
     {\r
       Error_Handler();\r
@@ -137,7 +137,7 @@ void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi)
     hdma_spi1_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE;\r
     hdma_spi1_tx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;\r
     hdma_spi1_tx.Init.Mode = DMA_CIRCULAR;\r
-    hdma_spi1_tx.Init.Priority = DMA_PRIORITY_VERY_HIGH;\r
+    hdma_spi1_tx.Init.Priority = DMA_PRIORITY_MEDIUM;\r
     if (HAL_DMA_Init(&hdma_spi1_tx) != HAL_OK)\r
     {\r
       Error_Handler();\r
index 446775f1048b2e777716f6ee94e2dd68eb16b91b..ab0211ad8395be251df0208554beeee1cc91b9b0 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
 ##########################################################################################################################\r
-# File automatically-generated by tool: [projectgenerator] version: [4.5.0-RC5] date: [Thu Jan 30 16:49:01 EST 2025] \r
+# File automatically-generated by tool: [projectgenerator] version: [4.5.0-RC5] date: [Thu Jan 30 17:24:56 EST 2025] \r
 ##########################################################################################################################\r
 \r
 # ------------------------------------------------\r
index 7e77d472bb069631223109a12ec7abf42a77e044..49dc5db3d2abf35b175cc4fa8c9c814f2b8d3dc7 100644 (file)
@@ -14,7 +14,7 @@ Dma.SPI1_RX.0.Mode=DMA_CIRCULAR
 Dma.SPI1_RX.0.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
 Dma.SPI1_RX.0.PeriphInc=DMA_PINC_DISABLE
 Dma.SPI1_RX.0.Polarity=HAL_DMAMUX_REQ_GEN_RISING
-Dma.SPI1_RX.0.Priority=DMA_PRIORITY_VERY_HIGH
+Dma.SPI1_RX.0.Priority=DMA_PRIORITY_MEDIUM
 Dma.SPI1_RX.0.RequestNumber=1
 Dma.SPI1_RX.0.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,SignalID,Polarity,RequestNumber,SyncSignalID,SyncPolarity,SyncEnable,EventEnable,SyncRequestNumber
 Dma.SPI1_RX.0.SignalID=NONE
@@ -31,7 +31,7 @@ Dma.SPI1_TX.1.Mode=DMA_CIRCULAR
 Dma.SPI1_TX.1.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
 Dma.SPI1_TX.1.PeriphInc=DMA_PINC_DISABLE
 Dma.SPI1_TX.1.Polarity=HAL_DMAMUX_REQ_GEN_RISING
-Dma.SPI1_TX.1.Priority=DMA_PRIORITY_VERY_HIGH
+Dma.SPI1_TX.1.Priority=DMA_PRIORITY_MEDIUM
 Dma.SPI1_TX.1.RequestNumber=1
 Dma.SPI1_TX.1.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,SignalID,Polarity,RequestNumber,SyncSignalID,SyncPolarity,SyncEnable,EventEnable,SyncRequestNumber
 Dma.SPI1_TX.1.SignalID=NONE
@@ -40,7 +40,7 @@ Dma.SPI1_TX.1.SyncPolarity=HAL_DMAMUX_SYNC_NO_EVENT
 Dma.SPI1_TX.1.SyncRequestNumber=1
 Dma.SPI1_TX.1.SyncSignalID=NONE
 File.Version=6
-GPIO.groupedBy=
+GPIO.groupedBy=Group By Peripherals
 KeepUserPlacement=false
 Mcu.CPN=STM32U083MCT6
 Mcu.Family=STM32U0
@@ -61,7 +61,8 @@ Mcu.Pin1=PC2
 Mcu.Pin10=PA13 (SWDIO)
 Mcu.Pin11=PA14 (SWCLK)
 Mcu.Pin12=VP_PWR_VS_SECSignals
-Mcu.Pin13=VP_SYS_VS_Systick
+Mcu.Pin13=VP_PWR_VS_LPOM
+Mcu.Pin14=VP_SYS_VS_Systick
 Mcu.Pin2=PA1
 Mcu.Pin3=PA2
 Mcu.Pin4=PA3
@@ -70,7 +71,7 @@ Mcu.Pin6=PA6
 Mcu.Pin7=PA7
 Mcu.Pin8=PB2
 Mcu.Pin9=PD9
-Mcu.PinsNb=14
+Mcu.PinsNb=15
 Mcu.ThirdPartyNb=0
 Mcu.UserConstants=
 Mcu.UserName=STM32U083MCTx
@@ -165,25 +166,30 @@ ProjectManager.UAScriptBeforePath=
 ProjectManager.UnderRoot=false
 ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_DMA_Init-DMA-false-HAL-true,4-MX_SPI1_Init-SPI1-false-HAL-true,5-MX_USART2_UART_Init-USART2-false-HAL-true,0-MX_CORTEX_M0+_Init-CORTEX_M0+-false-HAL-true,0-MX_PWR_Init-PWR-false-HAL-true
 RCC.ADCFreq_Value=24000000
-RCC.AHBFreq_Value=24000000
-RCC.APBFreq_Value=24000000
-RCC.APBTimFreq_Value=24000000
-RCC.CortexFreq_Value=24000000
-RCC.FCLKCortexFreq_Value=24000000
+RCC.AHBCLKDivider=RCC_SYSCLK_DIV2
+RCC.AHBFreq_Value=12000000
+RCC.APB1CLKDivider=RCC_HCLK_DIV2
+RCC.APBFreq_Value=6000000
+RCC.APBTimFreq_Value=12000000
+RCC.CortexFreq_Value=1500000
+RCC.Cortex_Div=SYSTICK_CLKSOURCE_HCLK_DIV8
+RCC.DATA_CACHE_ENABLE=1
+RCC.FCLKCortexFreq_Value=12000000
 RCC.FamilyName=M
-RCC.HCLKFreq_Value=24000000
+RCC.HCLKFreq_Value=12000000
 RCC.HSE_VALUE=4000000
 RCC.HSI48_VALUE=48000000
 RCC.HSI_VALUE=16000000
-RCC.I2C1Freq_Value=24000000
-RCC.I2C3Freq_Value=24000000
-RCC.IPParameters=ADCFreq_Value,AHBFreq_Value,APBFreq_Value,APBTimFreq_Value,CortexFreq_Value,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,HSE_VALUE,HSI48_VALUE,HSI_VALUE,I2C1Freq_Value,I2C3Freq_Value,LPTIM1Freq_Value,LPTIM2Freq_Value,LPTIM3Freq_Value,LPUART1Freq_Value,LPUART2Freq_Value,LPUART3Freq_Value,LSCOPinFreq_Value,LSE_VALUE,LSI_VALUE,MCO1PinFreq_Value,MCO2PinFreq_Value,MSIClockRangeVal,MSI_VALUE,PLLPoutputFreq_Value,PLLQoutputFreq_Value,PLLRCLKFreq_Value,PWRFreq_Value,RNGFreq_Value,SYSCLKFreq_VALUE,SYSCLKSource,TIM15Freq_Value,TIM1Freq_Value,USART1Freq_Value,USART2Freq_Value,USBFreq_Value,VCOInputFreq_Value,VCOOutputFreq_Value
-RCC.LPTIM1Freq_Value=24000000
-RCC.LPTIM2Freq_Value=24000000
-RCC.LPTIM3Freq_Value=24000000
-RCC.LPUART1Freq_Value=24000000
-RCC.LPUART2Freq_Value=24000000
-RCC.LPUART3Freq_Value=24000000
+RCC.I2C1Freq_Value=6000000
+RCC.I2C3Freq_Value=6000000
+RCC.INSTRUCTION_CACHE_ENABLE=1
+RCC.IPParameters=ADCFreq_Value,AHBCLKDivider,AHBFreq_Value,APB1CLKDivider,APBFreq_Value,APBTimFreq_Value,CortexFreq_Value,Cortex_Div,DATA_CACHE_ENABLE,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,HSE_VALUE,HSI48_VALUE,HSI_VALUE,I2C1Freq_Value,I2C3Freq_Value,INSTRUCTION_CACHE_ENABLE,LPTIM1Freq_Value,LPTIM2Freq_Value,LPTIM3Freq_Value,LPUART1Freq_Value,LPUART2Freq_Value,LPUART3Freq_Value,LSCOPinFreq_Value,LSE_VALUE,LSI_VALUE,MCO1PinFreq_Value,MCO2PinFreq_Value,MSIClockRangeVal,MSI_VALUE,PLLPoutputFreq_Value,PLLQoutputFreq_Value,PLLRCLKFreq_Value,PLLSourceVirtual,PWRFreq_Value,RNGFreq_Value,SYSCLKFreq_VALUE,SYSCLKSource,TIM15Freq_Value,TIM1Freq_Value,USART1Freq_Value,USART2Freq_Value,USBFreq_Value,VCOInputFreq_Value,VCOOutputFreq_Value,VDD_VALUE
+RCC.LPTIM1Freq_Value=6000000
+RCC.LPTIM2Freq_Value=6000000
+RCC.LPTIM3Freq_Value=6000000
+RCC.LPUART1Freq_Value=6000000
+RCC.LPUART2Freq_Value=6000000
+RCC.LPUART3Freq_Value=6000000
 RCC.LSCOPinFreq_Value=32000
 RCC.LSE_VALUE=32768
 RCC.LSI_VALUE=32000
@@ -191,21 +197,23 @@ RCC.MCO1PinFreq_Value=24000000
 RCC.MCO2PinFreq_Value=24000000
 RCC.MSIClockRangeVal=RCC_MSIRANGE_9
 RCC.MSI_VALUE=24000000
-RCC.PLLPoutputFreq_Value=32000000
-RCC.PLLQoutputFreq_Value=32000000
-RCC.PLLRCLKFreq_Value=32000000
+RCC.PLLPoutputFreq_Value=48000000
+RCC.PLLQoutputFreq_Value=48000000
+RCC.PLLRCLKFreq_Value=48000000
+RCC.PLLSourceVirtual=RCC_PLLSOURCE_MSI
 RCC.PWRFreq_Value=24000000
 RCC.RNGFreq_Value=24000000
 RCC.SYSCLKFreq_VALUE=24000000
 RCC.SYSCLKSource=RCC_SYSCLKSOURCE_MSI
-RCC.TIM15Freq_Value=24000000
-RCC.TIM1Freq_Value=24000000
-RCC.USART1Freq_Value=24000000
-RCC.USART2Freq_Value=24000000
+RCC.TIM15Freq_Value=12000000
+RCC.TIM1Freq_Value=12000000
+RCC.USART1Freq_Value=6000000
+RCC.USART2Freq_Value=6000000
 RCC.USBFreq_Value=24000000
-RCC.VCOInputFreq_Value=16000000
-RCC.VCOOutputFreq_Value=64000000
-SPI1.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_8
+RCC.VCOInputFreq_Value=24000000
+RCC.VCOOutputFreq_Value=96000000
+RCC.VDD_VALUE=1.71
+SPI1.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_2
 SPI1.CalculateBaudRate=3.0 MBits/s
 SPI1.DataSize=SPI_DATASIZE_8BIT
 SPI1.Direction=SPI_DIRECTION_2LINES
@@ -213,8 +221,11 @@ SPI1.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate,DataSize,BaudRate
 SPI1.Mode=SPI_MODE_MASTER
 SPI1.NSSPMode=SPI_NSS_PULSE_DISABLE
 SPI1.VirtualType=VM_MASTER
-USART2.IPParameters=VirtualMode-Asynchronous
+USART2.IPParameters=VirtualMode-Asynchronous,OverSampling
+USART2.OverSampling=UART_OVERSAMPLING_8
 USART2.VirtualMode-Asynchronous=VM_ASYNC
+VP_PWR_VS_LPOM.Mode=PowerOptimisation
+VP_PWR_VS_LPOM.Signal=PWR_VS_LPOM
 VP_PWR_VS_SECSignals.Mode=Security/Privilege
 VP_PWR_VS_SECSignals.Signal=PWR_VS_SECSignals
 VP_SYS_VS_Systick.Mode=SysTick