EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  <20042005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  <20042005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: RTEMSfor MVME5500
From: Kate Feng <[email protected]>
To: Kiman Ha <[email protected]>
Cc: [email protected], [email protected]
Date: Fri, 16 Jul 2004 12:32:03 -0400
Kiman Ha wrote:

>  Hello Kate,
>
> Anyone have to tried compile RTEMS for MVME5500?
>
> Our Control staffs who Mr OH is recently trying to compile RTEM for
> MVME5500.
>
> But he reported to me some compile error messages
>
> Used : RTEMS-4.6.0pre1

RTEMS-4.6.0 is better than  RTEMS-4.6.0pre#.   RTEMS-4.6.0 has
PowerPC patches  for RTEMS-4.6.0pre#.  However, the patches
does not seem to be related to the building error you got.

> But the compile error is occurs this step;
>
> To build rtems5500-cexp.bin and rtems5500-cexp.sym :
> 0) cd RTEMS5500-GeSys_2.1.beta
> 2) make
>  ldep/ldep.c:659:2: warning: #warning TODO weak symbols
>
> Warning: Symbol without object file??
>
> -> substituting symbol file name, using 'startfiles.o'...
> (o-optimize/startfiles.nm/line 1)
>
> Warning: type mismatch between multiply defined symbols
>
>          __deregister_frame_info: known as T, is now w
>
> Warning: type mismatch between multiply defined symbols
>
>          __register_frame_info: known as T, is now w
>
> Warning: type mismatch between multiply defined symbols
>
>          environ: known as G, is now B
>
> Warning: Object
> '/work/rtems/rtems-ppc/lib/gcc-lib/ppc-rtems/3.2.1/../../../../ppc-rtems/lib
> /libbfd.a[archive.o]' couldn't be removed; probably it's needed by the
> application
>
> Warning: Object
> '/work/rtems/rtems-ppc/lib/gcc-lib/ppc-rtems/3.2.1/../../../../ppc-rtems/lib
> /libbfd.a[archures.o]' couldn't be removed; probably it's needed by the
> application
>
> Warning: Object
> '/work/rtems/rtems-ppc/lib/gcc-lib/ppc-rtems/3.2.1/../../../../ppc-rtems/lib
> /libbfd.a[bfd.o]'
>
> :
>
> :
>
> :
>
> Warning: Object
> '/work/rtems/rtems-ppc/lib/gcc-lib/ppc-rtems/3.2.1/../../../../ppc-rtems/lib
> /libiberty.a[xexit.o]' couldn't be removed; probably it's needed by the
> application
>
> Warning: Object
> '/work/rtems/rtems-ppc/lib/gcc-lib/ppc-rtems/3.2.1/../../../../ppc-rtems/lib
> /libiberty.a[xmalloc.o]' couldn't be removed; probably it's needed by the
> application
>
> Warning: Object
> '/work/rtems/rtems-ppc/lib/gcc-lib/ppc-rtems/3.2.1/../../../../ppc-rtems/lib
> /libiberty.a[xstrerror.o]' couldn't be removed; probably it's needed by the
> application
>
> Warning: Object 'librtemscpu.a[dummy.o]' couldn't be removed; probably it's
> needed by the application
>
> Warning: Object
> '/work/rtems/rtems-ppc/lib/gcc-lib/ppc-rtems/3.2.1/../../../../ppc-rtems/lib
> /libiberty.a[xstrerror.o]' couldn't be removed; probably it's needed by the
> application
>
> Warning: Object 'librtemscpu.a[dummy.o]' couldn't be removed; probably it's
> needed by the application
>

I got all these warning message as well except the directory is
'/work/rtems/ppc-rtems//lib/libxxx.a'  instead.  Where  was  your  cexp
library copied to ?    Theoretically, 'make install' should do the job.
However, sometimes one might have to manually install some or all of
the libraries to  /opt/rtems/ppc-rtems/lib and the header files to
/opt/rtems/include, which is mentioned at the end of INSTALL.

>
> Object
> '/work/rtems/rtems-ppc/lib/gcc-lib/ppc-rtems/3.2.1/../../../../ppc-rtems/lib
> /librtemsbsp.a[ftpd.o]' not found!

As well, I got  :
Warning: Object '/opt/rtems3/ppc-rtems//lib/libiberty.a[strncmp.o]'
couldn't be removed; probably it's needed by the application
Object 'librtemsbsp.a[ftpd.o]' not found!

However, the 'make' continued as what  is attched (GeSys.log)
Is  librtemsbsp.a installed ?   He might have missed
one step in installing the  BSP libraries.  Thesy should be in
/opt/rtems/ppc-rtems/mvme5500/lib directory.  The
mvme5500Lib.tar.gz should be tared  into /opt/rtems/ppc-rtem.
I updated the README to cover some more details (attached).

>
>
> --- end of error message ---
>
> When are you going to release the BSP source code for MVME5500?

We followed the advice of the legal office to submitt  a  letter for approval
of releasing the source code, which hopefully  will  be approved soon.  It is
a standard procedure that we never  did  before.  Thanks for your patience.


Some VME modules (e.g. Oms58 driver) might require  PCI sync
command if mvme5500 is used as the SBC.  Please reference the drvOMS58.cc
file that is posted in synAppRTEMS.  Even so,  I appreciated the runtime
performance of RTEMS-mvme5500.   It's faster in initilaizing the same amount
of motors as compared with mv2307.  The  MEDM screen  for the mv5500 IOC
startups so much faster than  that of the mv2307  when I needed it for
32 motors.

Regards,
Kate



o-optimize/app.nm o-optimize/libbfd.nm o-optimize/libbspExt.nm o-optimize/libc.nm o-optimize/libcexp.nm o-optimize/libgcc.nm o-optimize/libiberty.nm o-optimize/libm.nm o-optimize/libopcodes.nm o-optimize/librtems++.nm o-optimize/librtemsbsp.nm o-optimize/librtemscpu.nm o-optimize/libspencer_regexp.nm o-optimize/libstdc++.nm o-optimize/libtecla_r.nm o-optimize/startfiles.nm config/libbfd.excl config/libblock.excl config/libdosfs.excl config/libiberty.excl config/libmisc.excl config/libnetapps.excl config/libnetchip.excl config/libopcodes.excl config/librdbg.excl config/librtcio.excl config/libserialio.excl ldep/ldep
ldep/ldep -F -l -u -oo-optimize/libbfd.nm -oo-optimize/libbspExt.nm -oo-optimize/libc.nm -oo-optimize/libcexp.nm -oo-optimize/libgcc.nm -oo-optimize/libiberty.nm -oo-optimize/libm.nm -oo-optimize/libopcodes.nm -oo-optimize/librtems++.nm -oo-optimize/librtemsbsp.nm -oo-optimize/librtemscpu.nm -oo-optimize/libspencer_regexp.nm -oo-optimize/libstdc++.nm -oo-optimize/libtecla_r.nm -xconfig/libbfd.excl -xconfig/libblock.excl -xconfig/libdosfs.excl -xconfig/libiberty.excl -xconfig/libmisc.excl -xconfig/libnetapps.excl -xconfig/libnetchip.excl -xconfig/libopcodes.excl -xconfig/librdbg.excl -xconfig/librtcio.excl -xconfig/libserialio.excl  -e o-optimize/ldep.lds o-optimize/app.nm o-optimize/libbfd.nm o-optimize/libbspExt.nm o-optimize/libc.nm o-optimize/libcexp.nm o-optimize/libgcc.nm o-optimize/libiberty.nm o-optimize/libm.nm o-optimize/libopcodes.nm o-optimize/librtems++.nm o-optimize/librtemsbsp.nm o-optimize/librtemscpu.nm o-optimize/libspencer_regexp.nm o-optimize/libstdc++.nm o-optimize/libtecla_r.nm o-optimize/startfiles.nm > o-optimize/ldep.log
Warning: Symbol without object file??
-> substituting symbol file name, using 'startfiles.o'... (o-optimize/startfiles.nm/line 1)
Warning: type mismatch between multiply defined symbols
         __deregister_frame_info: known as T, is now w
Warning: type mismatch between multiply defined symbols
         environ: known as G, is now B
Warning: type mismatch between multiply defined symbols
         __register_frame_info: known as T, is now w
Warning: Object '/opt/rtems3/ppc-rtems/lib/libbfd.a[archive.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems/lib/libbfd.a[archures.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems/lib/libbfd.a[bfd.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems/lib/libbfd.a[cache.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems/lib/libbfd.a[coffgen.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems/lib/libbfd.a[format.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems/lib/libbfd.a[init.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems/lib/libbfd.a[libbfd.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems/lib/libbfd.a[opncls.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems/lib/libbfd.a[reloc.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems/lib/libbfd.a[section.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems/lib/libbfd.a[syms.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems/lib/libbfd.a[targets.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems/lib/libbfd.a[hash.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems/lib/libbfd.a[linker.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems/lib/libbfd.a[srec.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems/lib/libbfd.a[binary.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems/lib/libbfd.a[tekhex.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems/lib/libbfd.a[ihex.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems/lib/libbfd.a[stabs.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems/lib/libbfd.a[merge.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems/lib/libbfd.a[dwarf2.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems/lib/libbfd.a[elf32-ppc.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems/lib/libbfd.a[elf32.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems/lib/libbfd.a[elf.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems/lib/libbfd.a[elflink.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems/lib/libbfd.a[elf-strtab.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems/lib/libbfd.a[elf-eh-frame.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems/lib/libbfd.a[dwarf1.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems/lib/libbfd.a[coff-rs6000.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems/lib/libbfd.a[xcofflink.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems/lib/libbfd.a[ppcboot.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems/lib/libbfd.a[elf32-gen.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems/lib/libbfd.a[cpu-rs6000.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems/lib/libbfd.a[cpu-powerpc.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems/lib/libiberty.a[concat.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems//lib/libiberty.a[fnmatch.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems//lib/libiberty.a[hashtab.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems//lib/libiberty.a[hex.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems//lib/libiberty.a[objalloc.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems//lib/libiberty.a[safe-ctype.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems//lib/libiberty.a[xexit.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems//lib/libiberty.a[xmalloc.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems//lib/libiberty.a[xstrerror.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems//lib/libiberty.a[basename.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems//lib/libiberty.a[strncmp.o]' couldn't be removed; probably it's needed by the application
Object 'librtemsbsp.a[ftpd.o]' not found!
Warning: Object '/opt/rtems3/ppc-rtems//lib/libopcodes.a[dis-buf.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems//lib/libopcodes.a[disassemble.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems//lib/libopcodes.a[ppc-dis.o]' couldn't be removed; probably it's needed by the application
Warning: Object '/opt/rtems3/ppc-rtems//lib/libopcodes.a[ppc-opc.o]' couldn't be removed; probably it's needed by the application
ppc-rtems-ld -To-optimize/ldep.lds -r -o o-optimize/allsyms.o o-optimize/empty.o
ppc-rtems-g++ -B/opt/rtems3/ppc-rtems/mvme5500/lib/ -specs bsp_specs -qrtems   -g -Wall  -g     -mcpu=7450 -Dmpc7455 -mmultiple -mstring -mstrict-align -DUSE_POSIX -DRTEMS_BSP_NETWORK_DRIVER_NAME=\"Geth1\" -DRTEMS_BSP_NETWORK_DRIVER_ATTACH=rtems_GT64260eth_driver_attach -DWINS_LINE_DISC -DUSE_TECLA   -I.   -Wl,-Map,o-optimize/linkmap    -o o-optimize/rtems5500-cexp.exe  o-optimize/init.o o-optimize/rtems_netconfig.o o-optimize/config.o o-optimize/term.o   o-optimize/allsyms.o  -lcexp -lbfd -lspencer_regexp -lopcodes -liberty -ltecla_r -lbspExt -lm -lrtems++    
ppc-rtems-nm -g -n o-optimize/rtems5500-cexp.exe > o-optimize/rtems5500-cexp.num
ppc-rtems-size o-optimize/rtems5500-cexp.exe
   text	   data	    bss	    dec	    hex	filename
1435580	 311604	  78836	1826020	 1bdce4	o-optimize/rtems5500-cexp.exe
#       test -d /opt/rtems3/ppc-rtems/mvme5500/bin || mkdir /opt/rtems3/ppc-rtems/mvme5500/bin
ppc-rtems-objcopy -Obinary o-optimize/rtems5500-cexp.exe o-optimize/rtems5500-cexp.bin
xsyms o-optimize/rtems5500-cexp.exe o-optimize/rtems5500-cexp.sym
README: written by S. Kate Feng <[email protected]>, 2004/5/14

Please read the attached LICENSE carefully and understand that this
package offers no warranty and liability. It is only for personal
evaluation. I will release the complete source codes of the
MVME5500 BSP as soon as I resolve the legal issues with the Brookhaven
National Laboratory, which is mostly due to the fact that the datasheet
of the MVME5500 demands the Non Disclosure Agreement.


Due to the restriction of the GNU General Public License, I am not
allowed to distribute the rtems5500-cexp in the binary form.
One would have to build it oneself.  

To install the libraries for RTEMS-mvme5500 BSP :
0) Download the MVME5500 Libraries and copy it to /opt/rtems/ppc-rtems
1) cd /opt/rtems/ppc-rtems
2) gunzip mvme5500Lib.tar.gz
3) tar xvf mvme5500Lib.tar


Download RTEMS-mvme5500.tar.gz to build cexp, rtems5500-cexp.bin
and rtems5500-cexp.sym.

To build cexp : 
0) cd cexp-1.4.beta
1) mkdir build_linux_ppc-rtems
2) cd build_linux_ppc-rtems
3) ../configure --prefix=/opt/rtems/ppc-rtems --host=ppc-rtems --with-multisubdir=m750 --disable-nls
4) make install
5) One might have to manually install some or all of the libraries to 
/opt/rtems/ppc-rtems/lib and the header files to /opt/rtems/include,
which is mentioned at the end of INSTALL.
 
To build xsyms :
0) cd cexp-1.4.beta
1) mkdir build-xsyms
2) cd build-xsyms
3)  ../configure --target=ppc-rtems
4) cp xsyms /opt/rtems/bin/.


To build rtems5500-cexp.bin and rtems5500-cexp.sym :
0) cd RTEMS5500-GeSys_2.1.beta
1) make
2) copy o-optimize/rtems5500-cexp.bin and o-optimize/rtems5500-cexp.sym
to /tftpboot/epics/hostname/bin/ directory.


MOTOROLA recalled all the mvme5500 boards that were distributed earlier.
Please contact your vendor to make sure you have the up-to-date board.

Other requirement :
1) One needs BOOTP and TFTP servers to boot the system.
2) Please copy the rtems5500-cexp.bin, rtems5500-cexp.sym and st.sys
 into the directory  /tftpboot/clientName/bin/ and setup the
/etc/bootptab properly (Note : EPICS needs a NTP server). 

3) The boot script setup from MOTLoad firmware: 

gevEdit mot-script-boot
tftpGet -cxx.xx.xx.xx -sxx.xx.xx.xx -m255.255.254.0 -d/dev/enet0 -fRTEMS/bin/rtems5500-cexp.bin
netShut
go


Note : (cxx.xx.xx.xx is the client IP address and 
        sxx.xx.xx.xx is the server IP address)

4) When generating code (especially C++) for this system, make sure
   you use gcc-3.2 (preferrably a copy downloaded from the RTEMS
   site [snapshot area] )

5) Please reference http://www.slac.stanford.edu/~strauman/rtems
for the cexp, GeSys and other useful utilities such as telnet, nfs,
and so on.


The distributed files include:
 - README : this file
 - cexp-1.4.beta/ (the source codes of the cexp and the build log)
 - RTEMS5500-GeSys_2.1.beta/(the source codes of the GeSys and the build log)
 - st.sys (example cexp script )
 - test.c ("hello world" and memory tests )
 - An example makefile used for compiling the test.c
 - RTEMS-mvme5500.ppt (the related power point presentation for the
                       RTEMS-mvme5500 BSP)


TODO lists:
1) To optimize the IRQ handling and to implement the software IRQ
   priority levels.
2) To measure the interrupt latency and context switching.
3) 1 GHZ ethernet
4) To implement the watchdog timer.

LICENSING: Note that this demo is made available for
personal/evaluation use. Several licenses apply. The
source code and the licensing conditions for the
various products are available on line. Google for

 - RTEMS                  (RTEMS License)
 - libbfd                 (GNU GPL)
 - libtecla               (X11-style license)
 - cexp                   (EPICS Open license)
 - 'Henry Spencer' regexp (consult README in distribution; nearly public-domain)

and make sure to understand the licensing terms.

LICENSE:

        Brookhaven National Laboratory Notice
        *************************************

        Acknowledgement of sponsorship
        - - - - - - - - - - - - - - - -
        Part of this software was produced by the National Synchrotron Light Source,
        Brookhaven National Laboratory, under Contract DE-AC02-98CH10886 with the Department
        of Energy.

        Stanford Notice
        ***************

        Acknowledgement of sponsorship
        - - - - - - - - - - - - - - - -
        Part of this software was produced by the Stanford Linear Accelerator Center,
        Stanford University, under Contract DE-AC03-76SFO0515 with the Department
        of Energy.

        Government disclaimer of liability
        - - - - - - - - - - - - - - - - -
        Neither the United States nor the United States Department of Energy,
        nor any of their employees, makes any warranty, express or implied,
        or assumes any legal liability or responsibility for the accuracy,
        completeness, or usefulness of any data, apparatus, product, or process
        disclosed, or represents that its use would not infringe privately
        owned rights.

        Brookhaven disclaimer of liability
        - - - - - - - - - - - - - - - - -
        Brookhaven Nataionl Laboratory makes no representations or warranties, express or
        implied, nor assumes any liability for the use of this software.

        Stanford disclaimer of liability
        - - - - - - - - - - - - - - - - -
        Stanford University makes no representations or warranties, express or
        implied, nor assumes any liability for the use of this software.

        Maintenance of notice
        - - - - - - - - - - -
        In the interest of clarity regarding the origin and status of this
        software, Stanford University and Brookhaven National Laboratory
        requests that any recipient of it maintain this notice affixed to
        any distribution by the recipient that contains a
        copy or derivative of this software.

        Third Party Software
    - - - - - - - - - - -
    CEXP may be linked against third party software which is distributed
    with CEXP for your convenience. Note that this license does NOT apply
    to any of the software found in the "libelf", "libtecla", "binutils"
    or "regexp" subdirectories. These products come with their own respective
    license. Make sure you study and understand their respective licensing
    conditions before using those packages.

References:
RTEMSfor MVME5500 Kiman Ha

Navigate by Date:
Prev: Agilent 33220A RF-Generator Support? Porter, Rodney R.
Next: Re: IP-Octal 422 Brian McAllister
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  <20042005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RTEMSfor MVME5500 Kiman Ha
Next: RE: RTEMSfor MVME5500 Luchini, Kristi
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  <20042005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·