96SEO 2026-02-23 12:13 13
。

移植官网的以太网demo程序#xff0c;git上下载了一份很好看的rtl8201F的驱动程序#xff0c;用来替换官方demo的lan8742程序。
并没有直接通#xff0c;于是开始了调试之路。
为了尽量给甲方降低成本决定使用较低成本的PHY芯片RTL8201F-VB-CG芯片。
移植官网的以太网demo程序git上下载了一份很好看的rtl8201F的驱动程序用来替换官方demo的lan8742程序。
并没有直接通于是开始了调试之路。
使用官网lwip的demo下载RTL8201F-VB-CG驱动程序并替换lan8742驱动芯片程序使用PC机ping设备ping不通
通过函数接口HAL_ETH_ReadPHYRegister和HAL_ETH_WritePHYRegister进行读写。
这里我是可以直接正常读写的所以并没遇到太大阻力。
但我还是请教了一下其他朋友了解到PHY寄存器的读写依靠22,23引脚。
22引脚为时钟线测量波形约2M左右没记错的话。
HAL_ETH_STATE_RESET){heth-gState
(USE_HAL_ETH_REGISTER_CALLBACKS
1)ETH_InitCallbacksToDefault(heth);if
(USE_HAL_ETH_REGISTER_CALLBACKS)
*/}__HAL_RCC_SYSCFG_CLK_ENABLE();if
HAL_ETH_MII_MODE){HAL_SYSCFG_ETHInterfaceSelect(SYSCFG_ETH_MII);}else{HAL_SYSCFG_ETHInterfaceSelect(SYSCFG_ETH_RMII);}/*
HAL_ERROR;}}/*------------------
--------------------*/HAL_ETH_SetMDIOClockRange(heth);/*------------------
--------------------*/WRITE_REG(heth-Instance-MAC1USTCR,
(((uint32_t)HAL_RCC_GetHCLKFreq()
----------------*/ETH_MACDMAConfig(heth);/*
*/MODIFY_REG(heth-Instance-DMACCR,
HAL_ERROR;}else{MODIFY_REG(heth-Instance-DMACRCR,
----------------------*/ETH_DMATxDescListInit(heth);/*------------------
----------------------*/ETH_DMARxDescListInit(heth);/*---------------------
(((uint32_t)(heth-Init.MACAddr[5])
(uint32_t)heth-Init.MACAddr[4]);/*
(((uint32_t)(heth-Init.MACAddr[3])
((uint32_t)(heth-Init.MACAddr[2])
|((uint32_t)(heth-Init.MACAddr[1])
(uint32_t)heth-Init.MACAddr[0]);heth-ErrorCode
}在该代码的这一段发现程序返回了错误。
于是查找手册对比这个bit位的作用
手册上关于这个bit位的描述如下我的理解是芯片需要检查所有的时钟在检测到时钟的情况下会自动复位完成。
通过向朋友的学习测量了PHY芯片15引脚的时序因为使用RMII模式所以该时钟引脚理论值约为50M。
而我的这次调试问题的根源也在这里。
在运行程序时我测量了PHY芯片15引脚发现该引脚有时钟输出我就误认为这里的时钟没问题后面总结过后才发现是寄存器配置后PHY芯片的时钟才开始输出。
所以在测量时最好是打断点进行调试断点要打在HAL_ETH_Init初始化之前。
5.阅读PHY芯片手册找到在HAL_ETH_Init初始化之前提供时钟的办法
通过查看PHY芯片的芯片手册关于该芯片12引脚的描述如下在该引脚拉低或者浮空(芯片内部默认接地)的情况下15引脚会默认输出时钟信号
将12引脚的上拉电阻去掉。
stm32h7检测到PHY芯片的时钟信号后以太网驱动的初始化会正常进行。
再ping设备通了
关于这个问题也是请教朋友的过程中意外学习到一般来说以太网的时钟信号应该由控制芯片来提供在这里也就是该由stm32h7芯片来提供时钟。
但是我在手册上并没有看到输出时钟的方法或许我看漏了吧。
所以在初始化流程并没有正常的进行。
而原理图的来源是我们硬件工程师从一款海思的产品上copy下来的所以他认为没什么问题。
可能Soc芯片都有以太网时钟信号输出的能力吧。
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback