RT-Thread STM32H743 NUCLEO 以太网

Posted 姚家湾

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RT-Thread STM32H743 NUCLEO 以太网相关的知识,希望对你有一定的参考价值。

      初次使用RT-Thread OS 遇到的问题真不少!这里谈谈STM32H743 NUCLEO 以太网的调试过程

BSP 包居然不支持Ethernet

      总以为RT-Thread 提供了STM32H743 板支持包,事情会简单一点,结果发现居然不支持Ethernet。而且支持的硬件非常少。

自己动手配置的过程

1 在board 文件夹的Kconfig 中添加

menu "On-chip Peripheral Drivers"

    config BSP_USING_GPIO
        bool "Enable GPIO"
        select RT_USING_PIN
        default y

    menuconfig BSP_USING_UART
        bool "Enable UART"
        default y
        select RT_USING_SERIAL
        if BSP_USING_UART
            config BSP_USING_UART3
                bool "Enable UART3"
                default y

        endif
     menuconfig BSP_USING_ETH
        bool "Enable Ethernet"
        default n        
        select RT_USING_LWIP
        if BSP_USING_ETH
            config ETH_RESET_PIN
                string "ETH RESET PIN"
                default "PA.3"
        endif
        if BSP_USING_ETH
            choice
                prompt "Choose ETH PHY"
                default PHY_USING_LAN8720A
                        config PHY_USING_LAN8720A
                    bool "USING LAN8720A"
                    default n
            endchoice
        endif

2  在rtconfig.h 文件中添加

/* On-chip Peripheral Drivers */

#define BSP_USING_GPIO
#define BSP_USING_UART
#define BSP_USING_UART3
#define BSP_USING_ETH
#define ETH_RESET_PIN "PA.5"
#define PHY_USING_LAN8720A

3 将 art ip 项目中的 libararies driver 中的 drv_eth.c 和 drv_eth.h 替代 STM32H743 项目 libaries HAL_Drvier中的drv_eth.c和drv_eth.h

4 使用STM32 CubeMX 生成 STM32F743 NUCELO 板的项目

注意:Ethernet global interrupt Enabled

      将 stm32h7xx_hal_msp.c 中的void HAL_ETH_MspInit(ETH_HandleTypeDef* heth)拷贝到RT Thread studio 项目的 board -> CubeMX_Config ->src 的stm32h7xx_hal_msp.c 中。

打开 RT Thread settings 中的网络,IP 地址选择和路由器地址在同一个网段。

5 编译,下载,在PC 机上可以ping 通 NUCELO 板。

6 不知道为什么 msh 没有iconfig 命令。

结束语

吐槽一下!

  • 不知道为什么RT-Thread 为什么不把BSP 包搞得完善一点,对于他们而言,好像也不难。
  • RT-Thread 社区不活跃,没有人完整地提出解决方法。
  • RT-Thread 不同的BSP 的文件目录结构和名称都不同。使人困惑。
  • 依葫芦画瓢比较简单,自己独立搞点不同的东西就很难。
  • RT-Thread ,进步的空间还很大!

以上是关于RT-Thread STM32H743 NUCLEO 以太网的主要内容,如果未能解决你的问题,请参考以下文章

基于STM32H743芯片和SOEM的EtherCAT主站源码

STM32H743 | FDCAN 波特率问题

stm32h743adc如何请求dma

基于STM32H743设计UI界面心得(还没写完)

STM32H743ZI Nucleo 似乎无法通过 FDCAN 2 传输?

STM32H7 SPI通信:FIFO管理问题