diff --git a/bsp/stm32/stm32f429-atk-apollo/board/CubeMX_Config/STM32F429IG.ioc b/bsp/stm32/stm32f429-atk-apollo/board/CubeMX_Config/STM32F429IG.ioc index ad57d049ee005c350df376c5d5a4d21b5a5822f6..5456a4d5dface0131f793862e57d23a1fbe89a09 100644 --- a/bsp/stm32/stm32f429-atk-apollo/board/CubeMX_Config/STM32F429IG.ioc +++ b/bsp/stm32/stm32f429-atk-apollo/board/CubeMX_Config/STM32F429IG.ioc @@ -9,6 +9,7 @@ ETH.IPParameters=MediaInterface ETH.MediaInterface=ETH_MEDIA_INTERFACE_RMII File.Version=6 KeepUserPlacement=false +Mcu.CPN=STM32F429IGT6 Mcu.Family=STM32F4 Mcu.IP0=ADC1 Mcu.IP1=ETH @@ -21,9 +22,8 @@ Mcu.IP15=TIM13 Mcu.IP16=TIM14 Mcu.IP17=USART1 Mcu.IP18=USART2 -Mcu.IP19=USART3 +Mcu.IP19=USB_OTG_FS Mcu.IP2=FMC -Mcu.IP20=USB_OTG_FS Mcu.IP3=IWDG Mcu.IP4=NVIC Mcu.IP5=RCC @@ -31,7 +31,7 @@ Mcu.IP6=RTC Mcu.IP7=SAI1 Mcu.IP8=SDIO Mcu.IP9=SPI1 -Mcu.IPNb=21 +Mcu.IPNb=20 Mcu.Name=STM32F429I(E-G)Tx Mcu.Package=LQFP176 Mcu.Pin0=PE2 @@ -75,74 +75,73 @@ Mcu.Pin42=PE12 Mcu.Pin43=PE13 Mcu.Pin44=PE14 Mcu.Pin45=PE15 -Mcu.Pin46=PB10 -Mcu.Pin47=PB11 -Mcu.Pin48=PB13 -Mcu.Pin49=PB14 +Mcu.Pin46=PB11 +Mcu.Pin47=PB13 +Mcu.Pin48=PB14 +Mcu.Pin49=PB15 Mcu.Pin5=PC14/OSC32_IN -Mcu.Pin50=PB15 -Mcu.Pin51=PD8 -Mcu.Pin52=PD9 -Mcu.Pin53=PD10 -Mcu.Pin54=PD14 -Mcu.Pin55=PD15 -Mcu.Pin56=PG2 -Mcu.Pin57=PG4 -Mcu.Pin58=PG5 -Mcu.Pin59=PG8 +Mcu.Pin50=PD8 +Mcu.Pin51=PD9 +Mcu.Pin52=PD10 +Mcu.Pin53=PD14 +Mcu.Pin54=PD15 +Mcu.Pin55=PG2 +Mcu.Pin56=PG4 +Mcu.Pin57=PG5 +Mcu.Pin58=PG8 +Mcu.Pin59=PC8 Mcu.Pin6=PC15/OSC32_OUT -Mcu.Pin60=PC8 -Mcu.Pin61=PC9 -Mcu.Pin62=PA9 -Mcu.Pin63=PA10 -Mcu.Pin64=PA11 -Mcu.Pin65=PA12 -Mcu.Pin66=PA13 -Mcu.Pin67=PA14 -Mcu.Pin68=PC10 -Mcu.Pin69=PC11 +Mcu.Pin60=PC9 +Mcu.Pin61=PA9 +Mcu.Pin62=PA10 +Mcu.Pin63=PA11 +Mcu.Pin64=PA12 +Mcu.Pin65=PA13 +Mcu.Pin66=PA14 +Mcu.Pin67=PC10 +Mcu.Pin68=PC11 +Mcu.Pin69=PC12 Mcu.Pin7=PF0 -Mcu.Pin70=PC12 -Mcu.Pin71=PD0 -Mcu.Pin72=PD1 -Mcu.Pin73=PD2 -Mcu.Pin74=PD5 -Mcu.Pin75=PD6 -Mcu.Pin76=PG11 -Mcu.Pin77=PG13 -Mcu.Pin78=PG14 -Mcu.Pin79=PG15 +Mcu.Pin70=PD0 +Mcu.Pin71=PD1 +Mcu.Pin72=PD2 +Mcu.Pin73=PD5 +Mcu.Pin74=PD6 +Mcu.Pin75=PG13 +Mcu.Pin76=PG14 +Mcu.Pin77=PG15 +Mcu.Pin78=PB3 +Mcu.Pin79=PB5 Mcu.Pin8=PF1 -Mcu.Pin80=PB3 -Mcu.Pin81=PB5 -Mcu.Pin82=PE0 -Mcu.Pin83=PE1 -Mcu.Pin84=VP_IWDG_VS_IWDG -Mcu.Pin85=VP_RTC_VS_RTC_Activate -Mcu.Pin86=VP_SYS_VS_Systick -Mcu.Pin87=VP_TIM2_VS_ClockSourceINT -Mcu.Pin88=VP_TIM11_VS_ClockSourceINT -Mcu.Pin89=VP_TIM13_VS_ClockSourceINT +Mcu.Pin80=PE0 +Mcu.Pin81=PE1 +Mcu.Pin82=VP_IWDG_VS_IWDG +Mcu.Pin83=VP_RTC_VS_RTC_Activate +Mcu.Pin84=VP_SYS_VS_Systick +Mcu.Pin85=VP_TIM2_VS_ClockSourceINT +Mcu.Pin86=VP_TIM11_VS_ClockSourceINT +Mcu.Pin87=VP_TIM13_VS_ClockSourceINT +Mcu.Pin88=VP_TIM14_VS_ClockSourceINT Mcu.Pin9=PF2 -Mcu.Pin90=VP_TIM14_VS_ClockSourceINT -Mcu.PinsNb=91 +Mcu.PinsNb=89 Mcu.ThirdPartyNb=0 Mcu.UserConstants= Mcu.UserName=STM32F429IGTx MxCube.Version=5.3.0 MxDb.Version=DB.5.0.30 -NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false -NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false -NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false -NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false -NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false -NVIC.OTG_FS_IRQn=true\:0\:0\:false\:false\:true\:true\:true -NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false +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.ForceEnableDMAVector=true +NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false +NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false +NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false +NVIC.OTG_FS_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true +NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4 -NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false -NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:false\:true -NVIC.USART1_IRQn=true\:0\:0\:true\:false\:true\:true\:true -NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false +NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false +NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:false +NVIC.USART1_IRQn=true\:0\:0\:true\:false\:true\:true\:true\:true +NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false PA1.Mode=RMII PA1.Signal=ETH_REF_CLK PA10.Mode=Asynchronous @@ -166,10 +165,9 @@ PA7.Mode=RMII PA7.Signal=ETH_CRS_DV PA9.Mode=Asynchronous PA9.Signal=USART1_TX -PB10.Mode=Asynchronous -PB10.Signal=USART3_TX -PB11.Mode=Asynchronous -PB11.Signal=USART3_RX +PB11.Locked=true +PB11.Mode=RMII +PB11.Signal=ETH_TX_EN PB13.Mode=Full_Duplex_Master PB13.Signal=SPI2_SCK PB14.Mode=Full_Duplex_Master @@ -205,14 +203,6 @@ PC8.Mode=SD_4_bits_Wide_bus PC8.Signal=SDIO_D0 PC9.Mode=SD_4_bits_Wide_bus PC9.Signal=SDIO_D1 -PCC.Checker=false -PCC.Line=STM32F429/439 -PCC.MCU=STM32F429I(E-G)Tx -PCC.PartNumber=STM32F429IGTx -PCC.Seq0=0 -PCC.Series=STM32F4 -PCC.Temperature=25 -PCC.Vdd=3.3 PD0.Signal=FMC_D2_DA2 PD1.Signal=FMC_D3_DA3 PD10.Signal=FMC_D15_DA15 @@ -266,8 +256,6 @@ PF9.Mode=Full_Duplex_Master PF9.Signal=SPI5_MOSI PG0.Signal=FMC_A10 PG1.Signal=FMC_A11 -PG11.Mode=RMII -PG11.Signal=ETH_TX_EN PG13.Locked=true PG13.Mode=RMII PG13.Signal=ETH_TXD0 @@ -298,7 +286,7 @@ ProjectManager.FreePins=false ProjectManager.HalAssertFull=false ProjectManager.HeapSize=0x200 ProjectManager.KeepUserCode=true -ProjectManager.LastFirmware=false +ProjectManager.LastFirmware=true ProjectManager.LibraryCopy=0 ProjectManager.MainLocation=Src ProjectManager.NoMain=false @@ -306,11 +294,12 @@ ProjectManager.PreviousToolchain= ProjectManager.ProjectBuild=false ProjectManager.ProjectFileName=STM32F429IG.ioc ProjectManager.ProjectName=STM32F429IG +ProjectManager.RegisterCallBack= ProjectManager.StackSize=0x400 ProjectManager.TargetToolchain=MDK-ARM V5 ProjectManager.ToolChainLocation= 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_ETH_Init-ETH-false-HAL-true,5-MX_FMC_Init-FMC-false-HAL-true,6-MX_RTC_Init-RTC-false-HAL-true,7-MX_IWDG_Init-IWDG-false-HAL-true,8-MX_ADC1_Init-ADC1-false-HAL-true,9-MX_TIM11_Init-TIM11-false-HAL-true,10-MX_TIM13_Init-TIM13-false-HAL-true,11-MX_TIM14_Init-TIM14-false-HAL-true,12-MX_SDIO_SD_Init-SDIO-false-HAL-true,13-MX_TIM2_Init-TIM2-false-HAL-true,14-MX_SPI1_Init-SPI1-false-HAL-true,15-MX_SPI2_Init-SPI2-false-HAL-true,16-MX_SPI5_Init-SPI5-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_ETH_Init-ETH-false-HAL-true,5-MX_FMC_Init-FMC-false-HAL-true,6-MX_RTC_Init-RTC-false-HAL-true,7-MX_IWDG_Init-IWDG-false-HAL-true,8-MX_ADC1_Init-ADC1-false-HAL-true,9-MX_TIM11_Init-TIM11-false-HAL-true,10-MX_TIM13_Init-TIM13-false-HAL-true,11-MX_TIM14_Init-TIM14-false-HAL-true,12-MX_SDIO_SD_Init-SDIO-false-HAL-true,13-MX_TIM2_Init-TIM2-false-HAL-true,14-MX_SPI1_Init-SPI1-false-HAL-true,15-MX_SPI2_Init-SPI2-false-HAL-true,16-MX_SPI5_Init-SPI5-false-HAL-true,17-MX_SAI1_Init-SAI1-false-HAL-true,18-MX_USART2_UART_Init-USART2-false-HAL-true,19-MX_USART3_UART_Init-USART3-false-HAL-true,20-MX_USB_OTG_FS_HCD_Init-USB_OTG_FS-false-HAL-true RCC.48MHZClocksFreq_Value=45000000 RCC.AHBFreq_Value=180000000 RCC.APB1CLKDivider=RCC_HCLK_DIV4 @@ -327,7 +316,7 @@ RCC.HCLKFreq_Value=180000000 RCC.HSE_VALUE=25000000 RCC.HSI_VALUE=16000000 RCC.I2SClocksFreq_Value=160000000 -RCC.IPParameters=48MHZClocksFreq_Value,AHBFreq_Value,APB1CLKDivider,APB1Freq_Value,APB1TimFreq_Value,APB2CLKDivider,APB2Freq_Value,APB2TimFreq_Value,CortexFreq_Value,EthernetFreq_Value,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,HSE_VALUE,HSI_VALUE,I2SClocksFreq_Value,LCDTFTFreq_Value,LSI_VALUE,MCO2PinFreq_Value,PLLCLKFreq_Value,PLLM,PLLN,PLLQ,PLLQCLKFreq_Value,PLLSAIN,PLLSourceVirtual,RCC_RTC_Clock_Source,RCC_RTC_Clock_SourceVirtual,RTCFreq_Value,RTCHSEDivFreq_Value,SAI_AClocksFreq_Value,SAI_BClocksFreq_Value,SYSCLKFreq_VALUE,SYSCLKSource,VCOI2SOutputFreq_Value,VCOInputFreq_Value,VCOOutputFreq_Value,VCOSAIOutputFreq_Value,VCOSAIOutputFreq_ValueQ,VCOSAIOutputFreq_ValueR,VcooutputI2S,VcooutputI2SQ +RCC.IPParameters=48MHZClocksFreq_Value,AHBFreq_Value,APB1CLKDivider,APB1Freq_Value,APB1TimFreq_Value,APB2CLKDivider,APB2Freq_Value,APB2TimFreq_Value,CortexFreq_Value,EthernetFreq_Value,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,HSE_VALUE,HSI_VALUE,I2SClocksFreq_Value,LCDTFTFreq_Value,LSI_VALUE,MCO2PinFreq_Value,PLLCLKFreq_Value,PLLM,PLLN,PLLQ,PLLQCLKFreq_Value,PLLSAIN,RCC_RTC_Clock_Source,RCC_RTC_Clock_SourceVirtual,RTCFreq_Value,RTCHSEDivFreq_Value,SAI_AClocksFreq_Value,SAI_BClocksFreq_Value,SYSCLKFreq_VALUE,SYSCLKSource,VCOI2SOutputFreq_Value,VCOInputFreq_Value,VCOOutputFreq_Value,VCOSAIOutputFreq_Value,VCOSAIOutputFreq_ValueQ,VCOSAIOutputFreq_ValueR,VcooutputI2S,VcooutputI2SQ RCC.LCDTFTFreq_Value=25000000 RCC.LSI_VALUE=32000 RCC.MCO2PinFreq_Value=180000000 @@ -337,7 +326,6 @@ RCC.PLLN=216 RCC.PLLQ=8 RCC.PLLQCLKFreq_Value=45000000 RCC.PLLSAIN=60 -RCC.PLLSourceVirtual=RCC_PLLSOURCE_HSE RCC.RCC_RTC_Clock_Source=RCC_RTCCLKSOURCE_LSE RCC.RCC_RTC_Clock_SourceVirtual=RCC_RTCCLKSOURCE_LSE RCC.RTCFreq_Value=32768 @@ -354,12 +342,13 @@ RCC.VCOSAIOutputFreq_ValueQ=25000000 RCC.VCOSAIOutputFreq_ValueR=50000000 RCC.VcooutputI2S=160000000 RCC.VcooutputI2SQ=160000000 -SAI1.ErrorAudioFreq-SAI_A_MasterWithClock=-49.13 % -SAI1.IPParameters=Instance-SAI_B_SyncSlave,VirtualMode-SAI_B_SyncSlave,Synchro-SAI_B_SyncSlave,Instance-SAI_A_MasterWithClock,VirtualMode-SAI_A_MasterWithClock,Synchro-SAI_A_MasterWithClock,MClockEnable-SAI_A_MasterWithClock,RealAudioFreq-SAI_A_MasterWithClock,ErrorAudioFreq-SAI_A_MasterWithClock +SAI1.ErrorAudioFreq-SAI_A_MasterWithClock=-8.44 % +SAI1.FrameLength-SAI_B_SyncSlave=8 +SAI1.IPParameters=Instance-SAI_B_SyncSlave,VirtualMode-SAI_B_SyncSlave,Synchro-SAI_B_SyncSlave,Instance-SAI_A_MasterWithClock,VirtualMode-SAI_A_MasterWithClock,Synchro-SAI_A_MasterWithClock,MClockEnable-SAI_A_MasterWithClock,RealAudioFreq-SAI_A_MasterWithClock,ErrorAudioFreq-SAI_A_MasterWithClock,FrameLength-SAI_B_SyncSlave SAI1.Instance-SAI_A_MasterWithClock=SAI$Index_Block_A SAI1.Instance-SAI_B_SyncSlave=SAI$Index_Block_B SAI1.MClockEnable-SAI_A_MasterWithClock=SAI_MASTERCLOCK_ENABLE -SAI1.RealAudioFreq-SAI_A_MasterWithClock=97.656 KHz +SAI1.RealAudioFreq-SAI_A_MasterWithClock=175.781 KHz SAI1.Synchro-SAI_A_MasterWithClock=SAI_ASYNCHRONOUS SAI1.Synchro-SAI_B_SyncSlave=SAI_SYNCHRONOUS SAI1.VirtualMode-SAI_A_MasterWithClock=VM_MASTER @@ -463,8 +452,6 @@ USART1.IPParameters=VirtualMode USART1.VirtualMode=VM_ASYNC USART2.IPParameters=VirtualMode USART2.VirtualMode=VM_ASYNC -USART3.IPParameters=VirtualMode -USART3.VirtualMode=VM_ASYNC USB_OTG_FS.IPParameters=VirtualMode,phy_itface USB_OTG_FS.VirtualMode=Host_Only USB_OTG_FS.phy_itface=HCD_PHY_EMBEDDED diff --git a/bsp/stm32/stm32f429-atk-apollo/board/CubeMX_Config/Src/stm32f4xx_hal_msp.c b/bsp/stm32/stm32f429-atk-apollo/board/CubeMX_Config/Src/stm32f4xx_hal_msp.c index 0d0405b7a1aeaa06f2356e25a5140213a5da0fee..efa91dec0a31a2935820fee44b539554dd71192e 100644 --- a/bsp/stm32/stm32f429-atk-apollo/board/CubeMX_Config/Src/stm32f4xx_hal_msp.c +++ b/bsp/stm32/stm32f429-atk-apollo/board/CubeMX_Config/Src/stm32f4xx_hal_msp.c @@ -179,6 +179,7 @@ void HAL_ETH_MspInit(ETH_HandleTypeDef* heth) __HAL_RCC_GPIOC_CLK_ENABLE(); __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); __HAL_RCC_GPIOG_CLK_ENABLE(); /**ETH GPIO Configuration PC1 ------> ETH_MDC @@ -187,7 +188,7 @@ void HAL_ETH_MspInit(ETH_HandleTypeDef* heth) PA7 ------> ETH_CRS_DV PC4 ------> ETH_RXD0 PC5 ------> ETH_RXD1 - PG11 ------> ETH_TX_EN + PB11 ------> ETH_TX_EN PG13 ------> ETH_TXD0 PG14 ------> ETH_TXD1 */ @@ -205,7 +206,14 @@ void HAL_ETH_MspInit(ETH_HandleTypeDef* heth) GPIO_InitStruct.Alternate = GPIO_AF11_ETH; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); - GPIO_InitStruct.Pin = GPIO_PIN_11|GPIO_PIN_13|GPIO_PIN_14; + GPIO_InitStruct.Pin = GPIO_PIN_11; + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; + GPIO_InitStruct.Alternate = GPIO_AF11_ETH; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + GPIO_InitStruct.Pin = GPIO_PIN_13|GPIO_PIN_14; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; @@ -242,7 +250,7 @@ void HAL_ETH_MspDeInit(ETH_HandleTypeDef* heth) PA7 ------> ETH_CRS_DV PC4 ------> ETH_RXD0 PC5 ------> ETH_RXD1 - PG11 ------> ETH_TX_EN + PB11 ------> ETH_TX_EN PG13 ------> ETH_TXD0 PG14 ------> ETH_TXD1 */ @@ -250,7 +258,9 @@ void HAL_ETH_MspDeInit(ETH_HandleTypeDef* heth) HAL_GPIO_DeInit(GPIOA, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_7); - HAL_GPIO_DeInit(GPIOG, GPIO_PIN_11|GPIO_PIN_13|GPIO_PIN_14); + HAL_GPIO_DeInit(GPIOB, GPIO_PIN_11); + + HAL_GPIO_DeInit(GPIOG, GPIO_PIN_13|GPIO_PIN_14); /* USER CODE BEGIN ETH_MspDeInit 1 */ diff --git a/bsp/stm32/stm32f429-atk-apollo/board/Kconfig b/bsp/stm32/stm32f429-atk-apollo/board/Kconfig index 636d50d99ef97588facf2bbf09f81732f88f760c..78733fba8cc2320ffe41908c044f2f0260849744 100644 --- a/bsp/stm32/stm32f429-atk-apollo/board/Kconfig +++ b/bsp/stm32/stm32f429-atk-apollo/board/Kconfig @@ -25,6 +25,7 @@ menu "Onboard Peripheral Drivers" bool "Enable COM3 (uart3 pin conflict with Ethernet)" select BSP_USING_UART3 default n + depends on !BSP_USING_ETH config BSP_USING_SDRAM bool "Enable SDRAM" @@ -49,7 +50,7 @@ menu "Onboard Peripheral Drivers" bool config BSP_USING_ETH - bool "Enable Ethernet" + bool "Enable Ethernet (Ethernet pin conflict with uart3)" select BSP_USING_I2C1 select PKG_USING_PCF8574 select RT_USING_LWIP @@ -115,6 +116,7 @@ menu "On-chip Peripheral Drivers" config BSP_USING_UART3 bool "Enable UART3" default n + depends on !BSP_USING_ETH config BSP_UART3_RX_USING_DMA bool "Enable UART3 RX DMA"