从u-boot中动态读取网口mac地址

xyzxgs 2014-08-25 11:40:09
如何实现在U-BOOT 启动时 动态设置mac地址,在线跪求
...全文
887 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lbaihao 2014-11-05
  • 打赏
  • 举报
回复
根据芯片的chip id 随机生成 static void random_ether_addr(u8 *addr) { int i; unsigned long long rand; int t = 0; ulong tmp = 0; for(i=0; i<6; i++){ if(i==0) { tmp = get_chip_id_sid_rkey0(); } else if ((i==1)||(i==4)) { tmp = get_chip_id_sid_rkey1(); } else if ((i==2)) { tmp = get_chip_id_sid_rkey2(); } else { tmp = get_chip_id_sid_rkey3(); } rand = (tmp)* 0xfedf4fd; rand = rand * 0xd263f967 + 0xea6f22ad8235; addr[i] = (uchar)(rand % 0x100); } addr[0] &= 0xfe; addr[0] |= 0x02; }
小陆zi 2014-09-09
  • 打赏
  • 举报
回复
ethaddr只好写一次,在uboot代码里。动态生成的意思是自己随机生成?
voice_shen 2014-09-03
  • 打赏
  • 举报
回复
改写代码,然后随机生成。
码到功成 2014-08-28
  • 打赏
  • 举报
回复
uboot里不是有个变量时ehtaddr, 吗?这不是你手动配置的嘛?
李迟 2014-08-25
  • 打赏
  • 举报
回复
引用 2 楼 xyzxgs 的回复:
就是在运行时在u-boot命令行中设置  不是写在u-boot的代码里
参考uboot命令格式,自己写一个设置mac的命令,规则自己编写。比如前面3个字节固定是某几个字母,后面按时间生成,等等。
xyzxgs 2014-08-25
  • 打赏
  • 举报
回复
就是在运行时在u-boot命令行中设置  不是写在u-boot的代码里
李迟 2014-08-25
  • 打赏
  • 举报
回复
楼主指的“动态”是什么? 可以试试自己编一套规则。

1,319

社区成员

发帖
与我相关
我的任务
社区描述
主要是开发驱动技术
社区管理员
  • 驱动程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧