TIDM368 MAC地址如何更新?

本文介绍如何在TIDM368 SoC芯片中配置MAC地址,包括通过i2c-emac驱动从EEPROM读取MAC地址的方法及使用i2crw.out工具手动设置MAC地址的过程。


设计目标:
生产上将MAC地址写入EEPROM中,然后在bootup时从EEPROM中读出MAC地址。

分析:
TIDM368 SoC chip,已内嵌Ethernet Media Access Controller (EMAC)。
insmod /opt/ipnc/modules/i2c-emac.ko cmdline="`cat /proc/cmdline`"
这一句是安装网卡驱动,MAC地址来源于cmdline,就是uboot输入的启动参数。TIDM368提供了这个driver,并且不开放给SDK user修改。
cat /proc/cmdline
mem=160M console=ttyS1,115200n8 root=/dev/ram0 rw initrd=0x82000000,16M ip=dhcp eth=00:D0:23:0F:FF:3F
TIDM368 SDK提供了一个i2crw.out工具,逐个字节写入:
# ./i2crw.out -w 0xA8 0x04 11 1
 I2C: 0x04 = 0x11
# ./i2crw.out -w 0xA8 0x05 22 1
 I2C: 0x05 = 0x22
# ./i2crw.out -r 0xA8 0x04 6 1
 I2C: 0x04 = 0x11
 I2C: 0x05 = 0x22
 I2C: 0x06 = 0x33
 I2C: 0x07 = 0x33
 I2C: 0x08 = 0x22
 I2C: 0x09 = 0x11
本打算直接就用这个工具,但print出来的消息不容易处理。于是,直接在code上面修改,然后用
        sprintf(cmd,"ifconfig eth0 hw ether %2x:%2x:%2x:%2x:%2x:%2x"
            ,regValue8[0],regValue8[1],regValue8[2],regValue8[3],regValue8[4],regValue8[5]);
        system(cmd);
进行调用,重配eth0的MAC地址。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

草根大哥

进军大神程序员路上,谢谢支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值