GNU Tool Chain Porting and MILEPOST GCC
The open source GNU tool chain is the most widely
available set of tools for software development on
embedded processors. Unlike most proprietary offerings,
it is available for a wide range of different embedded
processors. With heterogenous SoC designs becoming the
norm, it is little surprise that major design houses are
insisting on GNU support for any processor IP they use.
The growth in popularity of the GNU tools is further
driven by the growth in Linux and derivatives such as
Android for embedded targets, all of which rely on the
GNU C compiler.
Embecosm's leads the way with its development of the
first commercially supported versions of MILEPOST GCC,
adding machine learning technology to give further
improvements to the performance of code generated by the
compiler.
Quality and Expertise
Quality is key when implementing a tool chain. The
worlds finest silicon can be let down if its tool chain
does not deliver first class reliability, code density and
performance. With around 4 million lines of code, the
GNU Compiler Collection (GCC) represents the biggest of
all challenges.
Compiler and debugging technology is highly
complex. Quality demands the most skilled and
experienced of engineers, which Embecosm can provide.
-
Dr
Jeremy Bennett is author of a standard
University text on compiler technology, and author
of the widely used guide to porting the GNU
Debugger. With nearly 30 years professional
experience, he leads Embecosm's debugger and model
integration work.
-
Jörn
Rennecke is one of the worlds foremost
experts on GCC for embedded targets. A contributor
to the GCC project for nearly 15 years, he leads
Embecosm's GNU compiler work.
MILEPOST GCC
MILEPOST GCC was the result of a European research
project to improve GCC code generation for embedded
targets. Machine learning technology is used, so that
the compiler can determine from past experience the best
optimization heuristics to use for any particular
program. MILEPOST GCC, which offers signficant
improvements in performance over standard GCC, was
released in June 2009, and Embecosm is the first company
to offer commercial support for this technology.
Our technology
pages give more information on how MILEPOST GCC
works, and the performance improvements that are
possible.
Availability
Embecosm engineers are available to port the latest
versions of GNU tools and libraries and to upgrade
existing implementations.
MILEPOST GCC 4.4 was released in June 2009 for AMD
Athlon, Intel Xeon, Intel Itanium and ARC 745. Embecosm
are now able to provide ports of this technology to any
processor supporting GCC 4.4. Where GCC 4.4 is not
available for a target processor, Embecosm can also
provide that implementation.
All services come with an initial 3 month support
package, which can be extended as desired.
Embecosm Services
Embecosm provides the following services for customers
wishing to improve their GNU tool chain technology.
-
MILEPOST Evaluation Package. Intended for
customers who wish to evaluate the potential
benefits of MILEPOST, based on the existing GCC 4.4
implementation.
Embecosm provides a migration of the existing GCC
4.4 implementation to MILEPOST. We then visit the
customer site for a minimum of two weeks to install
MILEPOST GCC and work with the customer to build an
evaluation optimization database and measure the
benefits. The entire program should be completed
within one month.
This service is supplied as a fixed price
package.
-
MILEPOST Deployment Package. For customers
who have decided to deploy MILEPOST GCC, or who need
MILEPOST GCC to run with new targets.
Embecosm integrates the new GCC 4.5 MILEPOST plugin
to the customer's existing GCC 4.5
implementation. This is extended with refinements to
control which optimization passes can be selected
(not all are appropriate for all targets or
applications). This is then used to build a
production optimization database, using iterative
compilation over a representative set of
applications.
Embecosm work with the customer to put in place
approriate test and release processes before
deployment. We implement a strategy to allow third
parties to report issues, including the status of
the optimization database.
For customers without a GCC 4.5 implementation,
Embecosm can upgrade an existing implementation to
GCC 4.5, or provide a new implementation from
scratch.
This service can be supplied as a fixed price
package.
-
Provide new ports of binutils, GCC, GDB and GNU
libraries. For users without an existing GNU
tool chain for their processor.
Embecosm engineers create a new port, based on the
latest versions of the tools, following the current
coding standards, or tool implementation strategy.
Option. Embecosm offer a minimal version of
this package, aimed at start-ups developing new
processors, who need to demonstrate that the GNU
tool chain can work with their processor. The
resulting tool chain is restricted in functionality,
and not ready for commercial deployment. However it
is appropriate for demonstrating that the technology
will work without problems to investors.
Option. This work can be compbined with
integrating the Embecosm Unified Debug Interface and
incorporating MILEPOST GCC.
Option. Embecosm can manage introduction of
the new port(s) into the mainstream FSF
distribution(s) and provide ongoing maintenance of
the code to ensure consistency within the mainstream
distribution.
The minimal version of this service can be supplied
as a fixed price package.
-
Upgrade Existing Ports of binutils, GCC, GDB and
GNU libraries. For users with an existing port,
but which are now out of date.
Embecosm engineers migrate the existing code to the
latest versions of the tools. Where code does not
follow the current coding standards, or tool
implementation strategy, it is corrected.
Option. This work can be compbined with
integrating the Embecosm Unified Debug Interface and
incorporating MILEPOST GCC.
Option. Embecosm can manage introduction of
the new port(s) into the mainstream FSF
distribution(s) and provide ongoing maintenance of
the code to ensure consistency within the mainstream
distribution.
For further information, including pricing, please contact
us.
|