WinCE中的console重定向

作者:ARM-WinCE

 

在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了,这个方法就可以放弃了。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值