From: -jg on

vlsi4all(a)gmail.com wrote:
> I am looking for a tool chain for a new custom micro-controller. The
> core has a very basic instruction set and doesn't have to be C-
> programmable. Still, the software is complicated enough, that we
> would like to have primitive debug capabilities at least.
>
> Features needed:
> -assembler
> -linker(possibly)
> -source code debugging
> -single stepping
> -register and memory content display
> -breakpoints
> -hardware debugging interface
> -integratioin of simulator

There is AS assembler, that is open-source
http://john.ccac.rwth-aachen.de:8000/as/download.html

and you can also use almost any macro assembler to create object code

Target Source code debug needs a little target HW assistance, what do
you have there ?
The other tasks are simulator ones, and I think there are also table-
Simulators out
there.

Lattice Mico8 is also opensource, tho their assembler is pretty basic,
(even for
an assembler)

What core is this based on / close to ?

-jg

From: David Brown on
vlsi4all(a)gmail.com wrote:
> I am looking for a tool chain for a new custom micro-controller. The
> core has a very basic instruction set and doesn't have to be C-
> programmable. Still, the software is complicated enough, that we
> would like to have primitive debug capabilities at least.
>
> Features needed:
> -assembler
> -linker(possibly)
> -source code debugging
> -single stepping
> -register and memory content display
> -breakpoints
> -hardware debugging interface
> -integratioin of simulator
>
>
> Are there companies out there that specialize in creating these types
> of software solutions. The two companies that I have heard of so far
> are: retarget compilers and isystem. Any comments on these two
> companies?
>

There are many companies that make that sort of tool - IAR, ByteCraft,
ImageCraft, Green Hills, and dozens more, that make compiler and
debugger suites that target a range of cpus. The trouble is, they will
want a large market (or a lot of money up-front, or both) before porting
their tools.

As others have pointed out, there are a number of re-targetable
toolchains available for you to do the work yourself. And you can
always think slightly differently, such as by aiming for Forth rather
than traditional C.

You could also turn the problem on its head. Study gcc, and it's
internal code representations. Look at some example implementations
roughly matching the size of core you are looking for. Then design your
core to be a good match for gcc. Similarly with debugging - look at
gdb, and make your hardware debugger core a match for gdb's protocols.