Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 14 additions & 3 deletions bsp/stm32/stm32h723-DM-MC02/.config
Original file line number Diff line number Diff line change
Expand Up @@ -244,11 +244,11 @@ CONFIG_RT_SERIAL_USING_DMA=y
CONFIG_RT_SERIAL_RB_BUFSZ=64
# CONFIG_RT_USING_SERIAL_BYPASS is not set
# CONFIG_RT_USING_CAN is not set
# CONFIG_RT_USING_ADC is not set
# CONFIG_RT_USING_CLOCK_TIME is not set
# CONFIG_RT_USING_I2C is not set
# CONFIG_RT_USING_PHY is not set
# CONFIG_RT_USING_PHY_V2 is not set
# CONFIG_RT_USING_ADC is not set
# CONFIG_RT_USING_DAC is not set
# CONFIG_RT_USING_NULL is not set
# CONFIG_RT_USING_ZERO is not set
Expand All @@ -261,7 +261,15 @@ CONFIG_RT_SERIAL_RB_BUFSZ=64
# CONFIG_RT_USING_PM is not set
# CONFIG_RT_USING_RTC is not set
# CONFIG_RT_USING_SDIO is not set
# CONFIG_RT_USING_SPI is not set
CONFIG_RT_USING_SPI=y
CONFIG_RT_USING_SPI_ISR=y
# CONFIG_RT_USING_SPI_BITOPS is not set
# CONFIG_RT_USING_SOFT_SPI is not set
# CONFIG_RT_USING_QSPI is not set
# CONFIG_RT_USING_SPI_MSD is not set
# CONFIG_RT_USING_SFUD is not set
# CONFIG_RT_USING_ENC28J60 is not set
# CONFIG_RT_USING_SPI_WIFI is not set
# CONFIG_RT_USING_WDT is not set
# CONFIG_RT_USING_AUDIO is not set
# CONFIG_RT_USING_SENSOR is not set
Expand All @@ -273,7 +281,6 @@ CONFIG_RT_SERIAL_RB_BUFSZ=64
# CONFIG_RT_USING_BLK is not set
# CONFIG_RT_USING_REGULATOR is not set
# CONFIG_RT_USING_POWER_SUPPLY is not set
# CONFIG_RT_USING_VIRTIO is not set
CONFIG_RT_USING_PIN=y
# CONFIG_RT_USING_CHERRYUSB is not set
# end of Device Drivers
Expand Down Expand Up @@ -1481,6 +1488,10 @@ CONFIG_BSP_USING_GPIO=y
CONFIG_BSP_USING_UART=y
CONFIG_BSP_STM32_UART_V1_TX_TIMEOUT=6000
CONFIG_BSP_USING_UART1=y
CONFIG_BSP_USING_SPI=y
# CONFIG_BSP_USING_SPI2 is not set
# CONFIG_BSP_USING_SPI6 is not set
# CONFIG_BSP_USING_ADC_V2 is not set
# CONFIG_BSP_USING_CRC is not set
# CONFIG_BSP_USING_RNG is not set
# CONFIG_BSP_USING_UDID is not set
Expand Down
10 changes: 7 additions & 3 deletions bsp/stm32/stm32h723-DM-MC02/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,13 @@

本文档为 `stm32h723-DM-MC02` BSP 的使用说明。

当前 BSP 按 **第一阶段 BSP** 目标整理,仅保证:
当前 BSP 支持的功能有:

- GPIO 驱动可用
- UART1 控制台可用
- FinSH / MSH 可正常进入
- SPI6 驱动可用,收发支持 轮询 / DMA / BDMA 模式
- 板载WS2812可正常闪烁(需要专门软件包)



Expand Down Expand Up @@ -60,6 +62,7 @@ DM-MC02 是一块面向电机开发与控制场景的控制板,基于 STM32H7
- 调试串口:`UART1`(`PA9/PA10`)
- 调试接口:`SWD`
- GPIO 驱动
- SPI6 驱动(收发支持 轮询 / DMA / BDMA 模式)

## 外设支持

Expand All @@ -70,13 +73,14 @@ DM-MC02 是一块面向电机开发与控制场景的控制板,基于 STM32H7
| 板载外设 | 调试串口 | 支持 | 使用 `UART1` 作为 FinSH 控制台 |
| 片上外设 | GPIO | 支持 | 已打开 `RT_USING_PIN` |
| 片上外设 | UART | 支持 | 默认启用 `UART1` |
| 片上外设 | SPI | 支持 | `SPI6` 已验证,收发可选 轮询 / DMA / BDMA(BDMA 缓冲须位于 `SRAM4`) |
| 板载外设 | CANFD | 暂不支持 | 板上提供 `3` 路接口,建议第二阶段补充 |
| 板载外设 | RS485 | 暂不支持 | 板上提供 `2` 路接口,建议第二阶段补充 |
| 板载外设 | QSPI Flash | 暂不支持 | 板载 `W25Q64JV` |
| 板载外设 | IMU | 暂不支持 | 板载 `BMI088` |
| 板载外设 | 蜂鸣器 | 暂不支持 | 建议第二阶段补充 |
| 板载外设 | 按键 | 暂不支持 | 板载 `2` 个按键 |
| 板载外设 | WS2812 | 暂不支持 | 第一阶段 BSP 不启用 |
| 板载外设 | WS2812 | 支持 | 由独立软件包提供驱动,BDMA 缓冲区已由 BSP 链接脚本预留 |
| 板载外设 | LCD 扩展口 | 暂不支持 | `SPI + IIC` |
| 板载外设 | DCMI 接口 | 暂不支持 | `24Pin` 接口 |
| 片上外设 | 其他外设 | 暂不支持 | 建议在第二阶段按驱动分别补充 |
Expand Down Expand Up @@ -154,7 +158,7 @@ scons --dist
## 注意事项

- 本板板载灯为 `WS2812`,不适合作为第一阶段 BSP 的基础运行示例,因此不做LED闪烁循环。
- 经实际测试,`WS2812` 与当前相关软件包的兼容性仍需进一步验证,因此建议作为第二阶段内容单独适配和提交。
- `WS2812` 驱动以独立软件包形式提供;其 BDMA 缓冲区通过 `.ws2812_bdma` 段放置在 `SRAM4`,该段已在 BSP 的三个链接脚本(`link.lds` / `link.sct` / `link.icf`)中预留。
- 本板支持多种供电方式,可通过type-c,XT30接口,swd等方式供电。具体电源树如下:
![power](figures/power.png)
- 提交前建议至少完成以下验证:
Expand Down
3 changes: 2 additions & 1 deletion bsp/stm32/stm32h723-DM-MC02/applications/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,12 @@
#include <rtdevice.h>
#include <board.h>


Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • 这线程没用可以直接return就好了,不需要循环

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

看了一下似乎确实是如此,rt-thread好像只是把main当成线程了,不需要保活。不过其他BSP通常因为LED闪烁保留着,所以我写的时候按习惯了。稍后推个上来修复一下吧

int main(void)
{
while (1)
{
rt_thread_mdelay(500);
rt_thread_mdelay(1000);
}

return RT_EOK;
Expand Down
4 changes: 2 additions & 2 deletions bsp/stm32/stm32h723-DM-MC02/board/CubeMX_Config/.mxproject

Large diffs are not rendered by default.

35 changes: 26 additions & 9 deletions bsp/stm32/stm32h723-DM-MC02/board/CubeMX_Config/CubeMX_Config.ioc
Original file line number Diff line number Diff line change
Expand Up @@ -58,20 +58,23 @@ Mcu.IP0=CORTEX_M7
Mcu.IP1=MEMORYMAP
Mcu.IP2=NVIC
Mcu.IP3=RCC
Mcu.IP4=SYS
Mcu.IP5=USART1
Mcu.IPNb=6
Mcu.IP4=SPI6
Mcu.IP5=SYS
Mcu.IP6=USART1
Mcu.IPNb=7
Mcu.Name=STM32H723VGTx
Mcu.Package=LQFP100
Mcu.Pin0=PH0-OSC_IN
Mcu.Pin1=PH1-OSC_OUT
Mcu.Pin2=PC0
Mcu.Pin3=PC3_C
Mcu.Pin4=PA9
Mcu.Pin5=PA10
Mcu.Pin6=VP_SYS_VS_Systick
Mcu.Pin7=VP_MEMORYMAP_VS_MEMORYMAP
Mcu.PinsNb=8
Mcu.Pin4=PA5
Mcu.Pin5=PA7
Mcu.Pin6=PA9
Mcu.Pin7=PA10
Mcu.Pin8=VP_SYS_VS_Systick
Mcu.Pin9=VP_MEMORYMAP_VS_MEMORYMAP
Mcu.PinsNb=10
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32H723VGTx
Expand All @@ -91,6 +94,14 @@ NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
PA10.Locked=true
PA10.Mode=Asynchronous
PA10.Signal=USART1_RX
PA5.GPIOParameters=GPIO_Speed
PA5.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
PA5.Mode=TX_Only_Simplex_Unidirect_Master
PA5.Signal=SPI6_SCK
PA7.GPIOParameters=GPIO_Speed
PA7.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
PA7.Mode=TX_Only_Simplex_Unidirect_Master
PA7.Signal=SPI6_MOSI
PA9.Locked=true
PA9.Mode=Asynchronous
PA9.Signal=USART1_TX
Expand Down Expand Up @@ -139,7 +150,7 @@ ProjectManager.ToolChainLocation=
ProjectManager.UAScriptAfterPath=
ProjectManager.UAScriptBeforePath=
ProjectManager.UnderRoot=false
ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_USART1_UART_Init-USART1-false-HAL-true,0-MX_CORTEX_M7_Init-CORTEX_M7-false-HAL-true
ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_USART1_UART_Init-USART1-false-HAL-true,4-MX_SPI6_Init-SPI6-false-HAL-true,0-MX_CORTEX_M7_Init-CORTEX_M7-false-HAL-true
RCC.ADCFreq_Value=48000000
RCC.AHB12Freq_Value=200000000
RCC.AHB4Freq_Value=200000000
Expand Down Expand Up @@ -217,6 +228,12 @@ RCC.VCO3OutputFreq_Value=96000000
RCC.VCOInput1Freq_Value=4000000
RCC.VCOInput2Freq_Value=750000
RCC.VCOInput3Freq_Value=750000
SPI6.CalculateBaudRate=50.0 MBits/s
SPI6.DataSize=SPI_DATASIZE_8BIT
SPI6.Direction=SPI_DIRECTION_2LINES_TXONLY
SPI6.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate,DataSize
SPI6.Mode=SPI_MODE_MASTER
SPI6.VirtualType=VM_MASTER
USART1.IPParameters=VirtualMode-Asynchronous
USART1.VirtualMode-Asynchronous=VM_ASYNC
VP_MEMORYMAP_VS_MEMORYMAP.Mode=CurAppReg
Expand Down
1 change: 0 additions & 1 deletion bsp/stm32/stm32h723-DM-MC02/board/CubeMX_Config/Inc/main.h
Original file line number Diff line number Diff line change
Expand Up @@ -88,4 +88,3 @@ void Error_Handler(void);
#endif

#endif /* __MAIN_H */

Loading