wince 烧写中giveio.inf与giveio.sys驱动安装错误分析

wxcwf 2007-07-18 09:14:50
我用的是杭州高联dm 2410b+arm9开发实验平台,在开机检测中遇到一个麻烦,顺利解决后觉得有必要写下,与大家分享。
在开机前,有一步是安装驱动,烧写boot.bin与eboot-rtc.nt0两个文件进nand flash的0块与2块。在用sjf烧写前,有一步是安装对并行口读写的驱动(在windows98/95下这个驱动不需安装)giveio.inf。下面简要写其步骤。
错误1:
在cmd下运行sjf烧写工具时显示:couldn't open giveio.sys。
解决:
1 将giveio.sys复制到winnt目录下的system32/drivers。没有winnt是不行的,不知道大家的机器如何?我这台机器是windows目录下的system32,结果没有成功。
2 在控制面板中添加删除硬件,经过安装其它设备,最终打开giveio.inf文件,安装完毕 ,重启。
3 在cmd下sjf,成功

错误2 :
烧写boot.bin和 2410loader.bin入0块,eboot.nb0后,仍然无法启动wince。
解决:
1 烧写boot.bin入0块。烧写eboot.nt0进2 块,不然会覆盖。
...全文
1965 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ialwaysgo 2010-01-22
  • 打赏
  • 举报
回复
是的,谢谢lz的热心分享。。。
wolfmvp 2010-01-22
  • 打赏
  • 举报
回复
学习了,很经典,也很细致…
91program 2010-01-22
  • 打赏
  • 举报
回复
不错!!!
h522122467 2010-01-22
  • 打赏
  • 举报
回复
顶顶
leptonic 2008-12-18
  • 打赏
  • 举报
回复
楼主正解!
这个函数是sjz出现couldn 't open giveio.sys的判断
int InstallGiveIo(void)
{
HANDLE h;
OSVERSIONINFO osvi;

osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
GetVersionEx(&osvi);

if(osvi.dwPlatformId == VER_PLATFORM_WIN32_NT)
{
//OS=NT/2000
h = CreateFile("\\\\.\\giveio", GENERIC_READ, 0, NULL,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
CloseHandle(h);
if(h == INVALID_HANDLE_VALUE)
return 0;
else
return 0x2000;
}
else
{ //OS=WIN98
return 0x0098;
}
}
“CreateFile("\\\\.\\giveio", GENERIC_READ, 0, NULL,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
”显然需要安装一下才可以用

sjfXXXX.exe /c:STEPLDR.nb0 /b=0
sjfXXXX.exe /c:eboot.nb0 /b=2
和eboot一定要分开

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧