[转]KITLOutputDebugString 定义

本文详细解析了Kitl中的输出调试信息函数KITLOutputDebugString的工作原理及其实现过程。从宏定义到具体实现,再到平台特定的底层输出函数OEMWriteDebugByte,介绍了如何通过修改相关函数来改变调试输出通道。
摘要由CSDN通过智能技术生成

Kitl 中output debug message的function : KITLOutputDebugString( ),
定义在
PUBLIC\COMMON\OAK\INC\e_to_k.h:
#define KITLOutputDebugString EdbgOutputDebugString
而 EdbgOutputDebugString, implement在
PLATFORM\COMMON\BOOT\BLCOMMON\format.c
就是一般的format printing,最终输出是呼叫 OEMWriteDebugByte( )。

这个function 就要每个platform 自己implement了,所以是在OAL中:
OAL\debug.c
这个对底层的string output function 就像一般的embedded system, putchar( )一样,
用最基本的polling 方式output string:
while(TX_NOT_EMPTY);
TX = outchar;
.但是为了怕有时候用来作output的serial port有其它用途 (通常不会友好结果 ),所以整个 OEMWriteDebugByte( ) 内部用#ifdef 包围起来。

OAL\debug.c 内含
• InitDebug
• ReadDebug
• WriteDebug
InitDebug 在对应的hardware (UART) 的 PowerOn, BSPPowerOn function 中呼叫。

所以要改变debug output channel,要修改 oal\debug 的这几个function,还要将InitDebug( )放到该channel hardware 启动的地方,和 BSP PowerOn 的地方。



by [url=http://realchecko.blogspot.com]http://realchecko.blogspot.com[/url]

转载于:https://www.cnblogs.com/harber/archive/2007/12/07/987401.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值