9
Cross-Compiler Issues EPICS Meeting, May 2001 Markus Janousch (SLS)

Cross-Compiler Issues EPICS Meeting, May 2001 Markus Janousch (SLS)

Embed Size (px)

Citation preview

Page 1: Cross-Compiler Issues EPICS Meeting, May 2001 Markus Janousch (SLS)

Cross-Compiler Issues

EPICS Meeting, May 2001

Markus Janousch (SLS)

Page 2: 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

Page 3: Cross-Compiler Issues EPICS Meeting, May 2001 Markus Janousch (SLS)

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

Page 4: Cross-Compiler Issues EPICS Meeting, May 2001 Markus Janousch (SLS)

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

Page 5: Cross-Compiler Issues EPICS Meeting, May 2001 Markus Janousch (SLS)

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

Page 6: Cross-Compiler Issues EPICS Meeting, May 2001 Markus Janousch (SLS)

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

Page 7: Cross-Compiler Issues EPICS Meeting, May 2001 Markus Janousch (SLS)

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.

Page 8: Cross-Compiler Issues EPICS Meeting, May 2001 Markus Janousch (SLS)

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?

Page 9: Cross-Compiler Issues EPICS Meeting, May 2001 Markus Janousch (SLS)

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.