4565|5

65

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

WindRiver自己定义的打印输出函数为什么没有输出 [复制链接]

在sysHwInit()中调用的一个子函数中有一个windriver自己定义的宏函数,是打印输出的
#ifdef VXBUS_DEBUG_ON

int usrBusDebugLevel = 0;

#undef VXB_DEBUG_MSG
#define VXB_DEBUG_MSG(lvl,msg,a,b,c,d,e,f) if ( usrBusDebugLevel <= lvl ) printf(msg,a,b,c,d,e,f)

#else /* VXBUS_DEBUG_ON */

#undef VXB_DEBUG_MSG
#define VXB_DEBUG_MSG(lvl,msg,a,b,c,d,e,f)

#endif /* VXBUS_DEBUG_ON */


vxbDeviceAnnounce()这个函数中有调用  
VXB_DEBUG_MSG(1,"vxbDeviceAnnounce(0x%08x(%s))\n", (int)pDev,
                (int)pDev->pName, 3,4,5,6);
没有打印输出

我已经把打印开关打开了,可以看出这个宏实际就是用printf()打印输出的,最后我直接在代码用调用printf()还是不能打印输出,请各位指点为什么? 我的输出设备是VGA 和 串口

最新回复

类似这类功能实际上在BSP里还有,实际上在我们自己的代码里也经常碰到的。。。  详情 回复 发表于 2010-5-20 21:13
点赞 关注

回复
举报

79

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
sysHwInit()是在os内核启动之前调用的,这个串口以及标准输出设备还没有初始化好呢,当然不能打印了。
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
boot的时候还是点灯好了
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

4
 
To frank_zhou:串口已经初始化好了,这个函数是在串口初始化之后执行的,VGA也已经初始化了。
              这个是风河自己添加的打印信息,我想问的是如果不能打印输出为什么风河还要添加呢?


To zkyd41:boot点灯的确比较好,我已经定位到是哪里的问题了,就是想问问风河的这打印函数不能输出为什么风河还要添加?

  谢谢大家啊!
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

5
 
默认在sysHwInit()串口只是简单的核前初始化,并没有完全通的,要在sysHwInit2()中才初始化完成,才能作为标准输入输出的。
至于调试的宏,在调程序或驱动程序的时候加进去很正常,虽然现在最终的代码有部分在内核初始化之前不可打印,但不意味他们调试的时候不能在整个操作系统起来后调试的,可能只是在最终调试好了后再把部分代码的初始化部分按照vxworks的一贯做法放到了sysHwInit()之中。这点在调试一些驱动的时候很常见。
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

6
 
类似这类功能实际上在BSP里还有,实际上在我们自己的代码里也经常碰到的。。。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表