在wince中开发bsp的初期,可能我们还没有显示驱动,也没有键盘,鼠标,usb的驱动。这个时候,如果有一个基于serial串口的console 会感到很幸福,呵呵。
将console重定向到串口比较简单,首先串口驱动必须是好的。然后需要在platform.reg中添加下面的配置:
[hkey_local_machinedriversconsole">
"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工程可以在网上搜索到,这里提供一个参考网址:
它可以作为一个sub project被添加到wince6.0的工程当中,然后打开autolaunch子工程里面的autolaunch.reg,把cmd.exe添加进去就可以了,参考如下:
[hkey_local_machineinit">
"depend99"=hex:0a,00,14,00,1e,00,32,00
[hkey_local_machineinit">
"launch99"="autolaunch.exe"
[hkey_local_machinestartup">
"process1"="cmd"
"process1delay"=dword:000003e8
这样,当wince启动以后会自动运行autolaunch.exe,然后autolaunch会根据autolaunch.reg中的配置启动cmd.exe,这样就可以在超级终端中看到命令行提示符了。
这个功能我是在wince6.0下面用的,感觉重定向到串口以后有一些问题:
1。输入字符没有回现,我必须在超级终端里面使用超级终端的回现功能,而不是wince中console本身的回现。
2。命令太少,也就执行个cd, dir等命令,要是运行ipconfig这样的命令,就不行了,没有任何打印信息出来,感觉没有被执行。当然也运行不了其它的程序。
个人感觉,这个cmd.exe被重定向到串口以后,功能很有限,只能运行一些基本的命令。查找过他的源代码,在wince600privatewinceosutilscmd2下面。
我个人的看法是,最开始开发bsp的时候,这种方法或许会有一些用,当我们有了ethernet的驱动以后,我们就可以用telnet了,这个方法就可以放弃了。
如果喜欢wince中的console重定向 - wince请收藏或告诉您的好朋友.
阅读(224) | 评论(0) | 转发(0) |