Stm32CubeMX 为 stm32mp135d 添加网卡 eth

Stm32CubeMX 为 stm32mp135d 添加网卡 eth

  • 一、启用设备
    • [1. eth 设备添加](#1. eth 设备添加)
    • [2. eth 引脚配置](#2. eth 引脚配置)
    • [2. eth 时钟配置](#2. eth 时钟配置)
  • [二、 生成代码](#二、 生成代码)
    • [1. optee 配置](#1. optee 配置)
    • [2. uboot 配置](#2. uboot 配置)
    • [3. linux 配置](#3. linux 配置)

bringup 可参考:Stm32CubeMX 生成设备树

一、启用设备

1. eth 设备添加

我这里只启用一个eth设备,另一个eth配置是一样的,选择好网卡phy接口(interface)MII, RMII, RGMII

我的phy使用是裕太yt8512百兆 ,接口RMII ,需要先选中ETH Ref Clock Input,才可以选择RMII
确定接口类型很重要,务必根据自己的phy手册确定

2. eth 引脚配置

参考这里,选择 GPIO 功能复用,配置自己板子eth所需的引脚

2. eth 时钟配置

根据自己板子用的phy手册 配置时钟

确认以下几点:

    1. phy 需要多少兆时钟,是否有晶振(Crystal)
    1. 是Soc 的 eth 给 网卡 phy 提供时钟,还是 网卡 phy 给 Soc 的 eth 提供时钟
      使用PLL4P,还是PLL3Q,自己决定

全部配置完后,点击代码生成

二、 生成代码

1. optee 配置

optee这里就生成了两行代码:
一行用来配置时钟:

shell 复制代码
st,clksrc = <
	CLK_ETH1_PLL4P
...

一行用来通过安全验证:

shell 复制代码
...
	st,decprot = <
		DECPROT(STM32MP1_ETZPC_ETH1_ID, DECPROT_NS_RW, DECPROT_UNLOCK)
...

githuboptee 仓库
giteeoptee 仓库

2. uboot 配置

对u-boot 生成的代码进行补充一些配置:st官方的设备树配置方法: eth device tree config
这是我的设备树配置 ,根据自己的板子确定配置

这里ETH 的 reset引脚不用放到引脚配置 中,而是作为单独的 gpio 来使用了:reset-gpios = <&gpioa 6 GPIO_ACTIVE_LOW>;
引脚配置在stm32cubemx好的话,生成的代码中 pinctrl 就无需再更改了

github : uboot 仓库
gitee : uboot 仓库

3. linux 配置

linux下eth配置和u-boot没有什么区别,引脚是和u-boot相同的:

github : linux 仓库
gitee : linux 仓库

目前在我使用 stm32mp135 调试的设备中,网卡是最麻烦的,时钟配置,硬件排查等问题,后面单独开一篇文章大概描述一下

能力一般,水平有限,知识浅薄,如果能帮到您,那我感到很荣幸

相关推荐
chuwengeileyan15 小时前
过零比较器 proteus
嵌入式硬件
foundbug9997 小时前
51单片机 PT100 温度测量程序
单片机·嵌入式硬件·51单片机
星夜夏空997 小时前
STM32单片机学习(21) —— I2C通信
stm32·单片机·学习
qq_333120978 小时前
深入探讨8051单片机C351语言及编译器应用
单片机·嵌入式硬件·51单片机
时光の尘9 小时前
【STM32实战】ESP8266 通过 MQTT 协议对接 OneNET 云平台实现数据上传与下发(源码可直接移植)
stm32·mqtt·嵌入式·iot·esp8266
十年编程老舅9 小时前
读懂 MCU 启动:从上电到程序运行全链路
单片机·嵌入式硬件·mcu·嵌入式·cpu·嵌入式开发·ram
北京盟通科技官方账号10 小时前
Windows如何实现硬实时?LxWin双系统隔离架构深度解析
stm32·嵌入式硬件·具身智能·ethercat·人形机器人·实时系统·windows实时扩展
Qt程序员10 小时前
从上电到系统就绪:ARM+U-Boot 嵌入式 Linux 启动流程
linux·运维·c++·内核·设备树·嵌入式·ram
国科安芯11 小时前
低噪声LDO如何破解测试测量与医学成像的电源困局
网络·单片机·嵌入式硬件·安全性测试
半条-咸鱼11 小时前
【STM32】HAL库的本质 及 芯片内部GPIO模块细节
stm32·单片机·嵌入式硬件