被强塞过来一个复旦微SOC平台的板子让我调试,没办法只能搞起来。复旦微的SDK非常麻烦,要安装各种工具。主要是烧片的时候,需要用到他们的PROCISE软件,不能用以前飞腾,NXP的搞法,用烧录器烧写芯片。其实他们原理都一样,就是一个头部+uboot启动。
制作烧录文件,依赖于FSBL.out和uboot(这里的uboot是elf格式,不是bin格式)
只是烧写,这里很简单
RGMII网口下面使用YT8521的物理层芯片,网口驱动为新思科技模块designware.c,此驱动在飞腾FT2004上一样使用。
在网口驱动初始化过程中,发现PHY芯片的寄存器读到的都是全ffff,用示波器抓取波形,PHY芯片居然反馈正常
但是mido读取接口,返回一直为全ffff
dw_mdio_read, miiaddr = 0x880, addr = 1, data = 0xffff , &miidata = 0xe0047014
dw_mdio_read, miiaddr = 0x8c0, addr = 1, data = 0xffff , &miidata = 0xe0047014
dw_mdio_read, miiaddr = 0x880, addr = 1, data = 0xffff , &miidata = 0xe0047014
dw_mdio_read, miiaddr = 0x8c0, addr = 1, data = 0xffff , &miidata = 0xe0047014
dw_mdio_read, miiaddr = 0x880, addr = 1, data = 0xffff , &miidata = 0xe0047014
dw_mdio_read, miiaddr = 0x8c0, addr = 1, data = 0xffff , &miidata = 0xe0047014
dw_mdio_read, miiaddr = 0x880, addr = 1, data = 0xffff , &miidata = 0xe0047014
dw_mdio_read, miiaddr = 0x8c0, addr = 1, data = 0xffff , &miidata = 0xe0047014
dw_mdio_read, miiaddr = 0x880, addr = 1, data = 0xffff , &miidata = 0xe0047014
dw_mdio_read, miiaddr = 0x8c0, addr = 1, data = 0xffff , &miidata = 0xe0047014
示波器发现MDC/MDIO的电压为1.8V。在配置MIO的时候,设置的是3.3V,修改MIO52、MIO53寄存器后
重新烧录后,在单板运行读取PHY寄存器正常
fmsh> mii dump 1 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)
fmsh> mii info 1
PHY 0x01: OUI = 0x0000, Model = 0x11, Rev = 0x0A, 100baseT, FDX
fmsh> mii read 1 2
0000
fmsh>
不过目前网口还不通,还要继续定位
fmsh> ping 10.8.8.114
yt8521S_startup, phy addr: 1, link down
ethernet@e0047000: No link.
ping failed; host 10.8.8.114 is not alive
fmsh> ping 10.8.8.114
yt8521S_startup, phy addr: 1, link up, media: UTP, mii reg 0x11 = 0xbc00
Speed: 1000, full duplex
Using ethernet@e0047000 device
ARP Retry count exceeded; starting again
ping failed; host 10.8.8.114 is not alive
有需要调板的朋友,可以私下找我。