在uboot中给网口分配mac地址

2023-10-31 10:50| 发布者: 十七十七| 查看: 218| 评论: 0

类目: 知识库  >  I.MX6系列产品     文档编号: 1182

在board/freescale/mx6sabresd/mx6sabresd.c中,添加如下代码,下面代码通过md5计算出一个位mac地址,分配给网口
void generate_mac_by_uuid(void)
{
        u32 inbuf[2];
        u8 outbuf[16];
        char mac[24];
        memset(mac, sizeof(mac), 0);
        /*
                read uuid for mac
         */
        fuse_read(0,1,inbuf);
        fuse_read(0,2,inbuf + 1);
md5((u8 *) inbuf, (2 * sizeof(u32)), outbuf);
        outbuf[0] &= 0xFE;
        outbuf[0] |= 0x02;

        sprintf(mac, "%02X:%02X:%02X:%02X:%02X:%02X", outbuf[0], outbuf[1], outbuf[2], outbuf[3], outbuf[4], outbuf[5]);
        setenv("ethaddr", mac);
        setenv("fec_mac", mac);
        saveenv();

}

已解决

未解决

只是看看

最新评论