Filio example doesn't run with rtems from the cvs

Matteo matteo.posterli at studenti.unipr.it
Mon Mar 20 22:00:25 UTC 2006


Thomas,
thanks, now I can compile and run the fileio(just add "MANAGERS = all" at the
makefile) example.

I'm working with the posix threads so I try to change from task to posix threads
so I change a bit the system.h and init.c like following ;

instead of "#define CONFIGURE_RTEMS_INIT_TASKS_TABLE" I put "#define
CONFIGURE_POSIX_INIT_THREAD_TABLE" 

instead of "#define CONFIGURE_EXTRA_TASK_STACKS (3 * RTEMS_MINIMUM_STACK_SIZE)"
I put "#define CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE (3 *
RTEMS_MINIMUM_STACK_SIZE)"

and instead of "rtems_task Init (rtems_task_argument ignored){..}"(in the file
init.c) I put "void *POSIX_Init(){..}"

I compile it, and when I launch it I have this error ;

assert failed:../../../../../../rtems-4.7/c/src/../../cpukit/posix/src/pthread.c
: 300 : !status

What appened?

I just want to use the fileio example like a posix threads not like a task!

Have you some idea ?, can help me ?

Thanks in advance

MAtteo

Scrive "Thomas Doerfler (nt)" <Thomas.Doerfler at imd-systems.de>:

> matteo,
> 
> have a look at
> rtems/make/Templates/Makefile.leaf
> 
> Thomas.
> 
> Matteo schrieb:
> > Hi Thomas,
> > the link is at the same file system.h that I use in the samples fileio that
> I
> > try to run, so I think, isn't that the problem.
> > May be, like you say, I have to adjust my make file but How I can add "the
> > semaphore and message queue managers"?
> > 
> > Thanks in advance
> > 
> > MAtteo
> > 
> > Scrive Thomas Doerfler <Thomas.Doerfler at imd-systems.de>:
> > 
> > 
> >>Matteo,
> >>
> >>have a look at:
> >>
> >>
> > 
> >
>
http://www.rtems.com/cgi-bin/viewcvs.cgi/~checkout~/rtems/testsuites/samples/fileio/system.h?rev=1.6&content-type=text/plain
> > 
> >>you can see the proper things required in system.h, it is important, 
> >>that the IDE and the ATA drivers are included (and the IDE driver is 
> >>included before the ATA driver). You will also need the bdbuf 
> >>configuration. I have seen in your makefile, that you do not include the 
> >>semaphore and message queue managers. This might also cause problems, 
> >>because the drivers will need message queues and semaphores.
> >>
> >>Thomas.
> >>
> >>Matteo wrote:
> >>
> >>>Hi Thomas,
> >>>the makefile is ;
> >>>
> >>>#
> >>>#  Makefile
> >>>#
> >>>
> >>>#
> >>>#  RTEMS_MAKEFILE_PATH is typically set in an environment variable
> >>>#
> >>>
> >>>EXEC=fileio.exe
> >>>PGM=${ARCH}/$(EXEC)
> >>>
> >>># optional managers required
> >>>MANAGERS=io
> >>>
> >>># C source names
> >>>CSRCS = init.c
> >>>COBJS_ = $(CSRCS:.c=.o)
> >>>COBJS = $(COBJS_:%=${ARCH}/%)
> >>>
> >>># C++ source names
> >>>CXXSRCS =
> >>>CXXOBJS_ = $(CXXSRCS:.cc=.o)
> >>>CXXOBJS = $(CXXOBJS_:%=${ARCH}/%)
> >>>
> >>># AS source names
> >>>ASSRCS =
> >>>ASOBJS_ = $(ASSRCS:.s=.o)
> >>>ASOBJS = $(ASOBJS_:%=${ARCH}/%)
> >>>
> >>># Libraries
> >>>LIBS = -lrtemsall -lc
> >>>
> >>>include $(RTEMS_MAKEFILE_PATH)/Makefile.inc
> >>>
> >>>include $(RTEMS_CUSTOM)
> >>>include $(PROJECT_ROOT)/make/leaf.cfg
> >>>
> >>>OBJS= $(COBJS) $(CXXOBJS) $(ASOBJS)
> >>>
> >>>all:    ${ARCH} $(PGM)
> >>>
> >>>$(PGM): $(OBJS)
> >>>	$(make-exe)
> >>>
> >>>j:
> >>>	@echo $(CFLAGS_DEBUG_V)
> >>>	@echo $(RTEMS_USE_GCC272)
> >>>
> >>>
> >>>in init.c is included the system.h.
> >>>But I don't see "RTEMS_BSP_HAS_IDE_DRIVER", where and how should I use it
> >>
> >>?
> >>
> >>>To put like a "#define RTEMS_BSP_HAS_IDE_DRIVER" in system.h or to put it
> >>>someway in the makefile ?
> >>>
> >>>Thanks in advance 
> >>>
> >>>Matteo
> >>>
> >>>
> >>>Scrive Thomas Doerfler <Thomas.Doerfler at imd-systems.de>:
> >>>
> >>>
> >>>
> >>>>Matteo,
> >>>>
> >>>>what where your exact steps, when your compiled fileio separately? Which
> 
> >>>>makefile did you use, did you also copy the "system.h" file? There is a 
> >>>>BSP preprocessor define which is vital for "fileio", it is called 
> >>>>"RTEMS_BSP_HAS_IDE_DRIVER".
> >>>>
> >>>>wkr,
> >>>>Thomas.
> >>>>
> >>>>
> >>>>Matteo wrote:
> >>>>
> >>>>
> >>>>>Ok , I see from ftp://ftp.rtems.com/pub/rtems/4.6.99.2/TOOL_VERSIONS
> that
> >>>>
> >>>>I'm
> >>>>
> >>>>
> >>>>>using a compatible version of gcc, newlib and binutils (gcc-4.0,
> >>>>
> >>>>newlib-1.13,
> >>>>
> >>>>
> >>>>>binutils-2.16). 
> >>>>>Infact using this toolset I can compile correctly rtems and the
> testsuite
> >>>>
> >>>>and
> >>>>
> >>>>
> >>>>>fileio example works well. 
> >>>>>After I take the source code of fileio example and I compiled it and
> the
> >>>>
> >>>>example
> >>>>
> >>>>
> >>>>>doesn't works!
> >>>>>How it's possible, I use the same source file, the only difference is
> >>
> >>that
> >>
> >>>>in
> >>>>
> >>>>
> >>>>>the first case the example are compiled automatically with rtems and in
> >>>>
> >>>>the
> >>>>
> >>>>
> >>>>>second case I compiled the source code of the example separately.
> >>>>>Note that I try compile separately the hello and ticker examples  and
> >>
> >>they
> >>
> >>>>works
> >>>>
> >>>>
> >>>>>well, so why fileio doesn't work ?
> >>>>>
> >>>>>
> >>>>>Thank in advance 
> >>>>>
> >>>>>Matteo
> >>>>>
> >>>>
> >>>>-- 
> >>>>--------------------------------------------
> >>>>IMD Ingenieurbuero fuer Microcomputertechnik
> >>>>Thomas Doerfler           Herbststrasse 8
> >>>>D-82178 Puchheim          Germany
> >>>>email:    Thomas.Doerfler at imd-systems.de
> >>>>PGP public key available at:
> >>>>     http://www.imd-systems.de/pgpkey_en.html
> >>>>
> >>>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>
> >>-- 
> >>--------------------------------------------
> >>IMD Ingenieurbuero fuer Microcomputertechnik
> >>Thomas Doerfler           Herbststrasse 8
> >>D-82178 Puchheim          Germany
> >>email:    Thomas.Doerfler at imd-systems.de
> >>PGP public key available at:
> >>      http://www.imd-systems.de/pgpkey_en.html
> >>
> >>
> > 
> > 
> > 
> > 
> 
> 
> -- 
> --------------------------------------------
> IMD Ingenieurbuero fuer Microcomputertechnik
> Thomas Doerfler           Herbststrasse 8
> D-82178 Puchheim          Germany
> email:    Thomas.Doerfler at imd-systems.de
> PGP public key available at:
>      http://www.imd-systems.de/pgpkey_en.html
> 
> 







More information about the users mailing list