大家好:
我在使用uniflash通过网口和电路板连接,参照Sitara Uniflash Quick Start ,将PC ip配置为软件默认192.168.100.1,关闭防火墙,打开网络发现功能,就是无法找到设备。
板子使用EMAC1,RMII方式,网卡为RTL8201F。
软件日志opendhcp里面,显示listening On:192.168.100.1
请问这样的方式有问题吗,比如RMII方式是否可以?或者还有那些注意点
Steven Liu1:
先确认一下你的板子本身网口这边测试过吗?能否正常通信?比如说进入到Linux中,通过dhcp是否能够拿到IP。
BOOT mode检查过了吗?
仅仅是从发现的角度来说,不考虑你烧录的过程,只是为了探测而言,启动模式设置对了,板子启动后等一会儿,链接建立了就应该能看到了。
tongsheng wang:
回复 Steven Liu1:
刘工您好:
启动模式01010,是从网口启动的。
你说的进入linux系统中,通过dhcp能够拿到IP,我现在芯片是裸片,Flash也是空的,无法进入linux系统。对于裸片有什么方法可以判定网口是否正常通信吗?
比如日志正常通信日志里面是否会有dhcp得到ip的信息,或者其它的方式?
Steven Liu1:
回复 tongsheng wang:
理论上来说,你可以监测从AM335x发送的数据包,根据TRM手册26.1.8.4 EMAC Boot Procedure,如果网络正常,AM335x会发送bootp的包的。
不过建议你还是先bring up 板子,把Linux跑起来了后,再去做这个Uniflash的工具的功能。这个不是个帮你快速上手启动芯片的工具,而是在你做完整个研发的过程之后,考虑小pp生产板子的时候可以烧录的一个工具。
tongsheng wang:
回复 Steven Liu1:
刘工,您说的监测am335x数据包方式确实很有效,通过wireshark可以看到芯片间隔发出来的bootp包,这样就能确定处理器和phy是正常工作的!
uniflash这边迟迟没有成功的给设备分配ip,直连和通过路由器连接(关闭了DHCP)都不成功,防火墙关闭了,杀毒软件禁用,还会是什么原因导致这样的现象呢?
Steven Liu1:
回复 tongsheng wang:
你的本机IP和UNIFLASH的IP设置是一致的吗?然后你点击了start flashing按钮吗?
点了后也是没反应,没有检测到的?
tongsheng wang:
回复 Steven Liu1:
设置的是一样的ip,192.168.100.1 。
是点了start也检测不到设备,监测软件也观察不到uniflash发送给设备的bootp包
Steven Liu1:
回复 tongsheng wang:
突然想起来了个事儿,印象中,在第一阶段的时候,一定要通过交换机来进行板卡和主机的互联。或者是使用关闭了DHCP功能的路由器。板卡和主机直连是不行的。
另外就是防火墙、杀毒都要关掉,网络发现等功能都要打开。
其他的就没什么了。
tongsheng wang:
回复 Steven Liu1:
刘工:
关闭DHCP路由我也这么做了~
我用BBBlack可以连上的,报文是设备406字节的请求bootp包,和uniflash回复的406字节的bootp包。
但是uniflash和自己板子通信的报文,是设备406字节请求bootp包,uniflash回复中没看到bootp包,发现有广播的326字节的DHCP包。
仔细对比bbb和自己电路板发出来的bootp,发现只有IP层的identification(256和1024)和user datagram里的stream index(12和0)不一样(数据顺序分别bbb和自制板)。
这里刘工可以看出什么信息吗?
和bbb能连上,证明软件那边还可以,设备这边能发出bootp包,感觉设备也没问题…头疼啊