修正Ok6410的uboot网络不可用

根据原厂uboot进行移植 1.首先编译原厂uboot make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- mx6ull_14x14_evk_emmc_defconfig make V=1 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j16 2.把编译得到的uboot.bin烧进板子就可以看到那些部分是支持,那些是不支持的,不支持的... 阅读详情

通过使用uboot的网络功能可以更新ubook,烧写内核,文件系统,如果网络功能不可能,那还不如同变砖了一样.当然如果支持sd卡启动,可能通过sd卡完成这些功能,但是也太过麻烦了.飞凌的6410开发板提供的uboot的网络驱动是cs8900,但是实际上网卡是dm9000ae.

烧入后发无法ping通,tftp不可用,输出:

CS8900 Ethernet chip not found?!
下面,提供简单的修改方法,把驱动改为dm9000,让网络功能用起来.

1.修改include/configs/smdk6410.h

#ifdef 	CONFIG_DRIVER_SMC911X	
#undef	CONFIG_DRIVER_CS8900	
#define CONFIG_DRIVER_SMC911X_BASE	0x18800300
#else
//注释掉下面3行
//#define CONFIG_DRIVER_CS8900	0	/* we have a CS8900 on-board */
//#define CS8900_BASE	  	0x18800300
//#define CS8900_BUS16		1 	/* the Linux driver does accesses as shorts */
//增加下面4行
#define CONFIG_DRIVER_DM9000                1
#define CONFIG_DM9000_BASE          0x18000000
#define DM9000_IO                   CONFIG_DM9000_BASE
#define DM9000_DATA                 (CONFIG_DM9000_BASE+4)
#define CONFIG_DM9000_USE_16BIT
//#define CONFIG_DM9000_DEBUG
#endif
2.303行
从环境变量中读取MAC地址
把((u16 *) bd->bi_enetaddr)[i] = read_srom_word(i);替换为:
char *s, *e;
s = getenv ("ethaddr");
for (i = 0; i < 6; ++i) 
{
	bd->bi_enetaddr[i] = s ? simple_strtoul (s, &e, 16) : 0;
	if (s)
		s = (*e) ? e + 1 : e;
}
3.修改318行,修改0x00为0xff
修改MAR寄存器(Multicast Address Register)的值,修正第一次收不到数据的错误
for (i = 0, oft = 0x16; i < 8; i++, oft++)
	DM9000_iow(oft,0x00);
	//DM9000_iow(oft, 0xff);
4.413行
注释掉下面2行
修正一直无法收到数据的错误,不要每次调用halt的时候都对PHY进行复位操作,否则会引起无法接受到数据的情况  
void
eth_halt(void)
{
	DM9000_DBG("eth_halt\n");


	/* RESET devie */
	//phy_write(0, 0x8000);	/* PHY RESET */
	//DM9000_iow(DM9000_GPR, 0x01);	/* Power-Down PHY */
	DM9000_iow(DM9000_IMR, 0x80);	/* Disable all interrupt */
	DM9000_iow(DM9000_RCR, 0x00);	/* Disable RX */
}
这里只是根据别人的文章进行实现,的确可行,但是具体为什么这么做还有些问题需要自己去弄明白.
解决问题(5):成功解决uboot移植时网络通讯遇到的ARP Retry count exceeded; starting again Liunx开发板:uboot 是支持网络的,我们在移植 uboot 的时候一般都要调通网络功能,因为在移植 linux kernel 的时候需要使用到 uboot 的网络功能做调试。uboot 支持大量的网络相关命令,比如 dhcp、ping、nfs 和 tftpboot。 问题:开发板和Ubuntu通信不成功 在使用 uboot 的网络功能之前先用网线将开发板的 ENET2 接口和电脑或者路由器连接起来, I.MX6U-ALPHA 开发板有两个网口: ENET1 和 ENET2,一定要连接 ENET2 阅读详情

相关推荐

Exynos4412 移植Linux Kernel 5.15过程记录(二)——解决U-Boot启动内核卡在Starting kernel的问题,DM9000网卡驱动(设备树)

Exynos4412 Linux Kernel移植过程记录(二) 解决U-Boot启动内核,卡在Starting kernel的问题 DM9000网卡驱动(设备树)

weixin_42408707的博客 8294

转载:Hi3519V101(之) 烧写uboot ping不通网络

(hisi3519默认是千M口, rgmii模式,而我的板子是百兆口,所有要修改成rmii模式的网口) 一、修改配置文件hi3519v101.h(我这里的板子是nand,所以这里修改的hi3519v101_nand.h)   修改原因:在\u-boot-2010.06\drivers\net\higmacv300中看到网卡的设备信息为:     因为RTL8201最大支持百兆,因此选择interface_mode...

lishi_1991的专栏 703

u-boot下mac地址的配置

U-boot源码中的文档doc/README.enetaddr对mac地址的存储有详细的介绍。通常有三种情况: MAC地址存储在EEPROM中 U-boot下可以用mac命令用来查看,EEPROM的MAC地址在U-boot启动时会被写入到环境变量。 => help mac mac - display and program the system ID and MAC addresses in EEPROM Usage: mac [read|save|id|num|errata|date|ports|

专研芯片和软件 2989

在u-boot状态下用网线连接笔记本,没有本地连接 网口灯也不亮,但是进入QT可以

视频教程有说明,摘录如下: 如果开发板正在运行 UBOOT ,它是在使用网络命令的时候才使能网卡,其他时候是不    使能网卡的。这意味着在 UBOOT阶段没有使用网络命令时,即使你已经接了网线,但是     windows的网卡仍然是断开状态。要想解决这个问题,建议使用一个 HUB或路由器,让     PC 、开发板的网线都接到 HUB 或路由器上去。UBOOT 是不回应 PING 包

internet_register的专栏 1237

ISCE+Mintpy进行SBASInSAR处理(持续更新)

通过调用pairs_misregistration方法,利用safe_dict中的数据信息,对每对SLC数据进行配准误差的计算和分析,以确定数据之间的精确差异,为后续的时间序列处理提供基础。给定同一地区的两景SAR影像,经过配准之后,对应像元进行共轭相乘得到相位差,并形成干涉图,但是从干涉图中得到的相位差实际上是主值,即在(-π,π)呈周期性变化,为了还原其真实的相位差,必须在主值的基础上加或减整数倍的相位周期2π,把被卷叠的相位展开,才能顺利地反演出地面目标的高程和形变。

Cyy2511250589的博客 3736

从配置文件加载顺序揭秘:为什么你的logback.xml读不到application.yml?

本文深入解析了Spring Boot中logback.xml无法读取application.yml配置的原因,揭示了Spring Boot配置加载机制与日志系统初始化的时序问题。通过对比logback.xml与logback-spring.xml的差异,提供了使用springProperty标签和系统属性传递等解决方案,帮助开发者有效解决日志配置问题。

weixin_29214335的博客 364

hi3516C调试发现网口灯不亮,uboot无法ping通PC

现象: hisilicon # ping 192.168.2.9 Hisilicon ETH net controler miiphy_register: non unique device name '0:1' miiphy_register: non unique device name '0:2' MAC:  00-0C-0C-A0-02-6A UP_PORT : phy

Power of technology will free your body and spirit 1万+

青龙人形机器人硬件平台设计全解析:从构型到控制系统的实战指南

本文深度解析了青龙人形机器人硬件平台的设计全流程,从需求分析、构型设计到核心系统实现。文章详细阐述了其43个自由度的仿生构型、高动态性下肢设计、灵巧作业系统以及分布式控制架构,并探讨了旋转关节与直线关节等关键技术选型,为开发者提供了从理论到实践的完整硬件设计指南。

weixin_29248313的博客 383

修正Ok6410的U-Boot网络不可用

通过使用uboot的网络功能可以更新ubook,烧写内核,文件系统,如果网络功能不可能,那还不如同变砖了一样.当然如果支持sd卡启动,可能通过sd卡完成这些功能,但是也太过麻烦了.飞凌的6410开发板提供的uboot的网络驱动是cs8900,但是实际上网卡是dm9000ae. U-Boot源代码下载地址 http://www.linuxidc.com/Linux/2011-07/38897.ht

HexBug 1872

国产安全芯片在密码算法国密体系下的性能适配策略

国密体系即国家商用密码体系,是保障信息安全的核心技术体系。自20世纪90年代末起步,国密体系经历了从无到有、从弱到强的发展历程。1999年,国家密码管理局成立,标志着国密体系的正式建立。2000年,国密SM1算法首次发布,开启了国密算法的标准化进程。此后,SM2、SM3、SM4等算法陆续推出,形成了完整的对称与非对称密码算法体系。:2010年,国密标准正式纳入国家标准体系,国密算法在金融、政务、通信等关键领域的应用得到明确规范。

qq_40552871的博客 1356

告别调参烦恼:用Simulink手把手实现自适应模糊PID温度控制(附模型下载)

本文详细介绍了如何使用Simulink实现自适应模糊PID温度控制,解决传统PID调参难题。通过模糊推理引擎动态调整PID参数,系统能自动适应不同工况,显著提升控制精度和响应速度。文章包含完整的建模步骤、参数优化技巧和工业应用扩展,并附赠可下载模型,帮助工程师快速掌握这一智能控制技术。

weixin_30872499的博客 153

S5PV210(TQ210)学习笔记——内核移植与文件系统构建

由于之前做过2440和6410,鉴于时间原因,这里暂时跨过其他模块的裸机驱动和uboot移植,直接进入内核移植及驱动开发方面的学习。 内核移植其实很简单,因为内核是linus率领的linux内核开发团队开发并维护的,我们只需要跟我们的平台交叉编译一下即可使用,但是,内核移植也不简单,因为内核移植起见出现任何问题都可能会被卡住,因为内核代码非常庞大,我们无法通读内核代码,下面是我移植期间遇到的各种

girlkoo的专栏 1万+

PLL锁相环性能上不去?可能是电荷泵的电流失配在捣鬼(附Jae-Shin Lee经典方案解析)

本文深入分析了PLL锁相环性能瓶颈的根源——电荷泵电流失配问题,详细解析了Current Mismatch和Current Deviation的区别及其对系统的影响。重点介绍了Jae-Shin Lee的多级电流镜技术,该方案通过运放构建虚拟短路和四级电流镜结构,显著降低了电流失配,使参考杂散改善15dB以上。文章还提供了从仿真到流片的完整优化流程,帮助工程师系统解决电荷泵性能问题。

weixin_30684743的博客 371

在U-boot中添加Cubieboard(全志A10)以太网驱动

当定义CONFIG_CMD_NET和CONFIG_CMD_PING,编译之后执行ping命令,告警没有找到以太网。 因此,需要打开U-boot的网络功能, u-boot-sunxi-sunxi中没有找到明显的网络驱动代码,或许有通用的驱动,但可以获得资料的途径有限,再说我是个初学者,平时工作属于自动控制类,网络方面很菜,因此想通过修改一个网络驱动,进行一次初步学习,想到就开工... 边做边写,

生命在于折腾 6151

GEE:哨兵时间序列遥感数据和动态阈值方法计算物候时期EOS/SOS(2)

本文将分享和解释论文《Improved Estimates of Arctic Land Surface Phenology Using Sentinel-2 Time Series》中使用到的基于阈值估算北极地区的植被物候,特别是北极地区的植被季节开始和结束的日期(SoS和EoS)的方法和代码。该方法使用的是使用哨兵2数据,并实现了两种阈值方法( 无平滑的阈值方法、平滑后的阈值方法)。

养乐多的博客 2971

Python爬虫实战:用最新技术高效下载摄影网站图片

本文将深入探讨如何利用Python最新技术栈构建一个功能完整的摄影网站图片爬虫。我们将使用异步编程、智能反爬策略和现代化工具,实现高效、可靠的图片下载系统。高性能异步架构:使用asyncio实现高并发下载智能反爬策略:支持多种反爬措施和浏览器模拟多网站适配:可解析多种摄影网站结构数据管理:完整的下载记录和统计功能扩展性强:支持代理、分布式等高级功能用户友好:提供进度显示和详细日志。

2201_76125261的博客 1644

4.移植uboot-使uboot支持DM9000网卡

在上一章,使uboot能够支持nor、nand 本节继续修改让uboot支持DM9000C网卡,便可以通过网络来传输文件   首先uboot已带有dm9000网卡的驱动,位于drivers/net/下的dm9000x.h、dm9000x.c 1.DM9000C介绍 参考之前写的移植DM9000C驱动章节, 我们的DM9000是放在2440的bank4(0X20000000)的片选上面...

weixin_33695082的博客 172

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Linux学习笔记8-Uboot移植-网络设置和其他坑的解决

解决虚拟机和主机的网络问题

raulcy的博客 1645

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Hi3519V101(之) 烧写uboo kernel rootfs 跑起来之后网络网卡问题

一、在 hisi板子跑起来之后很兴奋,然后试一下网络能不能用,发现ifconfig 不出来任何消息,然后ifconfig -a 出来消息如下: 明显,网卡没跑起来,想起了uboot修改了网络模型是rmii,而kernel 没有修改,于是里面修改kernel的网络模式,在内核dts 文件中,修改RMII。(grmii 是千兆,我的开发板子用的是rmii 百兆网卡) 文件所在路径:..\Hi3...

wwdlss的博客 1619

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

系统移植之开发板U-Boot网络ping局域网内IP

由于开发板需要与虚拟机的Ubuntu进行网络文件传输等,所以需要U-Boot与虚拟机Ubuntu可以ping通。 一、连接方式 1、主机连接WiFi; 2、I.MX6ULL开发板直连路由器的LAN口; 二、先保证主机与虚拟机Ubuntu能相互ping通 1、虚拟机网络适配器选择桥接 2、一开始发现Ubuntu无法ping通主机,然后通过百度后关闭了windows的专用网络防火墙,最后主机与Ubu...

年少生而为人 579

uboot 添加网络驱动

一、硬件环境 网络驱动IC:LAN8720 二、源码分析 2.1物理地址 对my6ull_my_evk.h(copy from mx6ullevk.h)选中代码进行分析。 默认CONFIG_FEC_ENET_DEV为1,即默认使用ENET2。 CONFIG_FEC_MXC_PHYADDR 网口硬件地址,以LAN8720为例,若Pin_10接0,则物理地址为0, 若1,则物理地址为1。根据实际修改此宏定义。 2.2厂商宏定义 源码345行,定义了一个宏CONFIG_PHY_MIsCREL,意为使用MI

loveshipting的博客 3348

【海思篇】【Hi3516DV300】四、uboot有线网口调试

目的:熟悉uboot下有线网口;让更多的爱好者了解海思、加入海思。

cocoron的博客 5044

uboot网络调试方法

一、硬件简单确认: 1、确认RGMII模式(hi3559A支持RGMII/RMII) 2、phy的地址phy_addr 3、PHY是否有延时电阻(RTL8211有) 4、phy晶振时钟 5、速率1000M clk 125M,100M clk 25M 二、软件确认 1、uboot涉及驱动:drivers/net/higmacv300,PHY配置驱动:drivers/net/phy/realtek...

heliangbin87的专栏 9187

详细讲解u-boot之网络移植与调试

首先来回顾一下,上一篇我们采用的是NXP官方默认imx6ull开发板的配置参数,任何参数都未做修改,现在使用默认配置网络未能正确识别,说明我们的硬件设计与官方的设计有偏差。,从设备树文件中可以得到,imx6ull FEC1对应位ethphy0,而ethphy0对应的phy地址默认位2,这与我们开发板硬件给的phy地址不符合,因此修改设备树中FEC1对应的phy地址为0。查找结果如上,spi4接口中使用了GPIO5的7和8两个管脚,并且该设备status状态为“okay”激活,解决方法如下,

Wang_XB_3434的博客 1万+
上一篇: curl源码分析(二)协议注册与使用过程
下一篇: lex与yacc(一)正则表达式
ecbtnrt
博客等级 码龄20年 92粉丝 47原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值