U-Boot中MAC地址设置及往内核中传递.docVIP

  • 31
  • 0
  • 约 3页
  • 2017-06-08 发布于重庆
  • 举报
U-Boot中MAC地址设置及往内核中传递

作者: 哈泉新 一、内核参数的传递 U-Boot向Linux驱动传递参数的方式有两种,一为在系统启动的时候由bootloader传入,还有一种是将驱动编译成模块,将参数作为模块加载的参数传入。 内核通过setup接口接受Bootloader传入的参数。方式如下: static int __init param_mac_setup char *str …… __setup “mac ”, param_mac_setup ; 这样,当在Bootloader中指定“mac 00:2E:79:38:6D:4E”,系统在加载这个模块的时候,就会执行相应的param_mac_setup 函数,而传入给它的参数就是等号后面的物理地址“00:2E:79:38:6D:4E”。这样,该函数就可以对它进行相应的处理。 在U-Boot中,默认设置mac地址的参数为ethaddr,我们可以用过setenv ethaddr Mac地址来设置开发板的mac地址。 二、bootm传递参数的方式 在bootm执行的流程图中,可以看到会调用do_bootm_linux 在执行Linux内核,内核的起始地址如下: void *theKernel int zero, int arch, uint params ; image_header_t *hdr header; theKernel void *

文档评论(0)

1亿VIP精品文档

相关文档