5400|9

75

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

vxworks的IO重映射问题 [复制链接]

 现在有如下一个功能要实现:

把用作Console口的那个串口暂时用作他用(即当作一个纯的串口用来传送数据,例如下载程序),然后再恢复成console。

如下是我的实现方案:

首先通过IO重映射来取消console终端:

ioGlobalStdSet(STD_IN, 0);

ioGlobalStdSet(STD_OUT, 0);

ioGlobalStdSet(STD_ERR, 0);

然后把原来的串口当作一个纯的字符设备来与PC通信。

现在的问题是:

在shell下输入ioGlobalStdSet(0, 0);,//STD_IN = 0

然后通过ioGlobalGet(0)得到的还是原来的那个值,即改变没有生效。

不知道是什么原因

最新回复

ioGlobalStdSet (STD_IN,  Fd); ioGlobalStdSet (STD_OUT,  Fd); ioGlobalStdSet (STD_ERR,  Fd); 只要Fd是标准的io口,并且有效,就没有问题  详情 回复 发表于 2008-12-14 15:04
点赞 关注
 

回复
举报

80

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
所用平台为ARM 平台
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
不要用0,改成具体打开的一个设备fd
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

4
 
貌似修改的不对,ioGlobalStdSet的目的是给0、1、2三个标准输入输出的桩指定一个具体的fd,这三个标准输入输出是跟shell接口的。缺省方式下,系统先打开串口,用consoleFd保存串口fd,然后把这个fd给到标准输入输出。我理解搂主的目的是让串口和shell脱钩,那就把consoleFd替换成其他的fd就可以了,别用串口的fd。
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

5
 
是的,我的目的就是想让串口和Console脱钩
我又尝试了创建一个空设备(即open("/null", ...)), 然后把标准输入,标准输出和标准错误输出都映射到这个新创建的空设备上,还是不行
 
 
 

回复

90

帖子

0

TA的资源

一粒金砂(初级)

6
 
不支持这样做吧?
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

7
 
ioGlobalStdSet (STD_IN,  consoleFd);注意第二个参数,应该是你串口的FD
 
 
 

回复

89

帖子

0

TA的资源

一粒金砂(初级)

8
 
只要是有效FD就可以,不一定要串口的FD
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

9
 
挂在/vio/0下,就可以了
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

10
 
ioGlobalStdSet (STD_IN,  Fd);
ioGlobalStdSet (STD_OUT,  Fd);
ioGlobalStdSet (STD_ERR,  Fd);
只要Fd是标准的io口,并且有效,就没有问题
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表