原来编译的时候老提示:na_ethe地址未定义等问题,仔细跟踪在include/nios2_system.h,而这个文件由系统编译生成。
参考C:/altera/kits/nios2_60/bin/eclipse/plugins/com.microtronix.nios2linux.kernel_1.4.0/linux-2.6.x/arch/nios2nommu/scripts/nios2_system.h下的文件,编写了freedev_lan91c111.pm
下面是我写的freedev_lan91c111.pm文件:
package freedev_lan91c111;
require PTF::SystemPTF;require PTF::SystemPTF::Module;use base qw(BasicModule);use strict;
sub required_module_names {"enet"}
sub required_class_name {"freedev_lan91c111"}
sub translate {my $class = shift;my ($system, $required_module_name, $module_name) = @_;$class->SUPER::translate (@_);
my $module = $system->getModule ($module_name);
my $offset_keyword = "LAN91C111_REGISTERS_OFFSET";my $offset = $module->getWSAConstant ($offset_keyword);printf ("%-41s 0s/n", "#define $offset_keyword", 0);
my $width_keyword = "LAN91C111_DATA_BUS_WIDTH";my $width = $module->getWSAConstant ($width_keyword);printf ("%-41s 0s/n", "#define $width_keyword", 16);
print "/n";}
sub run {freedev_lan91c111->run2 (@_);}
1;
编译通过!而且执行ping命令,ok。当然是针对自由电子的freedev_lan91c111,如果是其他类型的板,请根据具体修改。