引用: 引用 5 楼 xilidecai 的回复:
从你的打印信息看,是执行了Driver/CS8900目录下的CS8900.C文件中的
if (CSInit() == FALSE)
? ? {
? ? RETAILMSG(1, (TEXT("CS8900:CSInit failure!!\r\n")));
return FALSE;
? ? ? ? ? ? }
? ? ? ? ? ?
return TRUE;
代码。
往上推,在int CSInit()函数中,CS8900Init函数先对全局变量g_pCS8900赋值,接着检测CS8900以太网控制器芯片是否在目标平台上真是存在。接下来,函数执行两个步骤:
1.等待CS8900芯片软件复位后完成芯片的初始化
2.等待CS8900芯片外置用于存放初始化配置信息的EEPROM存储器可被访问。
忘了说一点,你的KITL启动没有?
我的打印信息是
+CS8900:DriverEntry
InitEthDevice Port ok.
Signature Error e3a0
Eisa Number Error 1000
CS8900:CSInit failure!!
而在CS8900.C文件中
int CSInit()
{
// Find CS8900 chip.
if (findCS() == FALSE)
return FALSE;
DEBUGMSG(1, (TEXT("Find CS8900 OK\r\n")));
/* Reset CS8900 chip. */
if (resetCS() == FALSE)
return FALSE;
DEBUGMSG(1, (TEXT("reset CS8900 OK\r\n")));
/* Initialize CS8900 chip. */
if (initCS() == FALSE)
return FALSE;
DEBUGMSG(1, (TEXT("CS8900 init OK\r\n")));
return TRUE;
}
那就是我的cs8900的芯片是没有找到。。。
怎么会这样呢?
我用的是在没有问题的bsp包拷贝过来的cs8900驱动,开发板也成功跑人家的系统且带成功驱动了cs8900的。
还有xilidecai兄,你的“KITL启动没有”是指setting->build option中的ENABLE KITL这项是否有选么?
这一项我是没有选的呀,我听人家说kitl好像会跟cs8900冲突呢~所以没有选上。