Prechádzať zdrojové kódy

[bsp/stm32]:修复阿波罗f429网口引脚错误 (#6184)

* [bsp/stm32]:修复阿波罗f429网口引脚错误

* [bsp/stm32]:更新cubemx文件,添加kconfig依赖

* Update bsp/stm32/stm32f429-atk-apollo/board/Kconfig
ririyeye 2 rokov pred
rodič
commit
ae918797b9

+ 70 - 83
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

+ 14 - 4
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 */
 

+ 3 - 1
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"