音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

為啥我的RTL8019AS芯片的BD0,BD1(85,84腳)隨便接工作照樣正常啊?

作者:computer00 欄目:ARM技術(shù)
為啥我的RTL8019AS芯片的BD0,BD1(85,84腳)隨便接工作照樣正常啊?
它們是SELECT I/O base用的.熟悉這個芯片的朋友給說說,是怎么回事呀?懶得去datasheet里面去找了,太長了~~~

2樓: >>參與討論
zhenglixin
re:
圈圈太懶啦,打PP哈

3樓: >>參與討論
computer00
反正都能用了,我懶得去細(xì)讀了呀
就隨便看了看,知道它是選擇I/O基地址的,并且在復(fù)位時讀入. 可是不管我怎么接,它都可以工作正常,暈,那還要它干啥......

要是沒人回答,那也只要硬著頭皮慢慢讀了......

4樓: >>參與討論
gdtyy
8019AS.html">RTL8019AS有3種工作方式:
第一種為跳線方式,網(wǎng)卡的i/o和中斷由跳線決定
第二種為即插即用方式,由軟件進(jìn)行自動配置plug and play
第三種為免跳線方式,網(wǎng)卡的i/o和中斷由外接的93C46.html">93C46里的內(nèi)容決定。

    當(dāng)65腳JP為低電平或懸空(內(nèi)部接有100K下拉電阻)時,網(wǎng)卡工作在第2,3種工作方式,需要使用93C46.html">93C46芯片。網(wǎng)卡的I/O基址和中斷由93C46內(nèi)容決定.

    把65腳JP拉高,就選擇了跳線模式,此時,網(wǎng)卡的I/O基址和中斷由64,65,78,79,80,81,82,84,85等引腳配置決定。

引腳85,84,82,81(IOS3-IOS0)決定I/O基址,如下圖所示:


引腳80,79,78(IRQS2..IRQS0)決定中斷源,如下圖所示:


    本來I/O基址和中斷純粹是ISA總線的要求,我們用ARM7接8019就不用這樣分配地址空間和中斷源,但是,8019只認(rèn)ISA的分配,所以我們模擬一個類似的地址分配欺騙8019,此時需要把我們的地址空間映射到8019地址空間上去。8019里面的地址比較器會比較ARM7發(fā)來的地址和引腳配置的地址,相同的話就輸出片選使能。8019的中斷從跳線選擇的中斷引腳輸出,把ARM7的中斷輸入引腳接上對應(yīng)的8019中斷引腳即可,高電平有效。
    
    你是否選擇了跳線模式(65腳JP拉高)?
    可能85、84直接接地了,不論你接什么電平都被拉低,你把管腳撬起來試試,那樣的話隨便接肯定不能正常工作。
    
    www.armecos.com自助商城有51+8019資料銷售。

* - 本貼最后修改時間:2007-5-10 18:26:25 修改者:gdtyy

5樓: >>參與討論
computer00
恩,謝謝樓上的朋友, 我的65腳(JP)是懸空的,
并且電路板上沒有插9346芯片,應(yīng)該是工作在即插即用模式了. 照這么說,就是由程序來決定IO基地址了?或者是芯片中這個寄存器的默認(rèn)值(因為我沒裝9346). 而復(fù)位值應(yīng)該為0,所以實(shí)際的基地址為0x300? 而我的電路板上,A8,A9是接高的,其它接低,所以基地址應(yīng)該是0x300的,因此我的程序剛好可以訪問這個網(wǎng)卡?那么這個時候的I/O基地址選擇這幾根引腳就是沒用的了,所以接哪都無所謂了?


不知道我這樣理解是否正確?


現(xiàn)在還有個問題就是,我在這個BIOS下可以通過網(wǎng)線下載,但是啟動linux之后,就無法ping通了,而這個linux跟這個BIOS是配套的(網(wǎng)上下載的,我還沒仔細(xì)去研究),既然BIOS可以用,怎么到了linux下就不行了呢?有點(diǎn)暈......

6樓: >>參與討論
gdtyy
Linux會重新配置網(wǎng)卡,與BIOS無關(guān)。
不管是不是配套的,他們其實(shí)是兩種程序,互相之間沒有內(nèi)在聯(lián)系。
例如:redboot和ecos用的是如同一個HAL,但互相之間沒有調(diào)用關(guān)系,各自用各自的網(wǎng)卡驅(qū)動,而且BIOS中一般不用中斷模式。
VxWorks和bootrom也是同一個配置,但他們之間也沒有內(nèi)在關(guān)系,只不過是引導(dǎo)一下,然后把控制權(quán)交給OS。估計是你的Linux網(wǎng)卡驅(qū)動不正確;蛑鳳ING回應(yīng)沒使能(出于安全目的)。

如果JP懸空,可能就象你說的那樣。

* - 本貼最后修改時間:2007-5-10 18:37:36 修改者:gdtyy

7樓: >>參與討論
computer00
是的,linux是可以重新配置網(wǎng)卡,
但問題是這個BIOS和這個linux是配套的,即都是在同一個硬件上跑的.既然BIOS上的網(wǎng)絡(luò)可以,為什么linux下的不行呢?程序是從網(wǎng)上下載的,開發(fā)板也基本上一樣,并且他們提供的linux應(yīng)該是在他們的開發(fā)板上可以上網(wǎng)的.而現(xiàn)在BIOS中的網(wǎng)絡(luò)可以在我的開發(fā)板上連通了,但是啟動linux后,就不能ping通了。我想BIOS中的網(wǎng)卡配置跟linux下的配置應(yīng)該是一樣的,因為都是針對同一個硬件.所以我才懷疑是不是那幾個I/O基地址連接的問題. 也許我要仔細(xì)看看linux的源碼才知道是怎么回事了,不過我對linux還不熟,估計會很頭暈了........

8樓: >>參與討論
XWJ
嵌入式應(yīng)用一般用跳線方式(65腳上拉),這樣考慮起來最簡單:-)
 
9樓: >>參與討論
XWJ
當(dāng)然,默認(rèn)方式可以用軟件去配置地址,但是麻煩些哦
 
10樓: >>參與討論
gdtyy
我猜是中斷問題,
    因為BIOS一般不用中斷,都采用輪詢模式,這樣穩(wěn)定簡單。而OS考慮到效率一般都基于中斷模式工作,所以,檢查你的中斷跳線是否連接上了(如果有的話),中斷號是不是不一樣,I/O地址是否不同。由于都是基于同樣的體系架構(gòu),都是使用8019,所以,如果提供者確保在他的板子上能正常工作,那你只要關(guān)心硬件平臺細(xì)節(jié)上的差異即可,不必全看一遍。還有要確保你的網(wǎng)卡已經(jīng)啟動了(用ifconfig查看)!/proc/interrupts”和“/proc/stat”中可以查看中斷情況,看看是否發(fā)生了期望的網(wǎng)卡中斷。
    
    還可以用sniffer抓包看看是否有包在傳輸。
    
    BIOS正常工作只能說明網(wǎng)絡(luò)硬件正確,BIOS和OS不一定完全基于相同的設(shè)計,工作模式也不一定相同,所以要分開來各自單獨(dú)調(diào)試。

11樓: >>參與討論
computer00
恩,估計是中斷的問題,我檢查過硬件連接,中斷連接是一樣的
使用sniffer抓包,有看到響應(yīng)的數(shù)據(jù)包,但是就是linux沒有收到,估計是中斷信號沒有收到? linux應(yīng)該會自己初始化中斷吧?我在BIOS中是將所有中斷源都關(guān)了的.在“/proc/interrupts”和“/proc/stat”中查看中斷狀態(tài),我不會查,呵呵,interrupts里面有些文件,但是stat怎么打開,我就不清楚了。


ifconfig返回的數(shù)據(jù)

# 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

#


抓到的數(shù)據(jù)包,會不會跟里面的數(shù)據(jù)長度有關(guān)啊:

12樓: >>參與討論
gdtyy
可能與長度有關(guān),
    如果有響應(yīng),那中斷可能沒問題。
    以太網(wǎng)上發(fā)送數(shù)據(jù)包長度最小為60字節(jié)(不夠的補(bǔ)0),最大1514字節(jié),可能協(xié)議棧認(rèn)為小于60字節(jié)的包是錯誤的,全拋了,所以你收不到回應(yīng)。
    用cat /proc/stat查看。

13樓: >>參與討論
mybao
我也試過
SELECT I/O base的配置引腳好像真的有問題,上拉電阻去掉、接上

網(wǎng)絡(luò)都能正常工作。

反正都能工作,沒有仔細(xì)研究

14樓: >>參與討論
computer00
但是那個響應(yīng)是windows發(fā)出的呀,應(yīng)該沒錯才是
估計跟IP有關(guān),也許它認(rèn)為IP不對,所以沒有返回?如果IP對上,應(yīng)該還有echo請求和回復(fù)的,真是有點(diǎn)暈菜.下面這個圖是用BIOS時,用windows ping開發(fā)板的返回結(jié)果,它有echo。




15樓: >>參與討論
gdtyy
還沒到IP層呢,
    只涉及ARP,看樣子你的板子發(fā)出了60字節(jié)的ARP包,收到PC機(jī)42字節(jié)的回應(yīng),但是沒有起作用。是不是你的板子(指Linux系統(tǒng))把小于60字節(jié)的包都拋了?可能你的驅(qū)動里有檢查是否小于60字節(jié)的部分,去掉可能就好了。

* - 本貼最后修改時間:2007-5-11 16:28:22 修改者:gdtyy

16樓: >>參與討論
computer00
也有可能. 我再到linux下去ping試試,或許那邊的包就長了
但到那邊就沒有sniffer了,應(yīng)該用什么軟件抓包呢?

TCP/IP我不清楚,呵呵.不過ping的時候,里面應(yīng)該會用IP地址來比較吧?只有IP地址相等了,才會echo吧?如果IP不對,那就不會響應(yīng)了。

關(guān)于驅(qū)動,可能要花一段時間才能搞得清楚了,都沒玩過。

17樓: >>參與討論
gdtyy
那你再試試吧,
    我也猜不出什么原因,也許只是一個小問題,說不定的。
    你的第一張sniffer抓包圖好象還沒到ICMP階段,所以我才說與IP無關(guān)。
    驅(qū)動可以在現(xiàn)有的基礎(chǔ)上改,不必從頭開始。
    
    我有幾篇關(guān)于ARP、ICMP、NE2000驅(qū)動的文檔,可能對你有幫助(省得看很厚的書了),想要的話就來信索取asdjf@163.com 。

18樓: >>參與討論
mybao
oo
圈圈能不能給個ultra network sniffer的 注冊碼

19樓: >>參與討論
computer00
呵呵,我也還沒搞到注冊碼,就是昨天晚上臨時去搜了這個軟件裝了
現(xiàn)在一直還是在試用呢.不知道有沒有期限?到時再說吧.既然可以上網(wǎng),去搜個注冊碼或者注冊機(jī)或者破解版應(yīng)該不難的,何況這個軟件應(yīng)該比較多人用呢。


謝謝gdtyy了,我已經(jīng)給您發(fā)郵件過去拉,麻煩幫我發(fā)一下。 前幾天去圖書館抱了一摞
關(guān)于linux的書回來,光講內(nèi)存管理的那本就600多頁,暈死,不過有書是好事,總比什么
資料都沒強(qiáng)多了。但恐怕沒多少時間來看拉,因為就要準(zhǔn)備期末考試了,能看多少就看
多少吧,暑假再慢慢來,來日方長~~~~~~~~

20樓: >>參與討論
computer00
應(yīng)該是中斷的原因,收不到數(shù)據(jù),沒有產(chǎn)生接收中斷請求
# 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,就表示沒有產(chǎn)生中斷吧?

那也許應(yīng)該就是中斷初始化或者中斷安裝出了問題,或者是IO口設(shè)置出了問題吧,我再找找.

21樓: >>參與討論
computer00
哈哈~~~終于搞定了,果然是中斷的問題,特別感謝gdtyy的幫忙~~~
我又回到了BIOS中(原本這個BIOS應(yīng)該是在ADS下的,我現(xiàn)在將它移植到了keil下,所以跟原本
的BIOS有些區(qū)別,改的時候有些地方漏掉了),將網(wǎng)口對應(yīng)的IO口設(shè)置為中斷輸入,并設(shè)置
中斷觸發(fā)模式,然后重新燒入BIOS,再啟動ucLinux,再ping,哈哈,終于通了~~~然后還可以
打開開發(fā)板中嵌入的網(wǎng)頁了~~~~~~而再看中斷,也對了~~~~

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


我原本以為這些初始化工作linux的啟動代碼會做,所以就沒注意. 看來我現(xiàn)在用的這個linux包
并未做這些工作,而是建立在BIOS的基礎(chǔ)之上,認(rèn)為BIOS已經(jīng)將它們配置好了,故沒有再去
初始化。上次串口也是這樣的問題,BIOS中設(shè)置好了系統(tǒng)時鐘和波特率寄存器,我為了使速度
更快點(diǎn),就提高了系統(tǒng)時鐘,當(dāng)然也修改了波特率設(shè)置的寄存器,可啟動linux后,串口就不通了,
暈死,后來才發(fā)現(xiàn)原來linux的初始化代碼只配置了波特率寄存器,并且是根據(jù)以前的系統(tǒng)時鐘
頻率來配置的,結(jié)果當(dāng)然就不對了. 后來我只好將系統(tǒng)時鐘調(diào)回,而沒有去重新修改編譯linux了。



參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
AT91RM芯片熱銷
AT91RM芯片獨(dú)立熱銷
基于ARM,LINUX下程序開發(fā)的問題.
哪位大蝦用過數(shù)字電位器,給介紹幾個型號,要求性能優(yōu)良
關(guān)于中斷的問題,沒人知道嗎?
免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號