關(guān)于dm9000的驅(qū)動(dòng)移植分為兩篇,第一篇在mini2440上實(shí)現(xiàn),基于linux2.6.29,也成功在在6410上移植了一遍,和2440非常類似,第二篇在fs4412(Cortex A9)上實(shí)現(xiàn),基于linux3.14.78,用設(shè)備樹匹配,移植過(guò)程中調(diào)試和整體理解很重要,一路上幸有良師益友指點(diǎn),下面詳細(xì)介紹:
1.物理時(shí)序分析相關(guān)
DM9000芯片是DAVICOM公司生產(chǎn)的一款以太網(wǎng)處理芯片,提供一個(gè)通用的處理器接口、一個(gè)10/100M自適應(yīng)的PHY芯片和4K雙字的SRAM.內(nèi)部框架如下,涉及到4個(gè)基本概念:
1、TCP/IP參考模型包含應(yīng)用層、傳輸層、網(wǎng)絡(luò)層和網(wǎng)絡(luò)接口層,其中的網(wǎng)絡(luò)接口層包含有數(shù)據(jù)鏈路層和網(wǎng)絡(luò)層;
2、MAC:網(wǎng)卡數(shù)據(jù)鏈路層的芯片成為MAC控制器,數(shù)據(jù)鏈路層則提供尋址機(jī)構(gòu)、數(shù)據(jù)幀的構(gòu)建、數(shù)據(jù)差錯(cuò)檢查、傳送控制、向網(wǎng)絡(luò)層提供標(biāo)準(zhǔn)的數(shù)據(jù)接口等功能;
3、PHY:網(wǎng)卡物理芯片,物理定義了數(shù)據(jù)傳送和接收所需的電和光信號(hào)、線路狀態(tài)、時(shí)鐘基準(zhǔn)、數(shù)據(jù)編碼和電路等,并向數(shù)據(jù)鏈路層設(shè)備提供標(biāo)準(zhǔn)接口;
4、MII:介質(zhì)無(wú)關(guān)接口,它是IEEE802.3定義的以太網(wǎng)行業(yè)標(biāo)準(zhǔn),包含一個(gè)數(shù)據(jù)接口,以及一個(gè)MAC和PHY之間的管理接口,數(shù)據(jù)接口包括分別用于發(fā)送器和接收器的兩條獨(dú)立通道,管理接口用來(lái)監(jiān)視和控制PHY,介質(zhì)無(wú)關(guān)表明不對(duì)MAC硬件重新設(shè)計(jì)或替換的情況下,任何類型的PHY設(shè)備都可以正常工作;
圖1 DM9000內(nèi)部結(jié)構(gòu)框架
圖2 DM9000讀時(shí)序
圖3 DM9000寫時(shí)序
延伸閱讀
學(xué)習(xí)是年輕人改變自己的最好方式