Stm32CubeMX 为 stm32mp135d 添加网卡 eth

Stm32CubeMX 为 stm32mp135d 添加网卡 eth

  • 一、启用设备
    • 1. eth 设备添加
    • 2. eth 引脚配置
    • 2. eth 时钟配置
  • 二、 生成代码
    • 1. optee 配置
    • 2. uboot 配置
    • 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这里就生成了两行代码:
一行用来配置时钟:

st,clksrc = <CLK_ETH1_PLL4P
...

一行用来通过安全验证:

...st,decprot = <DECPROT(STM32MP1_ETZPC_ETH1_ID, DECPROT_NS_RW, DECPROT_UNLOCK)
...

github:optee 仓库
gitee: optee 仓库

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 调试的设备中,网卡是最麻烦的,时钟配置,硬件排查等问题,后面单独开一篇文章大概描述一下

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/660641.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于下载上传的sheetjs

一、背景 需要讲后端返回来的表格数据通过前端设置导出其中某些字段&#xff0c;而且得是xlsx格式的。 那就考虑使用控件SheetJS。如果是几年前&#xff0c;一般来说&#xff0c;保存excel的文件都是后端去处理&#xff0c;处理完成给前端一个接口&#xff0c;前端调用了打开…

Postgresql源码(127)投影ExecProject的表达式执行分析

无论是投影还是别的计算&#xff0c;表达式执行的入口和计算逻辑都是统一的&#xff0c;这里已投影为分析表达式执行的流程。 1 投影函数 用例 create table t1(i int primary key, j int, k int); insert into t1 select i, i % 10, i % 100 from generate_series(1,1000000…

国家开放大学2024年春《Matlab语言及其应用》实验五Simulink系统 建模与仿真参考答案

答案&#xff1a;更多答案&#xff0c;请关注【电大搜题】微信公众号 答案&#xff1a;更多答案&#xff0c;请关注【电大搜题】微信公众号 答案&#xff1a;更多答案&#xff0c;请关注【电大搜题】微信公众号 实验报告 姓名&#xff1a; 学号&#xff1a; 实验五名称…

数据挖掘之基于Lightgbm等多模型消融实验的信用欺诈检测实现

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景 在当前的金融环境中&#xff0c;信用欺诈行为日益增多&#xff0c;给金融机构和消费者带来了巨大的损…

基于语音识别的智能电子病历(一)

引子 A&#xff1a;“上周开年会了&#xff01;” 俺&#xff1a;“有啥新的动向&#xff1f;” A&#xff1a;“今年计划开发基于语音识别的智能电子病历。老板说这个算是国内首创&#xff01;” 俺&#xff1a;“嗯&#xff0c;俺做这个20多年了。” A&#xff1a;“语言…

电脑装了两个Win10系统,怎么修改其名称方便识别?

前言 有小伙伴在上一期的双系统教程上留言说怎么修改双系统引导时候显示的名称 不然看起来两个系统好像都没啥分别&#xff0c;如果是Windows10Windows11的方案还好说&#xff0c;但如果是两个Windows10或者是两个Windows11&#xff0c;有时候还真的很不好分辨。 万一想要启动…

从MySQL+MyCAT架构升级为分布式数据库,百丽应用OceanBase 4.2的感受分享

本文来自OceanBase的客户&#xff0c;百丽时尚的使用和测试分享 业务背景 百丽时尚集团&#xff0c;作为国内大型时尚鞋服集团&#xff0c;在中国超过300个城市设有直营门店&#xff0c;数量超过9,000家。集团构建了以消费者需求为核心的垂直一体化业务模式&#xff0c;涵盖了…

C++11:shared_ptr循环引用问题

一、shared_ptr的弊端 struct Listnode {int _val;std::shared_ptr<Listnode> _prev;std::shared_ptr<Listnode> _next;Listnode(int val ):_val(val),_prev(nullptr),_next(nullptr){}~Listnode(){cout << "~Listnode()" << endl;} }; in…

Macos M3 FastGpt部署实现文档问答

前言 经过 Macos安装OrbStack-CSDN博客 Centos8安装docker-compose-CSDN博客 两篇文章的铺垫&#xff0c;可以正式在mac m芯片系列的电脑上使用docker安装项目了 什么是FastGpt FastGPT 是一个基于 LLM 大语言模型的知识库问答系统&#xff0c;提供开箱即用的数据处理、模…

【HarmonyOS4学习笔记】《HarmonyOS4+NEXT星河版入门到企业级实战教程》课程学习笔记(七)

课程地址&#xff1a; 黑马程序员HarmonyOS4NEXT星河版入门到企业级实战教程&#xff0c;一套精通鸿蒙应用开发 &#xff08;本篇笔记对应课程第 14 节&#xff09; P14《13.ArkUI组件-自定义组件》 将可变部分封装成组件的成员变量&#xff1a; 1、首先给标题添加两个图标&am…

计算机网络4——网络层4内部路由选择协议

文章目录 一、有关路由选择协议的几个基本概念1、理想的路由算法2、分层次的路由选择协议 二、内部网关协议 RIP1、协议 RIP 的工作原理2、特点3、距离向量算法4、坏消息传播慢 三、内部网关协议 OSPF1、基本特点2、OSPF 的五种分组类型 本节将讨论几种常用的路由选择协议&…

chrome和drive安装包路径

Chrome for Testing availability (googlechromelabs.github.io) 下载Stable下面的包哈