GNUPro Toolkit Documentation|
Contents|
Index|
Previous|
Next
Cygnus
and GNUPro Toolkit fundamentals
The
following documentation introduces the fundamentals of the GNUPro tools.
Cygnus is the leading provider of single-source, UNIX,
and NT desktop and cross-platform development tools for 32-
and 64-bit microcontrollers. Cygnus provides GNUPro Toolkit as a
set of powerful, multi-platform software development tools for advanced
desktop and embedded systems. For more details, see What's
in this package.
For information
on what's supported, see the following documentation.
Cygnus sells the GNUPro toolkit
together with partner support services for rapid response and resolution
of technical questions or problems, as well as regular software upgrades
with enhancements. See also Red flag
alerts & enhancements and, to report problems or to find out about
problems, see How to report problems.
About Cygnus
Cygnus was founded as a company in 1989
to provide commercial support for open Internet technologies. Having established
a support model for the GNU standard, leveraging the contributions of the
net community and the requirements of the semiconductor industry, Cygnus
has produced a powerful multi-platform software development toolkit. Its
changes and improvements are returned to the net community with assoxciations
to the Free Software Foundation, while the Cygnus implementation of the
these tools is sold and supported directly by Cygnus. Driven by a unique
business model, a consistent profitability and solid financial position
have enabled rapid expansion of operations to support the growing needs
of a loyal customer base.
Global in both operations and customer
set, Cygnus has its headquarters in Sunnyvale, California, with additional
offices in Cambridge, Massachusetts and Atlanta, Georgia in the United
States; international offices are in Japan, the United Kingdom, Canada,
and Germany. With historical roots and current strong ties with the Internet
community, Cygnus leverages the global power of the Internet to drive innovation
and recruits new engineers for broadening resources.
Pervasive
computing
Cygnus also benefits from advances in all of the related
technologies that make end-user solutions more cost-effective and drive
end-user demand. These technologies include storage ( disk, flash, DRAM),
display (LCD), Internet and communication protocols, and wireless connectivity.
Collectively, advances in these technologies allow ever-greater embedding
of intelligence in traditional embedded systems (telecommunications equipment,
automobiles, office equipment), and enable completely new classes of computing
devices such as Personal Digital Assistants (PDAs).
One thing is certain: software tools and software content
for them must keep pace in order to realize the promise of powerful, distributed,
and densely interconnected computing power. The Cygnus mission is to enable
this vision of "pervasive computing" through software solutions.
Cygnus doesn't deliver technology for technology's
sake. Our clients turn to us to create flexibility (with single-source
solutions providing true multi-platform capabilities and easy retargeting),
to shorten time-to-market (starting software development before hardware
is ready), and to reduce costs (providing cost-effective support services
and redistributable solutions).
These are the reasons that the best names in the business
choose Cygnus.
The company strategy is to continue to extend the functionality
and performance of the development tools, as well as to deliver innovative
software component technologies for use in embedded systems. Customers
include the world's top microcontroller companies as well as leading telecommunications
software, game console, consumer electronics, and office equipment companies.
The world's leading product manufacturers choose the GNUPro
toolkit for these benefits:
-
Multi-platform capabilities
from a single source base to quickly port code
-
Knowledgeable support for keeping
design teams productive and on-schedule
-
Superior software engineering,
incorporating leading-edge features and code optimizations
-
Early availability of tools for
a wide range of processors
-
Stringent testing to insure solid,
stable tools for fast development
-
Custom enhancements to decrease
time to market
Cygnus offers
contract engineering services to address a focused set of business problems,
offering these services primarily through our Silicon Partners program,
working directly with leading microcontroller companies to port GNUPro
technology to the latest microcontroller architectures and targeted optimizations.
Silicon Partners choose Cygnus because of the following reasons:
-
Shortening time to market by
delivering software tools in parallel with hardware development
-
Having GNU compatibility, driving
acceptance in the marketplace since GNU tools dominate the installed base
of potential users, and since the single-source solution helps reduce customer
risk
-
Providing joint marketing services
-
Offering access to advanced technologies
such as NetTarget (which allows remote evaluation of hardware and software
over the Internet)
-
Commiting to solid, professional
engineering services under firm, fixed-price contracts
What's
in this package
GNUPro Toolkit includes a
C/C++ compiler, a powerful source-level debugger with a graphical user
interface, an assembler, a linker/loader, binary file utilities, and libraries.
Complete source code, tested binaries, and product documentation accompany
the tools. Not all tools are available for all platforms and operating
systems. See Embedded cross-configuration
support for specific information on your system. See What's
in this package for information about the tools.
To locate specific documentation,
see GNUPro Toolkit documentation
and, also, see the following topics.
GNUPro software delivers productivity,
flexibility, performance and portability with its ISO-conforming C and
ISO-tracking C++ compiler, macro-assembler, GUI debugger, binary utilities
and libraries.
See GNUPro
Toolkit documentation for the discussion to which the following documentation
refers for GNUPro Toolkit components.
See the following documentation
for more about what GNUPro Toolkit contains.
Compilers
and development tools
The following tools are the main tools
for developing with GNUPro Toolkit.
Libraries
See GNUPro Libraries for
documentation regarding these libraries.
|
|
ANSI
C runtime library ( only available for cross-development)
|
| libm |
C math subroutine library ( only available for cross-development) |
| libio |
C++
iostreams library |
| libstdc++ |
C++
class library |
Binary
utilities
See GNUPro Utilities for
documentation for the following utilities.
|
|
C++
symbol name deciphering utility
|
|
|
Lists object
file symbol tables
|
|
|
Displays object
file information
|
|
|
Lists section
and total sizes
|
|
|
Manages object
code archives
|
|
|
|
|
|
|
|
|
Copies
and translates object files
|
| addr2line |
Translates program addresses into file names and line
numbers |
| windres |
Manipulates Windows resources |
General
utilities
See GNUPro Utilities and
GNUPro Compiler Tools and the online documentation for clarification
regarding the following utilities.
|
|
Fast lexical
analyzer generator
|
|
|
Compilation
control program
|
|
|
|
|
|
|
|
|
Compares
files byte-by-byte
|
|
|
|
GNUPro
Toolkit documentation
GNUPro Toolkit includes documentation in
three forms.
Documentation
conventions
The
documentation uses the following conventions for commands, filenames, and
other program-specific subjects.
-
Typewriter-text for input
Indicates onscreen text as an example of input for a
program, such as PATH=/usr/cygnus . It will also indicate other
literal bits of text from a program, such as filenames or source code.
-
Typewriter-text in bold
for output
Indicates text that is an example of a program's onscreen
output such as % or (gdb) as command prompt.
IMPORTANT!
% indicates a command
prompt in most documentation; a command prompt in some rare examples, depending
on the system in use and the program's tool, may actually be #
or $ and, as with the visual debugger, Cygnus Insight,
the command prompt is (gdb).
-
Typewriter-text
in italics for variables
Indicates text that stands for variable input such as
filename where the actual input might be a file with the
name, foobar.c . For instance, the documentation may read "To
delete the file named filename , type rm filename
." filename stands for the file you want to substitute,
according to its name.
-
Keys
or keystroke combinations to use
This font indicates keys on your keyboard, such as Ctrl,
Delete, or even the spacebar
key.
The Ctrl
key and the Meta key are often indicated in the text by C-
and M-, respectively. In addition,
Meta (or M-) may indicate, for
example, the Alt key on a Windows keyboard,
or a diamond-key on Unix keyboards.
The Enter
(carriage return) key on your keyboard may appear as ENTER
or RET (for return) in text.
What's
in the documentation
GNUPro Toolkit documentation includes the following documentation.
Using
online documentation
For online
use, the accompanying software includes online versions of the following
documentation. This is not to be confused with the HTML versions.
-
man
pages
For all the tools and programs in this release.
-
FLEX: A
Fast Lexical Analyzer Generator
Generates lexical analyzers suitable for GNU gcc
and other compilers.
-
Using an Porting GNU CC
Detailed information about what's needed to put the GNU
compiler, GCC, on different platforms, or to modify GCC. Also includes
the information from the printed manual, Using GNU CC.
-
BYacc
Discussion of the Berkeley Yacc parser generator.
-
Texinfo: The GNU Documentation
Format
How you can use TEX to print these manuals, and how to
write your own manuals in this style.
-
Cygnus configuration program
Details on the configuration program used in GNUPro Toolkit.
-
GNU
Coding Standards
A complete discussion of the coding standards used by
the GNU project.
-
GNU gprof
Details on the GNU performance analyzer, only
for the Sun-3 and Sun-4 (SunOS 4.1 or Solaris 2) platforms.
You have the
freedom to copy the documentation using its accompanying copyright statements,
which include the necessary permissions.
See Using
info in GNUPro Utilities for documentation
regarding the following tools.
Texinfo*,
texindex, texi2dvi
|
Documentation
formatting tools
|
|
|
Online
documentation tools
|
*
Requires TEX, the technical documentation formatting tool
Reading
online documentation
You
can browse through the online
documentation using either Emacs or the info
documentation browser program, included in the GNUPro Toolkit. Online,
the information is organized into nodes, corresponding to the sections
of a printed book.
You can follow them in sequence, as in the printed books,
or, using the hyperlinks, find the node that has the information you need.
info has hot references; if one section refers to another
section, you can have info take you immediately to that other
section--and you can get back again easily to take up your reading where
you had been. Naturally, you can also search for particular words or phrases.
The best way to get started with the online documentation
system is to run the browser, info. After installing GNUPro Toolkit,
you can get into info by just typing its name at your shell prompt
(shown as % by the following example)--no options or arguments
are necessary.
You may need
to check that info is in your shell path after you install GNUPro
Toolkit. If you have problems running info , contact your system
administrator.
To learn how to use info
, type h for a programmed instruction
sequence, or Ctrl-h for a short summary
of commands.
If at any time you are ready
to stop using info , type q.
See Using
info in GNUPro Utilities for detailed
discussion of the info program.
Using
website documentation
As with all
GNU software, the HTML source for documentation is available (or
you can convert it yourself using publicly available utilities) if you
wish to put them into an internal Web server.
Documentation
is also available in HTML format (see GNUPro
Toolkit documentation).
Contact
Cygnus to report any problems to the documentation department: doc@cygnus.com
.
Native
configurations support
GNUPro Toolkit software supports the following
native configurations.
| DEC Alpha Digital UNIX 4.0 |
| HP 9000/700 HP-UX 10.01/10.10/10.20 |
| IBM RS/6000 AIX 3.2.5/4.1.4 |
| IBM PowerPC AIX 4.1.4/4.2 |
| Linux RedHat 5.1 (i486) |
| SGI Iris 5.3/6.2 |
| Sun SPARC Solaris 2.5.1/2.6 |
| Sun SPARC SunOS 4.1.4 |
| Windows NT4.0-sp3/95-osr2
* |
*
See also Cygwin:
a free porting layer for Unix applications for details about using
the GNUPro tools for developing programs in the Win32 environment.
Embedded
cross-configuration support
GNUPro Toolkit
software supports the embedded cross-configurations as detailed in Embedded
cross-configurations supported.
Note:
In the following table, x
denotes a version number range; for instance, with the HP-UX 10.x
, the x denotes support for all the 10.01, 10.10
or 10.20 versions.
Embedded
cross-configurations supported
|
|
|
|
|
HP-UX 10.x
|
PowerPC
|
ELF (EABI)
|
|
MIPS 64 VR5xxx |
ELF |
| SGI Irix 5.3/6.2 |
SH |
COFF |
| SPARC Solaris 2.5.1 |
ARM 7/7T |
COFF |
| |
H8/300, H8/300H, H8S |
COFF |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MIPS VR5xxx |
ELF |
|
MIPS LSI TinyRISC |
ELF |
|
MIPS TX39 |
ELF |
|
|
|
|
|
|
|
|
|
SPARC |
ELF |
|
SPARClet |
a.out |
|
V85x |
ELF |
|
x86 |
COFF, ELF |
| SPARC SunOS 4.1.4 |
D10V |
ELF |
|
i960 |
COFF |
|
M68K |
a.out, COFF |
|
MIPS VR4100 |
ELF |
|
MIPS VR4300 |
ELF |
|
MIPS VR5xxx |
ELF |
|
MIPS LSI TinyRISC |
ELF |
|
MIPS TX39 |
ELF |
|
PowerPC |
EABI |
|
SH |
COFF |
|
SPARC (MicroSPARC) |
ELF |
|
V85x |
ELF |
|
x86 |
COFF |
| Windows NT4.0/95 ** |
ARM 7/7T |
COFF |
|
D10V |
ELF |
|
H8/300, H8/300H, H8S |
COFF |
|
i960 |
COFF |
|
M68K |
COFF, ELF * |
|
MIPS VR5xxx |
ELF |
|
MIPS LSI TinyRISC |
ELF |
|
MIPS TX39 |
ELF |
|
PowerPC |
EABI |
|
SH |
COFF |
|
SPARC (MicroSPARC) |
ELF |
|
V85x |
ELF |
|
x86 |
COFF |
*
To use
the Motorola "Coldfire" version as the configuration to target, see Motorola
m68k development in GNUPro Tools
for Embedded Systems.
**
See also Cygwin:
a free porting layer for Unix applications for details about using
the GNUPro tools for developing programs in the Win32 environment.
Version
numbers for programs
Versions
of the tools shows the current version numbers for individual programs
in GNUPro Toolkit.
Versions
of the tools
Naming
hosts and targets
Your CD is
labeled to indicate the host (and target, if applicable) for which the
binaries in GNUPro Toolkit are configured. The specifications used for
hosts and targets in the configure script are based on a three-part naming
scheme, though the scheme is slightly different between hosts and targets.
The full naming
scheme for hosts encodes three pieces of information in the following standard
pattern.
For instance,
the full name for a Sun SPARCstation running SunOS 4.1.4 is sparc-sun-sunos4.1.4
.
WARNING!
configure can represent
a very large number of combinations of architecture, vendor, and operating
systems. Support is not possible for all combinations.
Host
names
Table
5: Naming hosts shows the usage of canonical names for referring
to the corresponding host platforms that Cygnus supports. For any questions
about compatibility, contact Cygnus (see How
to contact Cygnus).
Table
5: Naming hosts
|
|
|
|
|
DEC Alpha
Digital UNIX v4.0
|
|
|
HP 9000/700,
HP-UX B.10.01
|
|
|
HP 9000/700,
HP-UX B.10.20
|
| hppa1.1-hp-hpux11 |
HP 9000/700, HP-UX B.11.0 |
|
|
|
|
|
Intel PC,
Linux RedHat 5.1
|
| mips-sgi-irix5 |
SGI Irix 5.3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SPARCstation,
Solaris 2.5.1
|
|
|
SPARCstation,
Solaris 2.6
|
|
|
SPARCstation,
SunOS 4.1.4
|
Target
names
The following
tables list some of the more common targets supported by Cygnus. Not all
targets have support on every host. See also Native
configurations support and Embedded
cross-configuration support for the matrices of the host/target combinations
supported by Cygnus. Also, for more informaton on using particular tools
and their targets, see GNUPro Tools
for Embedded Systems.
WARNING!
configure can represent
a very large number of target name combinations of architecture, vendor,
and object formats. Support is not possible for all combinations.
H8/300
processor name and output format
|
|
|
| sh-hms |
COFF object code format |
i960 processor names and
output format
|
|
MON960
monitor (COFF format)
|
M68K processor names and
output formats
* To use the Motorola "Coldfire"
version as the configuration to target, see Motorola
m68k development in GNUPro Tools
for Embedded Systems.
MIPS processor names and
output formats
|
mips64vr5xxx-elf
|
ELF object code format
|
| mips-elf |
ELF object code format |
| mips-lsi-elf |
ELF object code format |
|
|
|
PowerPC processor names and
output formats
|
|
ELF object
code format (EABI)
|
SH processor name and output
format
SPARC processor names and
output formats
|
|
|
|
sparc-coff
|
COFF object code format
|
| sparc-elf |
ELF object code format |
| sparclet-aout |
a.out object code format |
x86 processor names
and output formats *
|
|
|
| i386-coff |
COFF object code format |
|
|
|
*
See also Cygwin: a free
porting layer for Unix applications for details about using the GNUPro
tools for developing programs in the Win32 environment.
Using
config.guess
config.guess
is a shell script that attempts to deduce the host type from which it is
called, using system commands like uname if they are available.
config.guess
is remarkably adept at deciphering the proper configuration for your host;
if you are building a tree to run on the same host on which you're building,
we recommend not specifying the hosttype argument.
config.guess
is called by configure ; you need never run it by hand, unless
you're curious about the output.
Top|Contents|Index|Next