PC机上,printf输出到显示设备,在嵌入式linux系统,一般利用printf输出调试信息,需要重定向到串口。以AT91RM9200为例,简要说明如何利用串口输出printf的打印信息。
在u-boot传递给内核(kernel)的参数中,有"console=ttyS0,115200"的字样,printf就是使用ttyS0这个串口输出信息的,为了使用ttyS0这个设备,需要在根文件系统的/dev目录下创建设备节点:
mknod ttyS0 c 4 0
不同的cpu其对应的串口设备名称可能不同,对AT91RM9200来说,设备名为ttyS0,其中0表示第一串口,即debug口。
完成上述修改后,可以编译一个简单的测试程序,测试一下printf是否已经输出到串口。