现象1:如下图,调试模式期间,观察EMAC Module寄存器组中从地址0xFCF78500开始到地址0xFCF7867C这个范围内所有寄存器,都显示的是不能读取寄存器的值
现象2:如下图,MACADDRLO地址偏移量是0x500,MACADDRHI地址偏移量是0x504,这两个寄存器都位于现象1中的地址范围内,但MACADDRLO赋值的数据能在程序中用变量i读出,此数据和希望配置的是一致的,而MACADDRHI配置的数据无论配置为多少,读出的都是零
现象3:(1)下图是我给MACADDRLO和MACADDRHI打算配置的MAC地址值,第二行是我屏蔽了的配置值,如果我配置第一行,然后拿另外一个板子给LC4357发送数据,发送的目标地址就是未屏蔽的这行地址,
则LC4357报告接收到的地址和本机MAC地址不匹配,所有收到的数据全部抛弃,在EMAC Module寄存器组中的统计寄存器分组中的RXFILTERED寄存器会同步刷新显示被过滤的数据帧数量;MACADDRHI配置的都是非零值,但系统初始化过程中读取MACADDRHI时显示的是全部为零;MACADDRLO配置的数据在读取后显示是一致的。
(2)如果我采用第二行MAC地址,即LC4357的MAC地址的高32位都配置为0,低16位配置为x51和0xBC,然后另一个板子按此MAC地址给LC4357发送数据,则LC4357报告接收成功,接收到的MAC地址和本机MAC地址匹配成功,所有接收到的数据都进入了接收缓存
对于现象3比较费解,因为如果按第一行MAC地址来配置LC4357的MACADDRLO和MACADDRHI,发送端按此地址给LC4357发数据,结果是LC4357报告MAC地址不匹配,如果按第二个数组来配置,则就成功了,似乎表明LC4357的MAC地址的高32位只能配置成全零。
以上是LC4357网口这块的一些疑问。