拓十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

STM32H743IIT6创建工程——ETH

STM32H743IIT6创建工程——ETH

摘要:本文基于STM32H743IIT6芯片,从零开始配置ETH以太网功能。文章依次介绍创建基础工程、配置RCC与主频、开启CPU ICache、配置内存空间、设置ETH引脚与MAC地址、添加ETH_RST复位脚、修改LWIP协议栈(选择LAN8742物理驱动并关闭DHCP使用静态IP),最后在MDK工程中修改魔术棒配置和代码,屏蔽SCB_InvalidateDCache_by_Addr()接口调用,完成烧录后即可从PC端ping通设备。

前面两篇文章已经配置了STM32H743IIT6工程的RTX,以及使用FMC配置SRAM和NOR Flash。本篇文章将来配置ETH,还是从头开始创建工程。

一、创建基础工程:

首先打开STM32CubeMX,创建工程。

在步骤1的搜索框中查找STM32H743IIT6型号芯片,在第2步点击选择后才能点击步骤3的按钮。

等待工程生成后将进入配置阶段。

二、工程配置

首先配RCC,参照下图:

再配置主频,参照下图,有6处需要修改配置。

再配置M7系统配置,如下图,需要开启CPU ICache:

下面是配置3个内存空间,多个内存空间都是独立配置,没有顺序关系,如下图:

再进行ETH相关配置,如下图:

如下,修改MAC,1E:30:6C:D2:D5:DE。

回到GPIO配置页,根据电路走线修改引脚配置,PG11: ETH_TX_EN、PG13: ETH_TXD0、PG14: ETH_TXD1,且需要将ETH使用的引脚都改成Very High。

添加PG15为GPIO_Output,作为ETH_RST功能脚。

修改LWIP,先开启使能,在Platform Settings标签页中设置物理驱动,选择LAN8742(可以兼容LAN8720)。

如下图,关闭DHCP,使用静态IP。

以上配置完成后,再进行工程管理配置。

完成以上配置后点击“GENERATE CODE”创建工程,再打开MDK工程。

三、MDK工程中修改配置及代码

先修改魔术棒配置。

再修改代码:

main()函数中添加以下代码。

SystemClock_Config()接口最后添加以下代码。

工程中搜索SCB_InvalidateDCache_by_Addr()接口调用(在ethernetif.c文件的HAL_ETH_RxLinkCallback()接口中被调用),将其屏蔽。

完成以上配置及修改后可以将程序烧录到核心板(终端设备)中,运行程序即可从PC端ping通设备。

返回列表