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

[复制链接]
 楼主| computer00 发表于 2007-5-10 14:50 | 显示全部楼层 |阅读模式
它们是select I/O base用的.熟悉这个芯片的朋友给说说,是怎么回事呀?懒得去datasheet里面去找了,太长了~~~
zhenglixin 发表于 2007-5-10 15:24 | 显示全部楼层

re:

圈圈太懒啦,打PP哈
 楼主| computer00 发表于 2007-5-10 15:53 | 显示全部楼层

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

就随便看了看,知道它是选择I/O基地址的,并且在复位时读入.&nbsp;可是不管我怎么接,它都可以工作正常,晕,那还要它干啥......<br /><br />要是没人回答,那也只要硬着头皮慢慢读了......
 楼主| computer00 发表于 2007-5-10 18:25 | 显示全部楼层

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

并且电路板上没有插9346芯片,应该是工作在即插即用模式了.&nbsp;照这么说,就是由程序来决定IO基地址了?或者是芯片中这个寄存器的默认值(因为我没装9346).&nbsp;而复位值应该为0,所以实际的基地址为0x300?&nbsp;而我的电路板上,A8,A9是接高的,其它接低,所以基地址应该是0x300的,因此我的程序刚好可以访问这个网卡?那么这个时候的I/O基地址选择这几根引脚就是没用的了,所以接哪都无所谓了?<br /><br /><br />不知道我这样理解是否正确?<br /><br /><br />现在还有个问题就是,我在这个BIOS下可以通过网线下载,但是启动linux之后,就无法ping通了,而这个linux跟这个BIOS是配套的(网上下载的,我还没仔细去研究),既然BIOS可以用,怎么到了linux下就不行了呢?有点晕......
 楼主| computer00 发表于 2007-5-10 18:48 | 显示全部楼层

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

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

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

  
XWJ 发表于 2007-5-10 19:12 | 显示全部楼层

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

  
 楼主| computer00 发表于 2007-5-11 00:43 | 显示全部楼层

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

使用sniffer抓包,有看到响应的数据包,但是就是linux没有收到,估计是中断信号没有收到?&nbsp;linux应该会自己初始化中断吧?我在BIOS中是将所有中断源都关了的.在“/proc/interrupts”和“/proc/stat”中查看中断状态,我不会查,呵呵,interrupts里面有些文件,但是stat怎么打开,我就不清楚了。<br /><br /><br />ifconfig返回的数据<br /><br />#&nbsp;ifconfig<br />eth0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Link&nbsp;encap:Ethernet&nbsp;&nbsp;HWaddr&nbsp;00:80:48:12:34:56<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inet&nbsp;addr:192.168.0.100&nbsp;&nbsp;Bcast:192.168.0.255&nbsp;&nbsp;Mask:255.255.255.0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UP&nbsp;BROADCAST&nbsp;RUNNING&nbsp;MULTICAST&nbsp;&nbsp;MTU:1500&nbsp;&nbsp;Metric:1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RX&nbsp;packets:0&nbsp;errors:0&nbsp;dropped:0&nbsp;overruns:0&nbsp;frame:0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TX&nbsp;packets:0&nbsp;errors:0&nbsp;dropped:0&nbsp;overruns:0&nbsp;carrier:0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;collisions:0&nbsp;txqueuelen:100<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Interrupt:24<br /><br />lo&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Link&nbsp;encap:Local&nbsp;Loopback<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inet&nbsp;addr:127.0.0.1&nbsp;&nbsp;Mask:255.0.0.0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UP&nbsp;LOOPBACK&nbsp;RUNNING&nbsp;&nbsp;MTU:16436&nbsp;&nbsp;Metric:1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RX&nbsp;packets:0&nbsp;errors:0&nbsp;dropped:0&nbsp;overruns:0&nbsp;frame:0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TX&nbsp;packets:0&nbsp;errors:0&nbsp;dropped:0&nbsp;overruns:0&nbsp;carrier:0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;collisions:0&nbsp;txqueuelen:0<br /><br />#<br /><br /><br />抓到的数据包,会不会跟里面的数据长度有关啊:
mybao 发表于 2007-5-11 08:37 | 显示全部楼层

我也试过

select&nbsp;I/O&nbsp;base的配置引脚好像真的有问题,上拉电阻去掉、接上<br /><br />网络都能正常工作。<br /><br />反正都能工作,没有仔细研究
 楼主| computer00 发表于 2007-5-11 12:37 | 显示全部楼层

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

估计跟IP有关,也许它认为IP不对,所以没有返回?如果IP对上,应该还有echo请求和回复的,真是有点晕菜.下面这个图是用BIOS时,用windows&nbsp;ping开发板的返回结果,它有echo。<br /><br /><br />
 楼主| computer00 发表于 2007-5-11 18:35 | 显示全部楼层

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

但到那边就没有sniffer了,应该用什么软件抓包呢?<br /><br />TCP/IP我不清楚,呵呵.不过ping的时候,里面应该会用IP地址来比较吧?只有IP地址相等了,才会echo吧?如果IP不对,那就不会响应了。<br /><br />关于驱动,可能要花一段时间才能搞得清楚了,都没玩过。
 楼主| computer00 发表于 2007-5-11 22:59 | 显示全部楼层

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

现在一直还是在试用呢.不知道有没有期限?到时再说吧.既然可以上网,去搜个注册码或者注册机或者**版应该不难的,何况这个软件应该比较多人用呢。<br /><br /><br />谢谢gdtyy了,我已经给您发邮件过去拉,麻烦帮我发一下。&nbsp;前几天去图书馆抱了一摞<br />关于linux的书回来,光讲内存管理的那本就600多页,晕死,不过有书是好事,总比什么<br />资料都没强多了。但恐怕没多少时间来看拉,因为就要准备期末考试了,能看多少就看<br />多少吧,暑假再慢慢来,来日方长~~~~~~~~
 楼主| computer00 发表于 2007-5-12 12:01 | 显示全部楼层

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

#&nbsp;cat&nbsp;interrupts<br />&nbsp;&nbsp;3:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1460&nbsp;&nbsp;&nbsp;s3c44b0_uart_tx<br />&nbsp;&nbsp;7:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;151&nbsp;&nbsp;&nbsp;s3c44b0_uart_rx<br />&nbsp;&nbsp;8:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;19971&nbsp;&nbsp;&nbsp;timer<br />&nbsp;24:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;eth&nbsp;rx&nbsp;isr<br />Err:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0<br /><br /><br />其中eth&nbsp;rx&nbsp;isr是0,就表示没有产生中断吧?<br /><br />那也许应该就是中断初始化或者中断安装出了问题,或者是IO口设置出了问题吧,我再找找.
 楼主| computer00 发表于 2007-5-12 13:36 | 显示全部楼层

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

我又回到了BIOS中(原本这个BIOS应该是在ADS下的,我现在将它移植到了keil下,所以跟原本<br />的BIOS有些区别,改的时候有些地方漏掉了),将网口对应的IO口设置为中断输入,并设置<br />中断触发模式,然后重新烧入BIOS,再启动ucLinux,再ping,哈哈,终于通了~~~然后还可以<br />打开开发板中嵌入的网页了~~~~~~而再看中断,也对了~~~~<br /><br />#&nbsp;cat&nbsp;interrupts<br />&nbsp;&nbsp;3:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1128&nbsp;&nbsp;&nbsp;s3c44b0_uart_tx<br />&nbsp;&nbsp;7:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;105&nbsp;&nbsp;&nbsp;s3c44b0_uart_rx<br />&nbsp;&nbsp;8:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;115974&nbsp;&nbsp;&nbsp;timer<br />&nbsp;24:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;184&nbsp;&nbsp;&nbsp;eth&nbsp;rx&nbsp;isr<br />Err:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0<br />#<br /><br /><br />我原本以为这些初始化工作linux的启动代码会做,所以就没注意.&nbsp;看来我现在用的这个linux包<br />并未做这些工作,而是建立在BIOS的基础之上,认为BIOS已经将它们配置好了,故没有再去<br />初始化。上次串口也是这样的问题,BIOS中设置好了系统时钟和波特率寄存器,我为了使速度<br />更快点,就提高了系统时钟,当然也修改了波特率设置的寄存器,可启动linux后,串口就不通了,<br />晕死,后来才发现原来linux的初始化代码只配置了波特率寄存器,并且是根据以前的系统时钟<br />频率来配置的,结果当然就不对了.&nbsp;后来我只好将系统时钟调回,而没有去重新修改编译linux了。<br /><br />
您需要登录后才可以回帖 登录 | 注册

本版积分规则

247

主题

14712

帖子

212

粉丝
快速回复 在线客服 返回列表 返回顶部

247

主题

14712

帖子

212

粉丝
快速回复 在线客服 返回列表 返回顶部