我用的核心板是AT91RM9200,用的是标准的linux C函数输出和获取用户空间信息。(
printf和gets等等)
操作系统是linux2.4.27
我想在系统启动的时候自动加载我的程序,可是自动运行之后发现它是从串口0输出的,串
口1看不见任何东西。
后来在inittab中看了一下串口的加载,发现它是在初始化登陆界面的时候才加载的串口1,
是以此种方式加载的
ss:123:respawn:sbin/mingetty tty
sss:12345:respawn:sbin/getty -L ttyS1 115200 。。最后一个参数忘记了。
但是等待这个时候我在./myprogram的时候,我的程序起不来了,必须要登陆,也就是说在
终端上出现了必须登陆的字样,然后登陆进去之后运行我的程序是完全可以的,不管是输入
还是输出都是从串口1输出。
或者我是否可以在上层申明一下什么?
请教:是否能够在登陆之前,或者不要登陆操作就开始运行我的程序,而且让它从串口1输
出,也就是说我在登陆之前就要使能串口1。这样的话我应该添加何种脚本。是不是需要把
stdin stdout err等等做一遍初始化操作指定,请指教。
或者我可以在上层申明一下什么?
------解决方案--------------------
可以用函数,dup,dup2什么的。
建议google一下linux输出重定向。文章较多。