完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
本帖最后由 一只耳朵怪 于 2018-6-20 16:17 编辑
如题,再描述一遍, 在WINCE,安卓,linux下可以发送和接收数据包。 但是在starterware下,只能发送数据包,无法接收数据包,寄存器0x4A100900一直是0。 请问哪位高手遇到过这种问题?是不是starterware有bug? |
|
相关推荐
15个回答
|
|
am335x是否和phy一样有loopback功能?寄存器是哪个呢?
|
|
|
|
|
|
|
|
鉴于以上的测试,总结了一下,感觉是从AM335x到AR8031这里有问题,今天又在WINCE下将PinMux读取出来与在Starterware下的寄存器做对比,未发现什么异常,将WINCE下的PinMux的寄存器的数据更改到Starterware下,仍然只能发送 无法接收。所以感觉问题可能出在AR8031的寄存器上。现在想读取一下AR8031的寄存器。 请教一下,怎么在wince,linux或者安卓下,读取AR8031的寄存器的数据?有没有什么简单的方法可以在操作系统运行的过程中读取AR8031的寄存器? |
|
|
|
S_A_Lucky 发表于 2018-6-20 03:59 这个可能是要增加一个类似驱动层的IOCTL命令,通过MDIO读取PHY内部的寄存器 |
|
|
|
感觉又不像是AR8031的问题,因为我用starter kit读取AR8031的寄存器 对比过了。没有什么区别。问题还能出在哪里呢?难道starter kit的8031和我的8031不一样? |
|
|
|
你用的是千兆以太网RGMII模式吗?
如果是的话,建议你试一下: 1.修改Control Module的0x650的gmii_sel中的第5或者4比特,增加internal delay; 2. PHY端的也有个rx delay的配置,需要查一下phy端的手册,加上这个delay配置,进行测试。 我之前的一个客户遇到的情况是百兆收发正常,但是千兆只能发,不能收。解决方法用的是上述2。 |
|
|
|
hwjj940056201 发表于 2018-6-20 04:53 按照您的方法: 1.将44E10650的BIT4和BIT5修改为1或者0,仍无法接收。 2.将PHY的rx delay 配置为使能或者禁止 ,仍无效果。 请问,是否还有其他原因呢? |
|
|
|
S_A_Lucky 发表于 2018-6-20 05:06 对于PHY的RX delay配置成为使能这个测试,确认生效了吗?可以回读一下相关寄存器的值确认一下吗? 接收数据的软件配置话,能否确认相关管脚有没有在pinmux的配置上面做receive enable? |
|
|
|
hwjj940056201 发表于 2018-6-20 05:26 对于PHY的RX delay配置成为使能这个测试,确认生效了吗?可以回读一下相关寄存器的值确认一下吗? 答:根据手册 读取这个寄存器的数据为0x82EE 发现当硬件复位或者启动的时候 这个寄存器就是0X82EE了。我试着将这个寄存器改为0x02EE,也是不能接收数据。 接收数据的软件配置话,能否确认相关管脚有没有在pinmux的配置上面做receive enable? 答:您讲的在pinmux上面做receive enable 是如何操作呢?我没有找到相关的寄存器。 我在offset650的BIT4和BIT5都设置为1后,无效果,设置为0后,仍然没有效果。 请解答一下,感谢! |
|
|
|
S_A_Lucky 发表于 2018-6-20 05:40 在control module里面,每一个管脚的配置中,5 bit是可以设置管脚的receive enable属性的。 对于接收类型的管脚在这个配置上,都必须要配置成为1,receive enable。 |
|
|
|
我还是感觉不是硬件的问题,应该是寄存器设置的问题。我又做了如下的操作: 1在SD卡上面.运行U-BOOT 2.此时用CCS连接仿真器 3.暂停CPU 4.将.out文件下载进去。 5.10M 100M 1000M都可以正常收发。 所以,我感觉是先运行UBOOT,将某个寄存器配置好了,再运行starterware的代码就可以了。看来还得从寄存器上面入手,但是现在迷茫了,不知道有哪些寄存器是uboot初始化过的,请教如何才能将uboot以太网部分初始化的寄存器打印出来呢? |
|
|
|
U-boot里面有通过串口打印信息的函数,直接调用函数把CPSW里的寄存器值打印出来就可以了。 |
|
|
|
我找到原因了,可能是跟我的时钟设置有关系,我是这样操作的。 1,从UBOOT一直向前追踪,发现是在spl阶段,运行uboot的spl就可以。 2.通过查看代码,将spl移植到starterware,先运行spl,在运行测试程序,10 100 1000全部通过。 3.我只移植了pll ddr初始化两个部分就可以了。可以因为测试代码里面的pll配置不全。所以怀疑是pll造成的。 我的天!搞了好几个月!终于解决了! 在这里感谢帮助我的全部人员! |
|
|
|
不知道什么原因,我写的问题贴子会被自动删除,以前从为没有发表过。
借兄弟的问题这里,我得新贴一下内容: 问题:AM335x的网络驱动中用到了定时器5和定时器6资源,能否更换这二个定时器资源? 在AM335x处理器的网络驱动中,文件名称是driver/net/cpsw.c或者driver/net/ethernet/ti/cpsw.c,这个文件中使用到了二个定时器,用于当作interrupt pacing,它所用的定时器编号分别是5和6 ,有如下的宏定义: #define CPSW_RX_TIMER_REQ 5 #define CPSW_TX_TIMER_REQ 6 现在的问题是能不能将它们修改成: #define CPSW_RX_TIMER_REQ 4 #define CPSW_TX_TIMER_REQ 7 我修改后测试,网口就不通了,不知道是什么原因?请问有谁清楚这个问题,谢谢! |
|
|
|
S_A_Lucky 发表于 2018-6-20 06:44 你好,我现在也遇到这样的问题,请问下你再pll ddr初始化的时候有哪些地方配置不全? 我在SPL阶段使用的是TI官网提供的starterware 的BootLoader,但是由于时移植到自己的板上,我直接屏蔽掉了一些关于电源OOP配置的东西, 在自己的板上也可以成功运行起来,我不知道是不是这里的问题,所以请问下在你的工程中PLL DDR配置是怎样配置的? |
|
|
|
只有小组成员才能发言,加入小组>>
TMS320F28377D:新做了以377d为芯片的板子,上电后芯片复位引脚出现方波请问如何解决?
1907 浏览 0 评论
TPS55340通电后输入端保险丝烧断,芯片输入和GND之间短路
3665 浏览 4 评论
5039 浏览 0 评论
请问如何用DM368对RGB格式的图片数据进行编码生成JPEG格式图片?
1739 浏览 1 评论
9413 浏览 8 评论
CC3100BOOST使用CC3200lunchXL进行烧录
680浏览 2评论
727浏览 1评论
TMS320F28034: 利用C2prog通过SCI给TMS320F28034烧录程序,出现错误提示:Bootloading... failed (invalid echo)!
696浏览 1评论
求DLPC350 Programmer’s Guide User's Guide 中文版说明书
1207浏览 1评论
1790浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-5-7 20:12 , Processed in 1.603765 second(s), Total 105, Slave 89 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号