有电子工程师在使用myd-y6ulx开发板产品开发过程中发现每次启动后板子的以太网的mac地址都不一样提出疑问,以及不知道mac地址如何烧录固定提出疑问.
原因是系统没有烧录mac地址,mac是linux随机产生的。这需要用户自行购买mac,烧录到fuse里面 ,如果设置出错,会修改启动方式造成无法启动,而且fuse寄存器只能写入一次。我们没有测试mac写入,可以参考其他工程师遇到的类似情况及解决方法:
《在imx6中将精确的mac地址刻录到efuse》
“echo”命令通过sysfs将mac地址写入hw_ocotp_mac0。但mac地址是48位,但每个保险丝块是32位。并且所有示例都是“echo 0x10234567> / sys / fsl_otp / hw_ocotp_mac0”,找不到48位版本。那么单独的mac地址是两部分,第一部分(即第一部分16 比特)烧录到hw_ocotp_mac0,其余部分烧录到hw_ocotp_mac 1?
基于以上问题,nxp官方给出这样的回复:对于mac addr上的48位,有两个mac寄存器:hw_ocotp_mac0和hw_ocotp_mac1:
hw_ocotp_mac1 =(((mac_data [0]&0xff)<< 8)|(mac_data [1]&0xff));
hw_ocotp_mac0 =(((mac_data [2]&0xff)<< 24)|((mac_data [3]&0xff)<< 16)|((mac_data [4]&0xff)<< 8)|(mac_data [5] &0xff));
注意:fuse寄存器地址写错会影响板子的启动,fuse不能重复写入。
好消息,米尔推出st新品啦,相比i.mx6ul系列更具优势,欢迎点击了解高性价比myc-ya157c核心板及开发板