110 likes | 227 Vues
Cross-Compiler Issues. EPICS Meeting, May 2001 Markus Janousch ( SLS ). O utline. What and why EPICS, VxWorks Tool Chain (GCC, Binutils) How to build Open issues Conclusions. RT-embedded systems Special hardware Real world events Dedicated systems No development tools
E N D
Cross-Compiler Issues EPICSMeeting, May 2001 Markus Janousch (SLS)
Outline • What and why • EPICS, VxWorks • Tool Chain (GCC, Binutils) • How to build • Open issues • Conclusions EPICS Meeting, May 2001
RT-embedded systems Special hardware Real world events Dedicated systems No development tools (VxWorks, RTEMS) Mainframes, PCs Common hardware Many applications General systems Many development tools Why Cross Compilers? Tool Chain TARGET HOST EPICS Meeting, May 2001
VxWorks, EPICS Relationship VxWorks Kernel (OS), … No development tools on the target Development on the host EPICS Collection of applications Runs on RT-system C source code Tornado EPICS Meeting, May 2001
Compiler Preprocessor Assembler Archiver Tornado 1 based on GNU GCC for compiler (2.7.2) Binutils (2.7.1) No Tornado available for Linux Host (ver. < 3). A Tool Chain Linker Loader Debugger … Libraries EPICS Meeting, May 2001
How to build a X-compiler 1. Prerequisites Have -gcc-2.8.1 + patches -binutils 2.9.1 + patches -VxWorks header files (Tornado 1) 2. ./configure –prefix=/usr/local/cross –target=powerpc-wrs-vxworks --… 3. make all install 4. Renaming of executables, to conform to Tornado 5. RPMs for Host=(RH6,7), target = 68k, PPC EPICS Meeting, May 2001
Newer Versions Latest versions gcc-2.95.3 Binutils 2.11 Don’t use gcc-2.96(97)!See RH7.0 desaster. Can give instructions how to build. EPICS Meeting, May 2001
Open Issues • C++, name mangling, munching, STL, IO, ANSI, … • What happens in gcc-3? • What do others? EPICS Meeting, May 2001
Conclusions • Use development under Linux exclusively. • VxWork kernel build on a Sun. • Occasionally use other Tornado tools. EPICS Meeting, May 2001