Hello world example not working on QEMU

Sambeet Panigrahi sambeet161616 at gmail.com
Sun Aug 21 06:31:14 UTC 2016


Hi,
I followed the https://devel.rtems.org/wiki/Developer/Simulators/QEMU
 simulate RTEMS for i386. I used the hello world example from examples-v2
repository. The source code is directly taken from RTEMS C user guide.

/*
 *  Classic API Hello World
 */

#include <rtems.h> //Contains the RTEMS datatypes
#include <stdlib.h>//Standard C library
#include <stdio.h>//Standard C input ouput library

rtems_task Init(
  rtems_task_argument ignored
)
{
  printf( "\n\n*** MODIFIED HELLO WORLD TEST ***\n" );
  printf( "Hello Sambeet!How are You?\n" );
  printf( "*** END OF MODIFIED HELLO WORLD TEST ***\n" );
  exit( 0 );
}

/* configuration information */

#include <bsp.h>

/* NOTICE: the clock driver is explicitly disabled */
#define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
#define CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM

#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
#define CONFIGURE_MAXIMUM_TASKS 1

#define CONFIGURE_INIT
#include <rtems/confdefs.h>
/* end of file */

I compiled it using RTEMS GCC, the exact same commands as the makefile i.e.

/home/sambeet/NewRockPort/x86/Install/rtems/4.11.0-rc3/bin/i386-rtems4.11-gcc
--pipe -B/home/sambeet/NewRockPort/x86/Install/rtems/4.11.0-rc3/i386-rtems4.11/pc486/lib/
-specs bsp_specs -qrtems   -Wall  -O2 -g    -mtune=i486      -o
o-optimize/test.exe test.c

that was because makefile was showing some errors

sambeet at Holmes ~/Documents/GitRepos/examples/examples-v2/hello/hello_world_c
$ make
i386-rtems4.11-gcc --pipe -B/home/sambeet/NewRockPort/x8
6/Install/rtems/4.11.0-rc3/i386-rtems4.11/pc486/lib/ -specs bsp_specs
-qrtems   -Wall  -O2 -g    -mtune=i486       -c   -o o-optimize/test.o
test.c
/bin/bash: i386-rtems4.11-gcc: command not found
make: *** [o-optimize/test.o] Error 127

Now I generated the executable successfully but when I run it in QEMU.I get
a blank screen.However  when I try this which comes with i386 testsuites, I
get the output

/*
 *  COPYRIGHT (c) 1989-2012.
 *  On-Line Applications Research Corporation (OAR).
 *
 *  The license and distribution terms for this file may be
 *  found in the file LICENSE in this distribution or at
 *  http://www.rtems.org/license/LICENSE.
 */

#ifdef HAVE_CONFIG_H
#include "config.h"
#endif

#include <rtems/test.h>

#include <bsp.h> /* for device driver prototypes */

#include <stdio.h>
#include <stdlib.h>

/* forward declarations to avoid warnings */
rtems_task Init(rtems_task_argument argument);

const char rtems_test_name[] = "HELLO WORLD";

rtems_task Init(
  rtems_task_argument ignored
)
{
  rtems_test_begin();
  printf( "Hello World\n" );
  rtems_test_end();
  exit( 0 );
}


/* NOTICE: the clock driver is explicitly disabled */
#define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER

#define CONFIGURE_MAXIMUM_TASKS            1
#define CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM

#define CONFIGURE_RTEMS_INIT_TASKS_TABLE

#define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION

#define CONFIGURE_INIT
#include <rtems/confdefs.h>

QEMU doesn't show any error, just the blank screen, so I am not able to
figure out what,s wrong with my code,can somebody help?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/users/attachments/20160821/5161b0ba/attachment.html>


More information about the users mailing list