Monday, August 6, 2012

Linux Driver打印資料到螢幕上

雖然有 printk , pr_alert 等函式可以把一些debug資料打印到螢幕跟log檔中,但是用起來總是不太方便(前面都會被加上打印的時間之類的)。

所以試著直接open tty設備,write資料到tty上,沒想到真的成功把資料打印在螢幕上。

PS. 打印資料到螢幕上應該是由User Mode程式來做才對,不過某些狀況就是不太允許這麼做 (ex. 正在關機時)


















Code:
struct file *tty;
mm_segment_t old_fs;

tty = filp_open("/dev/pts/0",O_RDWR,0);
//顯示在XWindows下的terminal所以用 /dev/pts/0 ,如果是一般文字界面下用 /dev/tty0

old_fs = set_fs(KERNEL_DS);

tty->f_op->write(tty,"Hello Screen!\n",strlen("Hello Screen!\n"),NULL);

set_fs(old_fs);
filp_close(tty,0);

No comments:

Post a Comment