Problems setting up the libcpu directory structure

Joel Sherrill joel.sherrill at OARcorp.com
Fri Mar 14 19:34:57 UTC 2003



David Dudley wrote:
> 
> Unfortunately, I had already checked that.  RTEUS_CPU_MODEL is assigned to
> ATmega128, and when you run the make program, in the preinstall
> configuration, you can see the definition of 'RTEMS_CPU_MODEL=ATmega128'
> being passed to the configure script.

Before you move on to the BSP, try building the following
configurations:

+ Multilibs - example configure command

../current/configure --target=arm-rtems --prefix=/opt/rtems
--disable-rtems-inlines --enable-multiprocessing --enable-cxx
--enable-rdbg --enable-maintainer-mode --disable-tests
--enable-networking --enable-posix --enable-itron --disable-ada
--disable-expada --enable-multilib

+ Bare BSP - example configure command

../current/configure --target=m68k-rtems --prefix=/opt/rtems
--disable-rtems-inlines --disable-multiprocessing --enable-cxx
--enable-rdbg --enable-maintainer-mode --disable-tests
--enable-networking --enable-posix --enable-itron --disable-ada
--disable-expada --enable-rtemsbsp=bare
--enable-bare-cpu-model=m5200     --enable-bare-cpu-cflags=-m5200

The first doesn't build anything out of libbsp or libcpu.  The 2nd
includes libcpu
but not libbsp.  That will at least let you incrementally verify what is
correct.
 
> Any other ideas?

Not without more information.  A log file might help.  

> David Dudley
> 
> On Friday 14 March 2003 12:09, Joel Sherrill wrote:
> > David Dudley wrote:
> > > I've run into a little problem setting up the libbsp/libcpu directory
> > > structures for the AVR chip.
> > >
> > > I defined a structure like this (which is a mirror of the structure of
> > > the 'sh' directory):
> > > libbsp
> > >   + avr
> > >       + DL16  (our particular board name)
> > > libcpu
> > >   + avr
> > >        + ATmega128  (chip on the board)
> > >
> > > Inside the ATmega128 directory I have the drivers for the console, clock,
> > > rtc, etc....
> > >
> > > Inside the DL16 directory I have the drivers for our specific board
> > > implementation.
> > >
> > > The bootstrap program runs with out any errors, and builds the links into
> > > the avr directories.
> > > OK, now when you do a configure, things go fine.  No errors or anything
> > > else. When you run make however, the make starts building the package,
> > > making the directories and copying files around, and eventually gets to
> > > the libbsp and libcpu directories.  The libbsp directory looks like its
> > > defined OK, and gets copies of the stuff from the avr/DL16 directory,
> > > however, when the make moves to the libcpu directory, it creates a
> > > directory called ATmega128 (right?), and then tries to do a preinstall on
> > > the DL16 subdirector, which of course, doesn't exist.
> > >
> > > Whats wrong?  I have looked and looked, and I've built the directory
> > > structure and configure.ac files in what it looks like is the right form.
> >
> > Without looking at source, I would say that your RTEMS_CPU_MODEL is set
> > to the
> > name of the BSP (DL16) not the same of the CPU model (ATmeage128).
> > Doublecheck
> > the dl16.cfg file in make/custom.
> >
> > > Also, under the libbsp/avr directory, is it OK to have just our board
> > > name directly at that level, or wouldn't it be better to list it as a
> > > subdirectory of the company name (such as "StarBlade/DL16")?
> >
> > It might make a nice organizational aid but since no one has ever tried
> > doing
> > that I am prone to guess that something will depend upon libbsp/CPU/BSP
> > being
> > the structure.  So far, putting BSPs into CPU subdirectories has
> > prevented
> > clutter.  If you want, call the BSP starblade_dl16 and have the best of
> > both
> > worlds.  A more unique name and no worries of a subdirectory.
> >
> > > David Dudley

-- 
Joel Sherrill, Ph.D.             Director of Research & Development
joel at OARcorp.com                 On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
Support Available                (256) 722-9985



More information about the users mailing list