嵌入式:本机查看串口调试信息

串口输出信息是嵌入式系统开发最基本的调试手段.但由于空间,外观的限制,很多产品无法在最终产品上连接出调试串口.前后期调试手段的差异,给产品的后期调试带来不少的麻烦.
可以在最初开发的时候考虑到输出信息的重定向.如wince应用程序,调试时可以将RETAILMSG即 重定向到主机开发工具上.如果是Release版本,也可以用wprintf替换NKDbgPrintfW,修改注册表,拷贝console.dll到windows目录,调试信息就会输出到控制台窗口.如果是系统调试信息,动态加载的驱动也可以用wprintf,不过wprintf会比较费时间,非动态加载部分则相对麻烦,除非在OEM函数如OEMWriteDebugByte实现,当然,Debug版本可以定向到Kitl.
以上的方式同主机上的串口终端相比,算是纯软件的方式.除了通过串口连接产品到主机,还有一种硬件的实现方式:串口调试器的loopback模式.
很多串口调试器都有loopback模式,设置成该模式,相当于你的调试串口硬件连接上了另一台设备,不管是什么地方的串口输出,都可以通过串口驱动或其它方式读到.如wince上,你就可以通过InputDebugCharW读到串口输出信息,然后转到你想要他们去的地方.
InputDebugCharW 有一个问题,就是可能会丢失数据,毕竟该函数只能轮询.用中断或者DMA吧,推荐DMA,及时是内核异常信息,DMA也会老老实实的把所有信息转到你指定的地方,处理得当,重新复位后,仍然可以读到.

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/116625/viewspace-1000404/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/116625/viewspace-1000404/

你可能感兴趣的:(嵌入式:本机查看串口调试信息)