STM32H750+LAN8720无操作系统移植lwip

前言

本文提供移植好的工程(仅使用串口和以太网外设),见本文绑定资源



环境

STM32CubeMX: V6.8.1
STM32H7 HAL Pack: V1.11.1


硬件连接

STM32H750 GPIO定义如下:

STM32H750+LAN8720无操作系统移植lwip_第1张图片


LAN8720 GPIO定义如下:

STM32H750+LAN8720无操作系统移植lwip_第2张图片


连接方式如下:

LAN8720       <—>     STM32H750
MDIO                 ETH_MDIO
MDC                 ETH_MDC
TX0                 ETH_TXD0
TX1                 ETH_TXD1
RX0                 ETH_RXD0
RX1                 ETH_RXD1
TX-EN               ETH_TX_EN
CRS                 ETH_CRS_DV
nINT/RETCK            ETH_REF_CLK



配置STM32CubeMX

基础配置

新建项目,我这里是STM32H750VBT6

STM32H750+LAN8720无操作系统移植lwip_第3张图片


配置时钟,选择时钟源

STM32H750+LAN8720无操作系统移植lwip_第4张图片


将主频配置为最大即480MHz

STM32H750+LAN8720无操作系统移植lwip_第5张图片

配置MPU

使能ICACHE和DCACHE

使能MPU 选择only+disable模式,并配置两个区

这两个配置特别重要,配置有误就ping不通

STM32H750+LAN8720无操作系统移植lwip_第6张图片

配置以太网

配置以太网,选择RMII模式

STM32H750+LAN8720无操作系统移植lwip_第7张图片


修改描述符地址和buff长度

STM32H750+LAN8720无操作系统移植lwip_第8张图片


使能中断

STM32H750+LAN8720无操作系统移植lwip_第9张图片


将相关GPIO全部配置成高速

STM32H750+LAN8720无操作系统移植lwip_第10张图片


配置LWIP

使能LWIP并选择LAN8742平台(与LAN8720兼容)

STM32H750+LAN8720无操作系统移植lwip_第11张图片


取消DHCP并配置合适的固定IP

STM32H750+LAN8720无操作系统移植lwip_第12张图片

配置串口

使能UART1用于debug

STM32H750+LAN8720无操作系统移植lwip_第13张图片

生成代码

配置工程输出,这里选择的是MDK5

STM32H750+LAN8720无操作系统移植lwip_第14张图片
STM32H750+LAN8720无操作系统移植lwip_第15张图片

勾选MicroLIB,否则无法跑通

STM32H750+LAN8720无操作系统移植lwip_第16张图片


建议取消这个选项,否则编译会很慢

STM32H750+LAN8720无操作系统移植lwip_第17张图片

修改main函数

将main()替换为如下内容,主要修改如下:

①使能SRAM3

②运行LWIP任务

③增加串口打印

int main(void)
{
	int uart_tick = 0;
	MPU_Config();
	SCB_EnableICache();
	SCB_EnableDCache();
	__HAL_RCC_D2SRAM3_CLK_ENABLE();
	HAL_Init();
	SystemClock_Config();
	MX_GPIO_Init();
	MX_USART1_UART_Init();
	MX_LWIP_Init();

	while (1)
	{
		MX_LWIP_Process();

		if (HAL_GetTick() - uart_tick > 1000)
		{
			HAL_UART_Transmit(&huart1, "hello world!\r\n", 14, 100);

			uart_tick = HAL_GetTick();
		}
	}
}

编译成功

STM32H750+LAN8720无操作系统移植lwip_第18张图片

运行

成功ping通
STM32H750+LAN8720无操作系统移植lwip_第19张图片

串口正常打印

STM32H750+LAN8720无操作系统移植lwip_第20张图片

你可能感兴趣的:(物联网,TCP/IP,单片机,stm32,嵌入式硬件,单片机)