由于公司项目的需要,我们需要在原有的MII的基础上,修改为RMII模式,针对hi3518c平台,我的网卡是LAN8701需要修改的地方有如下几个:
首先我的uboot中env是:
bootargs=mem=64M console=ttyAMA0,115200 root=/dev/mtdblock4 rootfstype=jffs2 mtdparts=hi_sfc:256k(boot)ro,128k(env),128k(config),3072k(kernel),11264k(rootfs)
bootcmd=sf probe 0;sf read 0x82000000 0x80000 0x300000;bootm 0x82000000
bootdelay=1
baudrate=115200
ipaddr=10.10.1.156
netmask=255.255.255.0
bootfile="uImage"
ethaddr=00:12:12:59:26:b5
HWID=8043420002748432
gatewayip=10.10.1.1
serverip=10.10.1.197
stdin=serial
stdout=serial
stderr=serial
verify=n
ver=U-Boot 2010.06NJQY-JOSEPH-IPNC Alter By KongJun (Oct 09 2014 - 21:54:07)
Environment size: 534/262140 bytes
1、首先是uboot,要切换成RMII模式
需要修改两个地方:
1.1、源码:
1)Uboot:include/configs/hi3518c.h文件
#define HIETH_MII_RMII_MODE_U HISFV_RMII_MODE //HISFV_MII_MODE
#define HIETH_MII_RMII_MODE_D HISFV_RMII_MODE //HISFV_MII_MODE
1.2、uboot配置表:
配置表格中修改:
200300cc的bit3 为1(原来0):
200f005c为3(原来1):
注:地址为0x200300cc的寄存器需要自己增加寄存器!
配置表下载地址:http://download.csdn.net/detail/skdkjxy/8018935
2、其次是kernel中要切换为RMII模式,这里需要修改后内核配置,如下图:
.config 文件直接修改:
# CONFIG_EEE_SUPPORT is not set
CONFIG_HIETH_MONITOR_TIMER=10
CONFIG_HIETH_HWQ_XMIT_DEPTH=12
CONFIG_HIETH_MDIO_FRQDIV=2
CONFIG_HIETH_MII_RMII_MODE_U=1
CONFIG_HIETH_MII_RMII_MODE_D=1
CONFIG_HIETH_PHYID_U=1
CONFIG_HIETH_PHYID_D=2
# CONFIG_HIETH_DOWNPORT_EN is not set
然后重新编译就可以了,内核修改就到此。
3、最后就是hi3518官方驱动添加时候的修改为RMII模式:
文件为“./load3518:102: source ./pinmux_hi3518.sh mii i2c > /dev/null”
改为“./load3518:102: source ./pinmux_hi3518.sh rmii i2c > /dev/null”
然后没有意外的话就可以看到这样ping www.baidu.com 啦!
from:http://blog.csdn.net/skdkjzz/article/details/39931915
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!