Outline:
Outline What and why
EPICS, VxWorks
Tool Chain (GCC, Binutils)
How to build
Open issues
Conclusions
Why Cross Compilers?:
Why Cross Compilers? 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
Tool Chain
TARGET HOST
VxWorks, EPICS Relationship:
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
A Tool Chain:
A Tool Chain 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).
Linker
Loader
Debugger
…
Libraries
How to build a X-compiler:
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
Newer Versions:
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.
Open Issues:
Open Issues C++, name mangling, munching, STL, IO, ANSI, …
What happens in gcc-3?
What do others?
Conclusions:
Conclusions Use development under Linux exclusively.
VxWork kernel build on a Sun.
Occasionally use other Tornado tools.