标题:
LWIP的移植
[打印本页]
作者:
wangzhihai
时间:
2008-8-29 10:57
标题:
LWIP的移植
小弟目前正在研究NiosII上的以太网传输,我使用的硬件平台是DE2开发板,板上使用DM9000A网卡,altera公司随开发板给出了DM9000A网卡的verilog接口逻辑(随后附上)。
我在sopc builder上建立了一个硬件系统,系统上添加了DM9000的接口逻辑组件,硬件编译通过后生成了硬件系统文件。
随后我在IDE上已刚建立的硬件系统为目标,建立C/C++应用工程,在应用工程上加载了uc/osII操作系统,随后我在system library选项中添加LWIP,但是却添加不上,错误提示是:There is no compatible ethernet MAC in your design.
我查了很多资料,也搞不清楚问题是出在DM9000的接口逻辑组件的设计上?还是因为没有将DM9000的网络驱动程序上集成到HAL中?
是先添加LWIP协议,再编写网络驱动吗?
不支持MAC到底是什么意思?
请各位大哥指点!!!非常感谢!!!
module DM9000A_IF( // HOST Side
iDATA,
oDATA,
iCMD,
iRD_N,
iWR_N,
iCS_N,
iRST_N,
iCLK,
iOSC_50,
oINT,
// DM9000A Side
ENET_DATA,
ENET_CMD,
ENET_RD_N,
ENET_WR_N,
ENET_CS_N,
ENET_RST_N,
ENET_INT,
ENET_CLK );
// HOST Side
input [15:0] iDATA;
input iCMD;
input iRD_N;
input iWR_N;
input iCS_N;
input iRST_N;
input iCLK;
input iOSC_50;
output [15:0] oDATA;
output oINT;
// DM9000A Side
inout [15:0] ENET_DATA;
output ENET_CMD;
output ENET_RD_N;
output ENET_WR_N;
output ENET_CS_N;
output ENET_RST_N;
output ENET_CLK;
input ENET_INT;
reg [15:0] TMP_DATA;
reg ENET_CMD;
reg ENET_RD_N;
reg ENET_WR_N;
reg ENET_CS_N;
reg ENET_CLK;
reg [15:0] oDATA;
reg oINT;
assign ENET_DATA = ENET_WR_N ? 16'hzzzz : TMP_DATA;
always@(posedge iCLK or negedge iRST_N)
begin
if(!iRST_N)
begin
TMP_DATA <= 0;
ENET_CMD <= 0;
ENET_RD_N <= 1;
ENET_WR_N <= 1;
ENET_CS_N <= 1;
oDATA <= 0;
oINT <= 0;
end
else
begin
oDATA <= ENET_DATA;
oINT <= ENET_INT;
TMP_DATA <= iDATA;
ENET_CMD <= iCMD;
ENET_CS_N <= iCS_N;
ENET_RD_N <= iRD_N;
ENET_WR_N <= iWR_N;
end
end
always@(posedge iOSC_50)
ENET_CLK <= ~ENET_CLK;
assign ENET_RST_N = iRST_N;
endmodule
作者:
caopengly
时间:
2008-8-29 14:01
Mac是数据链路层的上面部分,下面是phy,一般添加了91c111或者dm9111就是这样的mac支持ip。
之所以报这样的错误我觉得有可能是楼主设置的问题。
作者:
wangzhihai
时间:
2008-8-29 14:19
您的意思是说与DM9000A的驱动程序无关,应该是先配置LWIP,再编写网络驱动程序吗?
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0