From 2cad5cea85f6910d1a007d09effe3e2fc5e9f9e2 Mon Sep 17 00:00:00 2001 From: Matthias Ringwald Date: Mon, 26 Jun 2017 13:41:04 +0200 Subject: [PATCH] stm32-l053r8-em9304: increase MCU clock to 32 Mhz --- .../cubemx-l053r8-em9304/Makefile | 49 +++++++++--------- .../cubemx-l053r8-em9304/Src/main.c | 18 ++++--- .../cubemx-l053r8-em9304.ioc | 51 ++++++++++--------- 3 files changed, 64 insertions(+), 54 deletions(-) diff --git a/port/stm32-l053r8-em9304/cubemx-l053r8-em9304/Makefile b/port/stm32-l053r8-em9304/cubemx-l053r8-em9304/Makefile index 3e25b3946..9d77c06ae 100644 --- a/port/stm32-l053r8-em9304/cubemx-l053r8-em9304/Makefile +++ b/port/stm32-l053r8-em9304/cubemx-l053r8-em9304/Makefile @@ -1,5 +1,5 @@ ########################################################################################################################## -# File automatically-generated by tool: [projectgenerator] version: [2.23.0] date: [Sun Jun 25 18:34:23 CEST 2017] +# File automatically-generated by tool: [projectgenerator] version: [2.23.0] date: [Mon Jun 26 11:13:36 CEST 2017] ########################################################################################################################## # ------------------------------------------------ @@ -80,29 +80,29 @@ Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal.c \ Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc_ex.c \ Src/stm32l0xx_it.c \ ../port.c \ - btstack_memory.c \ - btstack_linked_list.c \ - btstack_memory_pool.c \ - btstack_run_loop.c \ - btstack_util.c \ - ad_parser.c \ - hci.c \ - hci_cmd.c \ - hci_dump.c \ - l2cap.c \ - l2cap_signaling.c \ - att_dispatch.c \ - att_db.c \ - att_server.c \ - gatt_client.c \ - sm.c \ - uECC.c \ - le_counter.c \ + btstack_memory.c \ + btstack_linked_list.c \ + btstack_memory_pool.c \ + btstack_run_loop.c \ + btstack_util.c \ + ad_parser.c \ + hci.c \ + hci_cmd.c \ + hci_dump.c \ + l2cap.c \ + l2cap_signaling.c \ + att_dispatch.c \ + att_db.c \ + att_server.c \ + gatt_client.c \ + sm.c \ + uECC.c \ + le_streamer.c \ btstack_run_loop_embedded.c \ - hci_transport_h4.c \ + hci_transport_h4.c \ btstack_uart_block_embedded.c \ - le_device_db_memory.c \ - battery_service_server.c \ + le_device_db_memory.c \ + battery_service_server.c # ASM sources ASM_SOURCES = \ @@ -198,11 +198,14 @@ LIBDIR = LDFLAGS = $(MCU) -specs=nano.specs -T$(LDSCRIPT) $(LIBDIR) $(LIBS) -Wl,-Map=$(BUILD_DIR)/$(TARGET).map,--cref -Wl,--gc-sections # default action: build all -all: le_counter.h $(BUILD_DIR)/$(TARGET).elf $(BUILD_DIR)/$(TARGET).hex $(BUILD_DIR)/$(TARGET).bin +all: le_counter.h le_streamer.h $(BUILD_DIR)/$(TARGET).elf $(BUILD_DIR)/$(TARGET).hex $(BUILD_DIR)/$(TARGET).bin le_counter.h: le_counter.gatt python ${BTSTACK_ROOT}/tool/compile_gatt.py $< $@ +le_streamer.h: le_streamer.gatt + python ${BTSTACK_ROOT}/tool/compile_gatt.py $< $@ + ####################################### # build the application ####################################### diff --git a/port/stm32-l053r8-em9304/cubemx-l053r8-em9304/Src/main.c b/port/stm32-l053r8-em9304/cubemx-l053r8-em9304/Src/main.c index 0bdcb5406..70dd2cd20 100644 --- a/port/stm32-l053r8-em9304/cubemx-l053r8-em9304/Src/main.c +++ b/port/stm32-l053r8-em9304/cubemx-l053r8-em9304/Src/main.c @@ -132,11 +132,13 @@ void SystemClock_Config(void) /**Initializes the CPU, AHB and APB busses clocks */ - RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_MSI; - RCC_OscInitStruct.MSIState = RCC_MSI_ON; - RCC_OscInitStruct.MSICalibrationValue = 0; - RCC_OscInitStruct.MSIClockRange = RCC_MSIRANGE_6; - RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE; + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = 16; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLMUL = RCC_PLLMUL_4; + RCC_OscInitStruct.PLL.PLLDIV = RCC_PLLDIV_2; if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { _Error_Handler(__FILE__, __LINE__); @@ -146,12 +148,12 @@ void SystemClock_Config(void) */ RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; - RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_MSI; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; - if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1) != HAL_OK) { _Error_Handler(__FILE__, __LINE__); } @@ -186,7 +188,7 @@ static void MX_SPI1_Init(void) hspi1.Init.CLKPolarity = SPI_POLARITY_LOW; hspi1.Init.CLKPhase = SPI_PHASE_1EDGE; hspi1.Init.NSS = SPI_NSS_SOFT; - hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_2; + hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_32; hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB; hspi1.Init.TIMode = SPI_TIMODE_DISABLE; hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; diff --git a/port/stm32-l053r8-em9304/cubemx-l053r8-em9304/cubemx-l053r8-em9304.ioc b/port/stm32-l053r8-em9304/cubemx-l053r8-em9304/cubemx-l053r8-em9304.ioc index 16f8a54a2..bf7ab5e50 100644 --- a/port/stm32-l053r8-em9304/cubemx-l053r8-em9304/cubemx-l053r8-em9304.ioc +++ b/port/stm32-l053r8-em9304/cubemx-l053r8-em9304/cubemx-l053r8-em9304.ioc @@ -151,48 +151,53 @@ ProjectManager.TargetToolchain=Makefile ProjectManager.ToolChainLocation= ProjectManager.UnderRoot=false ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL,2-MX_DMA_Init-DMA-false-HAL,3-SystemClock_Config-RCC-false-HAL,4-MX_SPI1_Init-SPI1-false-HAL,5-MX_USART2_UART_Init-USART2-false-HAL -RCC.48CLKFreq_Value=24000000 -RCC.AHBFreq_Value=4194000 -RCC.APB1Freq_Value=4194000 -RCC.APB1TimFreq_Value=4194000 -RCC.APB2Freq_Value=4194000 -RCC.APB2TimFreq_Value=4194000 -RCC.FCLKCortexFreq_Value=4194000 +RCC.48CLKFreq_Value=32000000 +RCC.48RNGFreq_Value=32000000 +RCC.48USBFreq_Value=32000000 +RCC.AHBFreq_Value=32000000 +RCC.APB1Freq_Value=32000000 +RCC.APB1TimFreq_Value=32000000 +RCC.APB2Freq_Value=32000000 +RCC.APB2TimFreq_Value=32000000 +RCC.FCLKCortexFreq_Value=32000000 RCC.FamilyName=M -RCC.HCLKFreq_Value=4194000 +RCC.HCLKFreq_Value=32000000 RCC.HSE_VALUE=8000000 RCC.HSI16_VALUE=16000000 RCC.HSI48_VALUE=48000000 RCC.HSI_VALUE=16000000 -RCC.I2C1Freq_Value=4194000 -RCC.IPParameters=48CLKFreq_Value,AHBFreq_Value,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,HSE_VALUE,HSI16_VALUE,HSI48_VALUE,HSI_VALUE,I2C1Freq_Value,LCDFreq_Value,LPTIMFreq_Value,LPUARTFreq_Value,LSEState,LSE_VALUE,LSI_VALUE,MCOPinFreq_Value,MSIClockRange,MSI_VALUE,PLLCLKFreq_Value,PWRFreq_Value,RTCFreq_Value,RTCHSEDivFreq_Value,SYSCLKFreq_VALUE,TIMFreq_Value,TimerFreq_Value,USART1Freq_Value,USART2Freq_Value,VCOOutputFreq_Value,WatchDogFreq_Value +RCC.I2C1Freq_Value=32000000 +RCC.IPParameters=48CLKFreq_Value,48RNGFreq_Value,48USBFreq_Value,AHBFreq_Value,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,HSE_VALUE,HSI16_VALUE,HSI48_VALUE,HSI_VALUE,I2C1Freq_Value,LCDFreq_Value,LPTIMFreq_Value,LPUARTFreq_Value,LSEState,LSE_VALUE,LSI_VALUE,MCOPinFreq_Value,MSIClockRange,MSI_VALUE,PLLCLKFreq_Value,PLLMUL,PWRFreq_Value,RTCFreq_Value,RTCHSEDivFreq_Value,SYSCLKFreq_VALUE,SYSCLKSource,TIMFreq_Value,TimerFreq_Value,USART1Freq_Value,USART2Freq_Value,VCOOutputFreq_Value,WatchDogFreq_Value RCC.LCDFreq_Value=37000 -RCC.LPTIMFreq_Value=4194000 -RCC.LPUARTFreq_Value=4194000 +RCC.LPTIMFreq_Value=32000000 +RCC.LPUARTFreq_Value=32000000 RCC.LSEState=RCC_LSE_ON RCC.LSE_VALUE=32768 RCC.LSI_VALUE=37000 -RCC.MCOPinFreq_Value=4194000 +RCC.MCOPinFreq_Value=32000000 RCC.MSIClockRange=RCC_MSIRANGE_6 RCC.MSI_VALUE=4194000 -RCC.PLLCLKFreq_Value=24000000 -RCC.PWRFreq_Value=4194000 +RCC.PLLCLKFreq_Value=32000000 +RCC.PLLMUL=RCC_PLLMUL_4 +RCC.PWRFreq_Value=32000000 RCC.RTCFreq_Value=37000 RCC.RTCHSEDivFreq_Value=4000000 -RCC.SYSCLKFreq_VALUE=4194000 -RCC.TIMFreq_Value=4194000 -RCC.TimerFreq_Value=4194000 -RCC.USART1Freq_Value=4194000 -RCC.USART2Freq_Value=4194000 -RCC.VCOOutputFreq_Value=48000000 +RCC.SYSCLKFreq_VALUE=32000000 +RCC.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK +RCC.TIMFreq_Value=32000000 +RCC.TimerFreq_Value=32000000 +RCC.USART1Freq_Value=32000000 +RCC.USART2Freq_Value=32000000 +RCC.VCOOutputFreq_Value=64000000 RCC.WatchDogFreq_Value=37000 SH.GPXTI13.0=GPIO_EXTI13 SH.GPXTI13.ConfNb=1 SH.GPXTI9.0=GPIO_EXTI9 SH.GPXTI9.ConfNb=1 -SPI1.CalculateBaudRate=2.097 MBits/s +SPI1.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_32 +SPI1.CalculateBaudRate=1000.0 KBits/s SPI1.Direction=SPI_DIRECTION_2LINES -SPI1.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate +SPI1.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate,BaudRatePrescaler SPI1.Mode=SPI_MODE_MASTER SPI1.VirtualType=VM_MASTER USART2.IPParameters=VirtualMode-Asynchronous,WordLength