Upload
erin-york
View
213
Download
0
Embed Size (px)
Citation preview
Cross-Compiler Issues
EPICS Meeting, May 2001
Markus Janousch (SLS)
X-Compilation EPICS Meeting, May 2001 M.Janousch
Outline
• What and why
• EPICS, VxWorks
• Tool Chain (GCC, Binutils)
• How to build
• Open issues
• Conclusions
X-Compilation EPICS Meeting, May 2001 M.Janousch
Why Cross Compilers?
RT-embedded systemsSpecial hardware
Real world events
Dedicated systems
No development tools(VxWorks, RTEMS)
Mainframes, PCsCommon hardware
Many applications
General systems
Many development tools
Tool ChainTARGET HOST
X-Compilation EPICS Meeting, May 2001 M.Janousch
VxWorks, EPICS Relationship
VxWorksKernel (OS), …No development tools on the targetDevelopment on the host
EPICSCollection of applicationsRuns on RT-systemC source code
Tornado
X-Compilation EPICS Meeting, May 2001 M.Janousch
A Tool Chain
CompilerPreprocessorAssemblerArchiver
Tornado 1 based on GNUGCC for compiler (2.7.2)
Binutils (2.7.1)
No Tornado available for Linux Host (ver. < 3).
Linker
Loader
Debugger
…
Libraries
X-Compilation EPICS Meeting, May 2001 M.Janousch
How to build a X-compiler
1. PrerequisitesHave -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 install4. Renaming of executables, to conform to Tornado5. RPMs for Host=(RH6,7), target = 68k, PPC
X-Compilation EPICS Meeting, May 2001 M.Janousch
Newer Versions
Latest versionsgcc-2.95.3
Binutils 2.11
Don’t use gcc-2.96(97)! See RH7.0 desaster.
Can give instructions how to build.
X-Compilation EPICS Meeting, May 2001 M.Janousch
Open Issues
• C++, name mangling, munching, STL, IO, ANSI, …
• What happens in gcc-3?
• What do others?
X-Compilation EPICS Meeting, May 2001 M.Janousch
Conclusions
• Use development under Linux exclusively.
• VxWork kernel build on a Sun.
• Occasionally use other Tornado tools.