vxworks屏幕输出,该怎么处理
发布时间:2010-06-14 16:48:13 文章来源:www.iduyao.cn 采编人员:星星草
vxworks屏幕输出
小弟新手
一般来说用printf都是串口输出,或者shell输出,
现在想在屏幕输出请问需要调用什么函数?
这个是不是要调用屏幕的输出函数??
大家有自己屏幕输出函数吗?请给一个我参考下,谢谢
------解决方案--------------------
我理解你的这个屏幕就是PC的显示器设备,在VxWorks中是INCLUDE_PC_CONSOLE。
在VxWorks中,串口和控制台等都属于IO设备,都是用printf输出的,要输出的到什么地方去,取决当前标准输输入、输出和错误定位到那个上,你调用printf就输出到那个设备上。
看如下,是设置标准输入、输出的重新设置:
ioGlobalStdSet (STD_IN, consoleFd);
ioGlobalStdSet (STD_OUT, consoleFd);
ioGlobalStdSet (STD_ERR, consoleFd);
如果consoleFd文件描述符是一个串口的,你printf就到串口,如果这个pcConDevCreate(显示器设备),printf就输出到显示器。
------解决方案--------------------
楼主关键的地方在于没有理解STDIN、STDOUT、STDERR、文件描述符fd等的概念。建议把这几个基本概念了解了就比较清楚了。
对于一个任务来说,它的标准输出定向到哪个设备,那打印的时候就打印到哪个设备上了。
vxworks下的任务可以单独用ioTaskStdSet()进行设置标准输入输出,上面说的ioGlobalStdSet()则可以把默认所有任务的标准输入输出定位到某个fd上
------解决方案--------------------
在编译bootrom要用到target/config/all/bootconfig.c文件,在这个文件中的usrRoot函数有如下一段代码:
#ifdef INCLUDE_PC_CONSOLE
pcConDrv ();
for (ix = 0; ix < N_VIRTUAL_CONSOLES; ix++)
{
sprintf (tyName, "%s%d", "/pcConsole/", ix);
(void) pcConDevCreate (tyName,ix, 512, 512);
if (ix == PC_CONSOLE) /* init the console device */
{
strcpy (consoleName, tyName);
consoleFd = open (consoleName, O_RDWR, 0);
(void) ioctl (consoleFd, FIOBAUDRATE, CONSOLE_BAUD_RATE);
(void) ioctl (consoleFd, FIOSETOPTIONS,
OPT_ECHO | OPT_CRMOD | OPT_TANDEM | OPT_7_BIT);
}
}
#endif /* INCLUDE_PC_CONSOLE */
就是这个INCLUDE_PC_CONSOLE定义了,就可以了,这个宏定义在你bsp包的config.h下就行了。
你需要把这个文件好好看看,最后就是定义几个宏定义,
在上面这段代码之后,就有:
ioGlobalStdSet (STD_IN, consoleFd);
ioGlobalStdSet (STD_OUT, consoleFd);
ioGlobalStdSet (STD_ERR, consoleFd);
这个之后串口输出就可以到屏幕上了。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
Tilcon下的Table控件问题
VxWorks5.5+Tilcon5.4环境下~~
在程序中如何在Table的最后新增一行?
------解决方案-----------------...
-
关于vxworks的inflate/deflate
请问各位大侠,在vxworks中,针对不同架构的cpu的vxworks代码中,应该是采用相同的inflate/deflate解压...
-
tornado安装问题
请高手帮忙:
问下tornado的安装过程中,如果从开始菜单直接运行tornado,会提示错误,这是因为安装还没有完成,在C盘Torn...
-
vxworks系统启动很慢
小弟最近在做一个vxworks下的项目,目前系统基本上已经搭建起来了,但是系统从flash上启动的时候非常的慢,经查看...
-
请问一下,一个任务accept产生的socket描述符怎么在另一个task的send函数中用,把那个Socket ID作为全局可以吗???谢谢!
有两个任务,一个接...
-
taskspawn 分配一个任务时,参数中有优先级,堆栈大小,我要怎么来写啊?刚刚搞这个东西。
taskspawn 分配一个任务时,参数中有优先级,堆栈...
-
谁会裸机运行pentium的cpu
谁会裸机运行pentium的cpu,能不能简单讲讲?
就是将cpu引导到保护模式后,进入到一段用户代码,这段代码是个...
-
如何根据字符数组去执行相应的函数或者查找到变量(急!)
现在需要在没有操作系统的powerPC上完成这样一个类似串口的输入输出功能。注...
-
关于vxworks TFFS文件系统搭建时 format 死机问题
我修改了tffsconfig.c systffs.c config.h 等文件,已经显示了 type size但是...
-
vxworks解压缩
请问各位大侠,vxworks的解压缩源代码怎么看不到啊?它是采用的通用deflate/inflate算法吗?
在命令行中defl...