RTL8211E网口芯片在Uboot下调试问题

RTL8211E网口芯片在Uboot下调试问题

RTL8211E的原理图

原理图参考firefly的开发板,特别注意的是39号引脚RESET外接的2.49K的电阻,这个是用来进行外部的电阻参考的。这个很关键,开始时46号引脚CLK_125输出的频率不是125MHZ,而是62.5MHZ,刚好减少一半,后续在对外围电路进行检查时,发现主要是这个39号引脚焊成4.7k的电阻了,刚好是2.49k的近一半,因此导致这个频率减半。这个问题困扰了两天,刚开始以为是程序问题,后来排查另外一块板子的频率是对的。两相对比后才发现这个地方存在问题。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

uboot下的驱动调试

要改RTL8211e的驱动也不复杂,只要在ubootimx/include/configs/mx6sabre_common.h的文件里设置如下:
在这里插入图片描述
主要是开放REALTEK的驱动注释,并设置好PHY芯片的地址,此处参考原理图,设置为0

  • 然后在板级文件的目录下对网口的相关引脚进行定义,并进行初始化的设置。文件目录为board/freescale/mx6sabresd/mx6sabresd.c,首先是定义引脚

在这里插入图片描述

  • 其次是进行PHY芯片的复位,让主控能够识别到PHY芯片。
    在这里插入图片描述
  • 再者就是进行芯片的初始化的配置,可以利用mdio的协议进行PHY的寄存器的配置。
    在这里插入图片描述
    最后网络的驱动会通过boot.c一步步引导,最终调用以下函数进行网口的初始化。

在这里插入图片描述

问题排查

在完成上述设置,通电后,uboot能顺利读到PHY芯片,并能够通过mii dump 0 1进行寄存器的状态读取。但是在进行ping命令的测试时,则会出现error frame: 0x4ef44e80 0x00000884的问题。
在这里插入图片描述

  • 通过查阅代码看到,应该是进行通信时,读不到数据,那本能的想到时序异常的问题,进一步推测应该是RX_delayTx_delay的问题,因此通过修改原理图中失能RX DELAYTX DELAY。并改变对应的电阻,然后进行测试,变能进行ping通,并且通过DHCP指令获取ip。在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
在Vue中,你可以使用Vue Router来处理路由和导航。关于路由数据获取,你可以使用以下几种方法: 1. 使用动态路由参数:如果你的路由路径中包含参数,你可以通过在路由配置中定义动态路由参数来获取这些参数。在路由组件中,你可以通过`$route.params`来访问这些参数。例如,如果你的路由是`/user/:id`,你可以在组件中使用`this.$route.params.id`来获取id参数。 2. 使用查询参数:如果你的路由路径中包含查询参数,你可以通过`$route.query`来获取这些参数。例如,如果你的路由是`/user?id=1`,你可以在组件中使用`this.$route.query.id`来获取id参数。 3. 进行API请求:如果你需要从后端或其他数据源获取数据,你可以在组件的生命周期钩子函数中进行API请求。常用的钩子函数是`created`和`mounted`。你可以使用Vue提供的HTTP库(如axios)来进行API请求,并将获取到的数据保存在组件的data属性或Vuex状态管理中。 以下是一个示例代码: ```javascript // 在路由配置中定义动态路由参数 const routes = [ { path: '/user/:id', component: UserComponent } ]; // 在UserComponent组件中获取动态路由参数并进行API请求 export default { data() { return { user: null }, created() { this.getUserData(); }, methods: { getUserData() { const userId = this.$route.params.id; // 发起API请求 axios.get(`/api/user/${userId}`) .then(response => { this.user = response.data; }) .catch(error => { console.error(error); }); } } } ``` 希望以上信息对你有所帮助!如果你还有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值