最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

飛騰CPU FT-2000/4 uboot下PHY調(diào)試記錄

2023-01-29 14:15 作者:烏拉大喵喵  | 我要投稿


原文在我公眾號(hào)上:

https://mp.weixin.qq.com/s/u-TtdPD9fOtlugJVGCUeaA


板子是FT-2000/4的開發(fā)板:


固件版本:

ft-2004c_u-boot-v2-Ver0.3_202112231001.tar.gz

ft2004c_v2.06_image_fix.rar


二、調(diào)試命令說明

調(diào)試PHY主要用到的命令是mii,先查看下可用的命令:


mii device,縮寫mii dev,查看網(wǎng)絡(luò)控制器mac。

mii device,縮寫mii dev,用來切換mac控制器。

mii info,用來掃描當(dāng)前網(wǎng)絡(luò)控制器mac下的phy有哪些。

mii read/write是用來讀寫寄存器的。

mii dump,用來顯示寄存器狀態(tài)值,其中addr是通過mii info掃描,確定其PHY地址后,填入的。

三、MII命令使用

3.1 mii dev查看網(wǎng)絡(luò)控制器

首先通過命令看看配置了幾個(gè)網(wǎng)絡(luò)控制器mac。因?yàn)镕T-2000/4內(nèi)有兩個(gè)網(wǎng)絡(luò)控制器,理論上應(yīng)該能看到2個(gè)mac。




FT2004C#mii dev

MII devices: 'ethernet0@2820c000' 'ethernet1@28210000'

Current device: 'ethernet0@2820c000'

能看出來是兩個(gè)mac控制器都在(ethernet0@2820c000、ethernet1@28210000),這個(gè)東西是哪里設(shè)置的呢?是uboot的設(shè)備樹里配置的,如果改過設(shè)備樹,比如注釋了ethernet1,那這里就只能看到一個(gè)ethernet0了。

設(shè)備樹位置:


3.2 mii info掃描PHY

飛騰板子上用了兩個(gè)AR8035的PHY芯片。



查看當(dāng)前mac下的phy有沒有:

FT2004C#mii dev

MII devices: 'ethernet0@2820c000' 'ethernet1@28210000'

Current device: 'ethernet0@2820c000'

可以看到當(dāng)前使用的是第1個(gè)mac控制器。

Mii info掃描:

FT2004C#mii info

PHY 0x04: OUI = 0x1374, Model = 0x07, Rev = 0x02,??10baseT, HDX

能夠在這個(gè)mac下掃到一個(gè)地址為0x04的PHY,這個(gè)地址是通過PHY的管腳來配出來的。在mii info下能掃到這么一個(gè)PHY,說明mac的MDIO是通的。要是這里硬件上設(shè)計(jì)了一個(gè)PHY,但是這里沒有掃到,那么就要去查硬件了,要是PHY都沒掃到,后面測網(wǎng)絡(luò)也白測。




切換mac后再看看其下面有沒有phy。

FT2004C#mii dev 'ethernet1@28210000'

上面命令是切換到第2個(gè)網(wǎng)絡(luò)控制器。

FT2004C#mii dev

MII devices: 'ethernet0@2820c000' 'ethernet1@28210000'

Current device: 'ethernet1@28210000'

可以看到,已經(jīng)切換到了第2個(gè)mac控制器。


FT2004C#mii info

PHY 0x04: OUI = 0x1374, Model = 0x07, Rev = 0x02,??10baseT, HDX

同樣,在這個(gè)mac下也看到了一個(gè)地址為0x04的PHY。


因?yàn)轱w騰的RGMII控制器是每個(gè)單獨(dú)的MDIO接口,所以可以將板上的兩個(gè)PHY地址設(shè)成一樣的。

有些芯片是多個(gè)MAC共用一個(gè)mdio,這種情況的話就需要將PHY的地址設(shè)成不同的了,可以簡單的把MDIO接口理解為IIC。


3.3 mii dump轉(zhuǎn)儲(chǔ)寄存器信息

現(xiàn)在把網(wǎng)線插到板子雙網(wǎng)絡(luò)的上面的網(wǎng)口,從電路上是對應(yīng)第一個(gè)mac下的phy網(wǎng)口。


查看'ethernet0@2820c000'下PHY的link狀態(tài)。

使用mii dump命令可以查看phy的0~5的6個(gè)寄存器(使用mii read命令不存在這個(gè)說法,所有寄存器都能看 )。因?yàn)槲覀兊腜HY地址是0x04,所以mii dump里的addr我們填0x04,reg部分我們從0填到5就能看全所有的寄存器了?,F(xiàn)在是插著網(wǎng)線的,所以可以看到“(0004:0004) 1. 2 ???=???? 1 ?? link status”表示link成功了,拔掉網(wǎng)線這里就=0了((0004:0000) 1. 2 ???=?????0??? link status)。這也同時(shí)印證了PHY的MDIO是通的。還是那句話,這里的PHY link狀態(tài)都讀不到,那就去查硬件看看吧。MDIO都沒通,不用著急去ping包。


FT2004C#mii dev 'ethernet0@2820c000'

FT2004C#mii dump 0x04 0

0.?????(1000)?????????????????-- PHY control register --

??(8000:0000) 0.15????=?????0????reset

??(4000:0000) 0.14????=?????0????loopback

??(2040:0000) 0. 6,13 =???b00????speed selection = 10 Mbps

??(1000:1000) 0.12????=?????1????A/N enable

??(0800:0000) 0.11????=?????0????power-down

??(0400:0000) 0.10????=?????0????isolate

??(0200:0000) 0. 9????=?????0????restart A/N

??(0100:0000) 0. 8????=?????0????duplex = half

??(0080:0000) 0. 7????=?????0????collision test enable

??(003f:0000) 0. 5- 0 =?????0????(reserved)



FT2004C#mii dump 0x04 1

1.?????(796d)?????????????????-- PHY status register --

??(8000:0000) 1.15????=?????0????100BASE-T4 able

??(4000:4000) 1.14????=?????1????100BASE-X??full duplex able

??(2000:2000) 1.13????=?????1????100BASE-X??half duplex able

??(1000:1000) 1.12????=?????1????10 Mbps????full duplex able

??(0800:0800) 1.11????=?????1????10 Mbps????half duplex able

??(0400:0000) 1.10????=?????0????100BASE-T2 full duplex able

??(0200:0000) 1. 9????=?????0????100BASE-T2 half duplex able

??(0100:0100) 1. 8????=?????1????extended status

??(0080:0000) 1. 7????=?????0????(reserved)

??(0040:0040) 1. 6????=?????1????MF preamble suppression

??(0020:0020) 1. 5????=?????1????A/N complete

??(0010:0000) 1. 4????=?????0????remote fault

??(0008:0008) 1. 3????=?????1????A/N able

??(0004:0004) 1. 2????=?????1????link status

??(0002:0000) 1. 1????=?????0????jabber detect

??(0001:0001) 1. 0????=?????1????extended capabilities



FT2004C#mii dump 0x04 2

2.?????(004d)?????????????????-- PHY ID 1 register --

??(ffff:004d) 2.15- 0 =????77????OUI portion



FT2004C#mii dump 0x04 3

3.?????(d072)?????????????????-- PHY ID 2 register --

??(fc00:d000) 3.15-10 =????52????OUI portion

??(03f0:0070) 3. 9- 4 =?????7????manufacturer part number

??(000f:0002) 3. 3- 0 =?????2????manufacturer rev. number



FT2004C#mii dump 0x04 4

4.?????(11e1)?????????????????-- Autonegotiation advertisement register --

??(8000:0000) 4.15????=?????0????next page able

??(4000:0000) 4.14????=?????0????(reserved)

??(2000:0000) 4.13????=?????0????remote fault

??(1000:1000) 4.12????=?????1????(reserved)

??(0800:0000) 4.11????=?????0????asymmetric pause

??(0400:0000) 4.10????=?????0????pause enable

??(0200:0000) 4. 9????=?????0????100BASE-T4 able

??(0100:0100) 4. 8????=?????1????100BASE-TX full duplex able

??(0080:0080) 4. 7????=?????1????100BASE-TX able

??(0040:0040) 4. 6????=?????1????10BASE-T???full duplex able

??(0020:0020) 4. 5????=?????1????10BASE-T???able

??(001f:0001) 4. 4- 0 =?????1????selector = IEEE 802.3



FT2004C#mii dump 0x04 5

5.?????(cde1)?????????????????-- Autonegotiation partner abilities register --

??(8000:8000) 5.15????=?????1????next page able

??(4000:4000) 5.14????=?????1????acknowledge

??(2000:0000) 5.13????=?????0????remote fault

??(1000:0000) 5.12????=?????0????(reserved)

??(0800:0800) 5.11????=?????1????asymmetric pause able

??(0400:0400) 5.10????=?????1????pause able

??(0200:0000) 5. 9????=?????0????100BASE-T4 able

??(0100:0100) 5. 8????=?????1????100BASE-X full duplex able

??(0080:0080) 5. 7????=?????1????100BASE-TX able

??(0040:0040) 5. 6????=?????1????10BASE-T full duplex able

??(0020:0020) 5. 5????=?????1????10BASE-T able

??(001f:0001) 5. 4- 0 =?????1????selector = IEEE 802.3


要是想看詳細(xì)的寄存器位描述,就查手冊就好了。



3.4 mii read write讀寫寄存器

我們來嘗試read、write一下。

mii read???? ? ? ? ? ? ??

mii write??

這里的可以填手冊里有的地址,AR8035有0x00~0x1F這么些寄存器。我們先使用read,看看讀上來的是啥。


FT2004C#mii read 0x04 0

1000


這里是把整個(gè)寄存器的16位都讀上來了,也就說我們要控制寄存器的某一位,需要自己在二進(jìn)制里配置好,轉(zhuǎn)換完再配進(jìn)去。

我們先看,這里讀上來的0x1000。這里需要注意的是,uboot顯示speed selection是bit6+bit13。所以要是看dump顯示和read的對應(yīng)關(guān)系,這里要注意一下。要是你直接從手冊寄存器表里去查,那就沒這個(gè)注意事項(xiàng)了。



當(dāng)然你也可以去讀其他的寄存器值,讀到后對應(yīng)手冊去查寄存器含義就好了。



我們write下試試,就操作speed selection寄存器吧,這個(gè)代表速度選擇用控制寄存器。修改speed為2'b10 = 1000Mbps。即寄存器0的值為0x1040。配置完再讀一下看,是配置進(jìn)去了。


MDIO這邊就這樣了。MDIO能操作是調(diào)網(wǎng)絡(luò)的基礎(chǔ)。


3.5 網(wǎng)絡(luò)測試ping

剩下就是ping測試了。

print一下環(huán)境變量,簡單的話就是默認(rèn)環(huán)境變量不動(dòng),改PC機(jī)那邊的,改成和環(huán)境變量中serverip一樣的。

改完后從uboot這邊去ping PC機(jī)就好了。


或者改uboot那邊的ipaddr、gatewayip、serverip,改成你想要的。之后通過PC去ping板子。


個(gè)人資料推廣:?

最近將多年來收集到的教學(xué)視頻、國內(nèi)外圖書、源碼等整理整合拿出來,

涉及 arm、Linux、python、信號(hào)完整性、FPGA、DSP、算法、stm32、

單片機(jī)、制圖、電子模塊、kali、出版社圖書等。

資料目前約 1.5TB+。初、中、高不同階段工程師,都能有提升自己的資料。?

分享,讓技術(shù)更偉大!歡迎轉(zhuǎn)發(fā)!?

歡迎飛騰愛好者加入微信交流群。

群內(nèi)大家可以暢所欲言。在群內(nèi)不需要表露自己的公司和身份,可以群內(nèi)交流遇到的問題,分享自己的調(diào)試心得。

希望大家共建飛騰友誼!


飛騰CPU FT-2000/4 uboot下PHY調(diào)試記錄的評論 (共 條)

分享到微博請遵守國家法律
廉江市| 鸡泽县| 元氏县| 镇沅| 天镇县| 蓬溪县| 耿马| 澄迈县| 禄丰县| 博湖县| 建阳市| 永仁县| 比如县| 屏东市| 新化县| 新郑市| 上饶县| 上犹县| 屏南县| 友谊县| 准格尔旗| 平定县| 屏东市| 临清市| 龙岩市| 河北区| 台南县| 新河县| 延安市| 大冶市| 穆棱市| 玛曲县| 天气| 龙川县| 常州市| 天祝| 常熟市| 瑞昌市| 永宁县| 桐梓县| 界首市|