源起
rtems自带了一些示例程序,在testsuites/samples/hello/init.c 中,是一个非常简单的示例,相当于C里面的hello world了,要实现的功能只是打印出来一句问候
rtems_task Init(
rtems_task_argument ignored
)
{
rtems_test_begin();
printf( "Hello World\n" );
rtems_test_end();
exit( 0 );
}
对于PC来说,这句一般来说是显示到屏幕上面了,那么对于一块嵌入式板子呢?
问候的话去哪了
对于C程序来说,有三个标准的输入输出,分别是stdin stdout stderr, 对于printf来说,它的输出应该是去stdout了
newlib/libc/stdio/printf.c
int _DEFUN(printf, (fmt), const char *__restrict fmt _DOTS)
{
int ret;
va_list ap;
struct _reent *ptr = _REENT;
那么stdout是如何定义呢?
stdout的定义
rtems使用的是newlib这个C库,在这里可以找到如下定义
newlib/li