nios核的网卡驱动调试成功!

  原来编译的时候老提示: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 %30s/n", "#define $offset_keyword", 0);

my $width_keyword = "LAN91C111_DATA_BUS_WIDTH";
my $width = $module->getWSAConstant ($width_keyword);
printf ("%-41s %30s/n", "#define $width_keyword", 16);

print "/n";
}

sub run {
freedev_lan91c111->run2 (@_);
}

1;

编译通过!而且执行ping命令,ok。当然是针对自由电子的freedev_lan91c111,如果是其他类型的板,请根据具体修改。

你可能感兴趣的:(c,Module,System,Class)