CELF Project Proposal: Create a versatile open toolbox pllatform

Luc Paugam

Summary: Creation and Design of a versatile open toolbox platform

Proposer: Luc Paugam

The open toolbox platform shall aim at becoming the Swiss Army Knife
embedded Linux developments for debugging and testing of systems,
boards, CPUs, or real silicons emulated or not.
This framework/tool shall provide a versatile development toolbox
usable for many kinds of debugging and testing situations during the

development or production of Embedded Linux Systems.
This tool shall be open, fully configurable, flexible and modular
enough to be hooked up quickly and easily whatever the development
test environments.
Freely available to the public, The software architecture of this
toolbox platform shall allow users to extend the list of supported
targets, to extend the functionalities, and to "derive" the original
use of this toolbox to other needs.

Remotely managed by a host application (i.e. GDB or custom
through an Ethernet or a USB link, connected to an embedded target
a JTAG connection or equivalent, this toolbox product shall allow
kind of debugging purposes, and/or testing of CPUs, real Silicons or

emulated ones, boards, or systems.

The firmware embeddable into the toolbox shall be designed around
a hierarchy of SW layers featuring:
- The debug of JTAG-chained multi-core HW architectures
- The debug of synchronous and asynchronous multi-core HW
- An embedded GDB multiplexer allowing multi-host debugging
sessions, as much as CPU cores detected in a JTAG chain
- The download of new communication plugins into the toolbox to
support other CPUs or other "derived" uses ...etc
- The reconfiguration of the whole pinout of the communication
connected to the target system
- The port of the firmware/SW on any Linux computer connected to

debug links of an emulated Silicon
- Allow the firmware to interface and to communicate itself with

silicon emulators, like Modelsim or Ncsim
- The design is freely accessible, enabling any kind of enhancements
or derived work
- Allow users to increase the set of functionalities, and the list
of supported target systems
- Allow derived works to be used in other development contexts, like
tracing, profiling or whatever.

It exists some open tools used for debugging purposes with limited
functionalities, and limited communication means with the host or
target system. They do not provide configurability, nor
and do not allow any kinds of "derived" works.
Today there is no real open tool standard. Even if exists fragmented

commercial offers of hardware probes, those products are usually
products, are quite expensive, provide no way to enhance their I/O
configurations, their functionalities, and provide no way to enlarge

the contexts of debugging and testing situations.
they are not able to communicate with open source CPUs (like Sparc,
LEON, or Open Cores).
Their firmware can't be modified to support other development
environments at both the host side, and at the target side.

This open toolbox product shall be a framework/tool for debugging
and testing purposes,
and will provide some combination of configurability,
programmability, adaptability,
portability, enhancements, allowing derived works, and build around
an open hardware
and software embedded system.

- It will take 3 months for the design of the HW part of the product
- It will take 3 months, executed in parallel, for the development
of the firmware of the product
- And another month for the final integration of both the HW and the
SW parts of this product before shipment

Tim Bird <tim.bird@...>

Luc Paugam wrote:
Summary: Creation and Design of a versatile open toolbox platform
Thanks. Proposal page is at:

Tim Bird
Architecture Group Chair, CE Linux Forum
Senior Staff Engineer, Sony Corporation of America