打印

为啥我的RTL8019AS芯片的BD0,BD1(85,84脚)随便接工作照样正常啊?

[复制链接]
3262|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
computer00|  楼主 | 2007-5-10 14:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
zhenglixin| | 2007-5-10 15:24 | 只看该作者

re:

圈圈太懒啦,打PP哈

使用特权

评论回复
板凳
computer00|  楼主 | 2007-5-10 15:53 | 只看该作者

反正都能用了,我懒得去细读了呀

就随便看了看,知道它是选择I/O基地址的,并且在复位时读入. 可是不管我怎么接,它都可以工作正常,晕,那还要它干啥......

要是没人回答,那也只要硬着头皮慢慢读了......

使用特权

评论回复
地板
computer00|  楼主 | 2007-5-10 18:25 | 只看该作者

恩,谢谢楼上的朋友, 我的65脚(JP)是悬空的,

并且电路板上没有插9346芯片,应该是工作在即插即用模式了. 照这么说,就是由程序来决定IO基地址了?或者是芯片中这个寄存器的默认值(因为我没装9346). 而复位值应该为0,所以实际的基地址为0x300? 而我的电路板上,A8,A9是接高的,其它接低,所以基地址应该是0x300的,因此我的程序刚好可以访问这个网卡?那么这个时候的I/O基地址选择这几根引脚就是没用的了,所以接哪都无所谓了?


不知道我这样理解是否正确?


现在还有个问题就是,我在这个BIOS下可以通过网线下载,但是启动linux之后,就无法ping通了,而这个linux跟这个BIOS是配套的(网上下载的,我还没仔细去研究),既然BIOS可以用,怎么到了linux下就不行了呢?有点晕......

使用特权

评论回复
5
computer00|  楼主 | 2007-5-10 18:48 | 只看该作者

是的,linux是可以重新配置网卡,

但问题是这个BIOS和这个linux是配套的,即都是在同一个硬件上跑的.既然BIOS上的网络可以,为什么linux下的不行呢?程序是从网上下载的,开发板也基本上一样,并且他们提供的linux应该是在他们的开发板上可以上网的.而现在BIOS中的网络可以在我的开发板上连通了,但是启动linux后,就不能ping通了。我想BIOS中的网卡配置跟linux下的配置应该是一样的,因为都是针对同一个硬件.所以我才怀疑是不是那几个I/O基地址连接的问题. 也许我要仔细看看linux的源码才知道是怎么回事了,不过我对linux还不熟,估计会很头晕了........

使用特权

评论回复
6
XWJ| | 2007-5-10 19:10 | 只看该作者

嵌入式应用一般用跳线方式(65脚上拉),这样考虑起来最简

使用特权

评论回复
7
XWJ| | 2007-5-10 19:12 | 只看该作者

当然,默认方式可以用软件去配置地址,但是麻烦些哦

使用特权

评论回复
8
computer00|  楼主 | 2007-5-11 00:43 | 只看该作者

恩,估计是中断的问题,我检查过硬件连接,中断连接是一样

使用sniffer抓包,有看到响应的数据包,但是就是linux没有收到,估计是中断信号没有收到? linux应该会自己初始化中断吧?我在BIOS中是将所有中断源都关了的.在“/proc/interrupts”和“/proc/stat”中查看中断状态,我不会查,呵呵,interrupts里面有些文件,但是stat怎么打开,我就不清楚了。


ifconfig返回的数据

# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:80:48:12:34:56
          inet addr:192.168.0.100  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          Interrupt:24

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0

#


抓到的数据包,会不会跟里面的数据长度有关啊:

使用特权

评论回复
9
mybao| | 2007-5-11 08:37 | 只看该作者

我也试过

select I/O base的配置引脚好像真的有问题,上拉电阻去掉、接上

网络都能正常工作。

反正都能工作,没有仔细研究

使用特权

评论回复
10
computer00|  楼主 | 2007-5-11 12:37 | 只看该作者

但是那个响应是windows发出的呀,应该没错才是

估计跟IP有关,也许它认为IP不对,所以没有返回?如果IP对上,应该还有echo请求和回复的,真是有点晕菜.下面这个图是用BIOS时,用windows ping开发板的返回结果,它有echo。


使用特权

评论回复
11
computer00|  楼主 | 2007-5-11 18:35 | 只看该作者

也有可能. 我再到linux下去ping试试,或许那边的包就长了

但到那边就没有sniffer了,应该用什么软件抓包呢?

TCP/IP我不清楚,呵呵.不过ping的时候,里面应该会用IP地址来比较吧?只有IP地址相等了,才会echo吧?如果IP不对,那就不会响应了。

关于驱动,可能要花一段时间才能搞得清楚了,都没玩过。

使用特权

评论回复
12
computer00|  楼主 | 2007-5-11 22:59 | 只看该作者

呵呵,我也还没搞到注册码,就是昨天晚上临时去搜了这个软

现在一直还是在试用呢.不知道有没有期限?到时再说吧.既然可以上网,去搜个注册码或者注册机或者**版应该不难的,何况这个软件应该比较多人用呢。


谢谢gdtyy了,我已经给您发邮件过去拉,麻烦帮我发一下。 前几天去图书馆抱了一摞
关于linux的书回来,光讲内存管理的那本就600多页,晕死,不过有书是好事,总比什么
资料都没强多了。但恐怕没多少时间来看拉,因为就要准备期末考试了,能看多少就看
多少吧,暑假再慢慢来,来日方长~~~~~~~~

使用特权

评论回复
13
computer00|  楼主 | 2007-5-12 12:01 | 只看该作者

应该是中断的原因,收不到数据,没有产生接收中断请求

# cat interrupts
  3:       1460   s3c44b0_uart_tx
  7:        151   s3c44b0_uart_rx
  8:      19971   timer
 24:          0   eth rx isr
Err:          0


其中eth rx isr是0,就表示没有产生中断吧?

那也许应该就是中断初始化或者中断安装出了问题,或者是IO口设置出了问题吧,我再找找.

使用特权

评论回复
14
computer00|  楼主 | 2007-5-12 13:36 | 只看该作者

哈哈~~~终于搞定了,果然是中断的问题,特别感谢gdtyy的帮忙~~

我又回到了BIOS中(原本这个BIOS应该是在ADS下的,我现在将它移植到了keil下,所以跟原本
的BIOS有些区别,改的时候有些地方漏掉了),将网口对应的IO口设置为中断输入,并设置
中断触发模式,然后重新烧入BIOS,再启动ucLinux,再ping,哈哈,终于通了~~~然后还可以
打开开发板中嵌入的网页了~~~~~~而再看中断,也对了~~~~

# cat interrupts
  3:       1128   s3c44b0_uart_tx
  7:        105   s3c44b0_uart_rx
  8:     115974   timer
 24:        184   eth rx isr
Err:          0
#


我原本以为这些初始化工作linux的启动代码会做,所以就没注意. 看来我现在用的这个linux包
并未做这些工作,而是建立在BIOS的基础之上,认为BIOS已经将它们配置好了,故没有再去
初始化。上次串口也是这样的问题,BIOS中设置好了系统时钟和波特率寄存器,我为了使速度
更快点,就提高了系统时钟,当然也修改了波特率设置的寄存器,可启动linux后,串口就不通了,
晕死,后来才发现原来linux的初始化代码只配置了波特率寄存器,并且是根据以前的系统时钟
频率来配置的,结果当然就不对了. 后来我只好将系统时钟调回,而没有去重新修改编译linux了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

246

主题

14693

帖子

210

粉丝