Forráskód Böngészése

[BSP][stm32/stm32f427-robomaster-a] update config and readme docs

a1012112796 5 éve
szülő
commit
dddda42626

+ 1 - 0
.travis.yml

@@ -88,6 +88,7 @@ env:
   - RTT_BSP='stm32/stm32f407-atk-explorer' RTT_TOOL_CHAIN='sourcery-arm'
   - RTT_BSP='stm32/stm32f407-st-discovery' RTT_TOOL_CHAIN='sourcery-arm'
   - RTT_BSP='stm32/stm32f411-st-nucleo' RTT_TOOL_CHAIN='sourcery-arm'
+  - RTT_BSP='stm32/stm32f427-robomaster-a' RTT_TOOL_CHAIN='sourcery-arm'
   - RTT_BSP='stm32/stm32f429-armfly-v6' RTT_TOOL_CHAIN='sourcery-arm'
   - RTT_BSP='stm32/stm32f429-atk-apollo' RTT_TOOL_CHAIN='sourcery-arm'
   - RTT_BSP='stm32/stm32f429-fire-challenger' RTT_TOOL_CHAIN='sourcery-arm'

+ 3 - 3
bsp/stm32/stm32f427-robomaster-a/README.md

@@ -38,7 +38,7 @@ RoboMaster开发板套件是一款面向机器人DIY的开源主控套件。开
 | **板载外设**      | **支持情况** | **备注**                              |
 | :----------------- | :----------: | :------------------------------------- |
 | SD卡              |   暂不支持   |                                       |
-| CAN               |   暂不支持   |                                       |
+| CAN               |   支持   |    需通过24vXT30接口或usb接口供电          |
 | **片上外设**      | **支持情况** | **备注**                              |
 | GPIO              |     支持     | PA0, PA1... PK15 ---> PIN: 0, 1...176 |
 | UART              |     支持     | UART1/3/6/7/8                         |
@@ -69,7 +69,7 @@ RoboMaster开发板套件是一款面向机器人DIY的开源主控套件。开
 
 #### 硬件连接
 
-使用数据线连接开发板到 PC,打开电源开关
+使用usb或j-link连接开发板到 PC
 
 #### 编译下载
 
@@ -106,7 +106,7 @@ msh >
 
 ## 注意事项
 
-- 无
+- 1. 由于本开发板的电源设计较为复杂。使用本开发板时,**强烈建议您通过24v直流XT30接口(上图中下方黄色电源接口) 进行供电** ,此时红色电源指示灯(位于黑色按键下方)会亮起。否则可能导致部分板载外设(例如CAN通信)因法上电而无法正常使用,详情请参见官方提供的原理图。
 
 ## 联系人信息
 

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 2 - 2
bsp/stm32/stm32f427-robomaster-a/board/CubeMX_Config/.mxproject


+ 23 - 22
bsp/stm32/stm32f427-robomaster-a/board/CubeMX_Config/CubeMX_Config.ioc

@@ -1,7 +1,7 @@
 #MicroXplorer Configuration settings - do not modify
-CAN1.CalculateTimeQuantum=380.95238095238096
+CAN1.CalculateTimeQuantum=355.55555555555554
 CAN1.IPParameters=CalculateTimeQuantum
-CAN2.CalculateTimeQuantum=380.95238095238096
+CAN2.CalculateTimeQuantum=355.55555555555554
 CAN2.IPParameters=CalculateTimeQuantum
 File.Version=6
 KeepUserPlacement=true
@@ -64,10 +64,11 @@ Mcu.PinsNb=37
 Mcu.ThirdPartyNb=0
 Mcu.UserConstants=
 Mcu.UserName=STM32F427IIHx
-MxCube.Version=5.3.0
-MxDb.Version=DB.5.0.30
+MxCube.Version=5.4.0
+MxDb.Version=DB.5.0.40
 NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
 NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
+NVIC.ForceEnableDMAVector=true
 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
@@ -192,41 +193,41 @@ 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-true,3-MX_SPI5_Init-SPI5-false-HAL-true,4-MX_USART6_UART_Init-USART6-false-HAL-true
-RCC.48MHZClocksFreq_Value=84000000
-RCC.AHBFreq_Value=168000000
+ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-SystemClock_Config-RCC-false-HAL-true,3-MX_SPI5_Init-SPI5-false-HAL-true,4-MX_USART6_UART_Init-USART6-false-HAL-true,5-MX_CAN1_Init-CAN1-false-HAL-true,6-MX_CAN2_Init-CAN2-false-HAL-true,7-MX_TIM4_Init-TIM4-false-HAL-true,8-MX_TIM5_Init-TIM5-false-HAL-true,9-MX_TIM12_Init-TIM12-false-HAL-true,10-MX_UART7_Init-UART7-false-HAL-true,11-MX_UART8_Init-UART8-false-HAL-true,12-MX_USART1_UART_Init-USART1-false-HAL-true,13-MX_USART3_UART_Init-USART3-false-HAL-true
+RCC.48MHZClocksFreq_Value=90000000
+RCC.AHBFreq_Value=180000000
 RCC.APB1CLKDivider=RCC_HCLK_DIV4
-RCC.APB1Freq_Value=42000000
-RCC.APB1TimFreq_Value=84000000
+RCC.APB1Freq_Value=45000000
+RCC.APB1TimFreq_Value=90000000
 RCC.APB2CLKDivider=RCC_HCLK_DIV2
-RCC.APB2Freq_Value=84000000
-RCC.APB2TimFreq_Value=168000000
-RCC.CortexFreq_Value=168000000
-RCC.EthernetFreq_Value=168000000
-RCC.FCLKCortexFreq_Value=168000000
+RCC.APB2Freq_Value=90000000
+RCC.APB2TimFreq_Value=180000000
+RCC.CortexFreq_Value=180000000
+RCC.EthernetFreq_Value=180000000
+RCC.FCLKCortexFreq_Value=180000000
 RCC.FamilyName=M
-RCC.HCLKFreq_Value=168000000
+RCC.HCLKFreq_Value=180000000
 RCC.HSE_VALUE=12000000
 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,EthernetFreq_Value,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,HSE_VALUE,HSI_VALUE,I2SClocksFreq_Value,LSE_VALUE,LSI_VALUE,MCO2PinFreq_Value,PLLCLKFreq_Value,PLLM,PLLN,PLLQCLKFreq_Value,PLLSourceVirtual,RTCFreq_Value,RTCHSEDivFreq_Value,SAI_AClocksFreq_Value,SAI_BClocksFreq_Value,SYSCLKFreq_VALUE,SYSCLKSource,VCOI2SOutputFreq_Value,VCOInputFreq_Value,VCOOutputFreq_Value,VCOSAIOutputFreq_Value,VCOSAIOutputFreq_ValueQ,VcooutputI2S,VcooutputI2SQ
 RCC.LSE_VALUE=32768
 RCC.LSI_VALUE=32000
-RCC.MCO2PinFreq_Value=168000000
-RCC.PLLCLKFreq_Value=168000000
+RCC.MCO2PinFreq_Value=180000000
+RCC.PLLCLKFreq_Value=180000000
 RCC.PLLM=6
-RCC.PLLN=168
-RCC.PLLQCLKFreq_Value=84000000
+RCC.PLLN=180
+RCC.PLLQCLKFreq_Value=90000000
 RCC.PLLSourceVirtual=RCC_PLLSOURCE_HSE
 RCC.RTCFreq_Value=32000
 RCC.RTCHSEDivFreq_Value=6000000
 RCC.SAI_AClocksFreq_Value=24500000
 RCC.SAI_BClocksFreq_Value=24500000
-RCC.SYSCLKFreq_VALUE=168000000
+RCC.SYSCLKFreq_VALUE=180000000
 RCC.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK
 RCC.VCOI2SOutputFreq_Value=384000000
 RCC.VCOInputFreq_Value=2000000
-RCC.VCOOutputFreq_Value=336000000
+RCC.VCOOutputFreq_Value=360000000
 RCC.VCOSAIOutputFreq_Value=98000000
 RCC.VCOSAIOutputFreq_ValueQ=24500000
 RCC.VcooutputI2S=192000000
@@ -250,7 +251,7 @@ SH.S_TIM5_CH3.ConfNb=1
 SH.S_TIM5_CH4.0=TIM5_CH4,PWM Generation4 CH4
 SH.S_TIM5_CH4.ConfNb=1
 SPI5.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_128
-SPI5.CalculateBaudRate=656.25 KBits/s
+SPI5.CalculateBaudRate=703.125 KBits/s
 SPI5.Direction=SPI_DIRECTION_2LINES
 SPI5.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate,BaudRatePrescaler
 SPI5.Mode=SPI_MODE_MASTER

+ 5 - 1
bsp/stm32/stm32f427-robomaster-a/board/CubeMX_Config/Inc/stm32f4xx_hal_conf.h

@@ -66,6 +66,7 @@
 /* #define HAL_USART_MODULE_ENABLED   */
 /* #define HAL_IRDA_MODULE_ENABLED   */
 /* #define HAL_SMARTCARD_MODULE_ENABLED   */
+/* #define HAL_SMBUS_MODULE_ENABLED   */
 /* #define HAL_WWDG_MODULE_ENABLED   */
 /* #define HAL_PCD_MODULE_ENABLED   */
 /* #define HAL_HCD_MODULE_ENABLED   */
@@ -77,7 +78,6 @@
 /* #define HAL_SPDIFRX_MODULE_ENABLED   */
 /* #define HAL_DFSDM_MODULE_ENABLED   */
 /* #define HAL_LPTIM_MODULE_ENABLED   */
-/* #define HAL_EXTI_MODULE_ENABLED   */
 #define HAL_GPIO_MODULE_ENABLED
 #define HAL_EXTI_MODULE_ENABLED
 #define HAL_DMA_MODULE_ENABLED
@@ -264,6 +264,10 @@
   #include "stm32f4xx_hal_cryp.h" 
 #endif /* HAL_CRYP_MODULE_ENABLED */
 
+#ifdef HAL_SMBUS_MODULE_ENABLED
+#include "stm32f4xx_hal_smbus.h"
+#endif /* HAL_SMBUS_MODULE_ENABLED */
+
 #ifdef HAL_DMA2D_MODULE_ENABLED
   #include "stm32f4xx_hal_dma2d.h"
 #endif /* HAL_DMA2D_MODULE_ENABLED */

+ 7 - 1
bsp/stm32/stm32f427-robomaster-a/board/CubeMX_Config/Src/main.c

@@ -179,13 +179,19 @@ void SystemClock_Config(void)
   RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
   RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
   RCC_OscInitStruct.PLL.PLLM = 6;
-  RCC_OscInitStruct.PLL.PLLN = 168;
+  RCC_OscInitStruct.PLL.PLLN = 180;
   RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
   RCC_OscInitStruct.PLL.PLLQ = 4;
   if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
   {
     Error_Handler();
   }
+  /** Activate the Over-Drive mode 
+  */
+  if (HAL_PWREx_EnableOverDrive() != HAL_OK)
+  {
+    Error_Handler();
+  }
   /** Initializes the CPU, AHB and APB busses clocks 
   */
   RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK

+ 13 - 0
bsp/stm32/stm32f427-robomaster-a/board/Kconfig

@@ -63,6 +63,19 @@ menu "On-chip Peripheral Drivers"
                 default n
         endif
 
+    menuconfig BSP_USING_CAN
+            bool "Enable CAN"
+            default n
+            select RT_USING_CAN
+            if BSP_USING_CAN
+                config BSP_USING_CAN1
+                    bool "using CAN1"
+                    default n
+                config BSP_USING_CAN2
+                    bool "using CAN2"
+                    default n
+        endif
+
     menuconfig BSP_USING_PWM
         bool "Enable pwm"
         default n

+ 11 - 1
bsp/stm32/stm32f427-robomaster-a/board/board.c

@@ -10,6 +10,10 @@
 
 #include "board.h"
 
+/**
+  * @brief System Clock Configuration
+  * @retval None
+  */
 void SystemClock_Config(void)
 {
   RCC_OscInitTypeDef RCC_OscInitStruct = {0};
@@ -26,13 +30,19 @@ void SystemClock_Config(void)
   RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
   RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
   RCC_OscInitStruct.PLL.PLLM = 6;
-  RCC_OscInitStruct.PLL.PLLN = 168;
+  RCC_OscInitStruct.PLL.PLLN = 180;
   RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
   RCC_OscInitStruct.PLL.PLLQ = 4;
   if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
   {
     Error_Handler();
   }
+  /** Activate the Over-Drive mode 
+  */
+  if (HAL_PWREx_EnableOverDrive() != HAL_OK)
+  {
+    Error_Handler();
+  }
   /** Initializes the CPU, AHB and APB busses clocks 
   */
   RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK

Nem az összes módosított fájl került megjelenítésre, mert túl sok fájl változott