手册上写的IEEE 802.3标准指定了一个寄存器集合,用来控制和集中PHY的状态。 这些寄存器被共同称为MII管理寄存器,在IEEE 802.3规范的22.2.4节中对它们进行了详细描述。表 17-2 在 427页也列出了这些 MII管理寄存器。
所有给出的地址都是绝对的,并可直接写入
MACMCTL寄存器的REGADR域。
驱动库函数有EthernetPHYWrite()
是否可用
EthernetPHYWrite(ETH_BASE,0x00002000,0x00002000); 来配置?
hw_ethernet.h中有定义
#define PHY_MR0 0x00000000 // Ethernet PHY Management Register 0 - Control
#define PHY_MR0_SPEEDSL 0x00002000 // Speed Select.
但这里如果是绝对地址,难道是通过
hwreg(PHY_MR0 +PHY_MR0_SPEEDSL ) = uldata 来写入该寄存器?
群星驱动库函数里
EthernetPHYWrite() 中一开始就检查参数 ASSERT(ulBase == ETH_BASE);
似乎也不正确。
此帖出自
小平头技术问答
一周热门 更多>