科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道WinCE中的console重定向

WinCE中的console重定向

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在WinCE中开发BSP的初期,可能我们还没有显示驱动,也没有键盘,鼠标,USB的驱动。这个时候,如果有一个基于Serial串口的console 会感到很幸福,呵呵。

作者:nanjianhui 来源:bolg【原创】 2008年1月17日

关键字: redirect console nanjianhui 软件

  • 评论
  • 分享微博
  • 分享邮件

在WinCE中开发BSP的初期,可能我们还没有显示驱动,也没有键盘,鼠标,USB的驱动。这个时候,如果有一个基于Serial串口的console 会感到很幸福,呵呵。

将console重定向到串口比较简单,首先串口驱动必须是好的。然后需要在platform.reg中添加下面的配置:

[HKEY_LOCAL_MACHINE\Drivers\Console]
"OutputTo"=dword:1
"COMSpeed"=dword:9600 ; 38400

"OutputTo"的意思是重定向到哪个串口,比如要重定向到COM1,就设置为1。如果定义为0xffffffff表示输出到Debug端口,据说在WinCE6.0中有问题,具体没有试过。

"COMSpeed"是设置串口的波特率,这里要注意,9600的意思是0x9600,也就是38400,别搞错了。

下面的问题是,我们需要在WinCE启动以后自动运行cmd.exe,这样我们才能在串口看到提示符,如何实现呢?

这里采用的方法是使用Autolaunch.exe,Autolaunch是一个用于自动加载程序的程序,Autolaunch工程可以在网上搜索到,这里提供一个参考网址:

http://www.learningce.com/Downloads/796.aspx

它可以作为一个sub project被添加到WinCE6.0的工程当中,然后打开Autolaunch子工程里面的Autolaunch.reg,把cmd.exe添加进去就可以了,参考如下:

[HKEY_LOCAL_MACHINE\Init]
"Depend99"=hex:0a,00,14,00,1e,00,32,00
[HKEY_LOCAL_MACHINE\Init]
"Launch99"="AutoLaunch.exe"

[HKEY_LOCAL_MACHINE\Startup]
"Process1"="cmd"
"Process1Delay"=dword:000003E8

这样,当WinCE启动以后会自动运行Autolaunch.exe,然后Autolaunch会根据Autolaunch.reg中的配置启动cmd.exe,这样就可以在超级终端中看到命令行提示符了。

这个功能我是在WinCE6.0下面用的,感觉重定向到串口以后有一些问题:

1。输入字符没有回现,我必须在超级终端里面使用超级终端的回现功能,而不是WinCE中Console本身的回现。

2。命令太少,也就执行个cd, dir等命令,要是运行ipconfig这样的命令,就不行了,没有任何打印信息出来,感觉没有被执行。当然也运行不了其它的程序。

个人感觉,这个cmd.exe被重定向到串口以后,功能很有限,只能运行一些基本的命令。查找过他的源代码,在\WINCE600\private\winceos\utils\cmd2\下面。

我个人的看法是,最开始开发BSP的时候,这种方法或许会有一些用,当我们有了ethernet的驱动以后,我们就可以用telnet了,这个方法就可以放弃了。

原文链接:http://blog.csdn.net/nanjianhui/archive/2008/01/14/2043982.aspx

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章