don't worry about the tool, I am pretty able to implement (already done)
a working assembly compiler in a couple of days during the weekend
Maybe GCC is not the best
so cool when you don't use it, gcc is for sure the worst choice
even the dude who made the home brew cpu
magic1 stayed away
and used
lccBut... the point about C is valid
If I had came in the need of C compiler for complex things like porting an OS, I would have ignored gcc
and I would have used a common architecture, such as MIPS or ARM, which all come with professional
toolchains (Keils?) and debuggers
what do you want to do with it ?
I have implemented a
debug-enine in vhdl, it's a big finite state machines which talks over the serial line
it's used to import/export things like CPU registers, signals (events like break points/watch point events)
and blocks of memory from/to the host to/from the fpga
I started this project in 2008, done in spare time, and it was used along with my own soft core Arise-v2
whose ISA is much more complex than the ISA published above
my Arise-v2 soft core hasn't yet come with an high level language such as a C compiler
I am digging in the possibility of a) retargeting lcc, or b) making my own compiler
I have an old project about that, it's a sort of "--C", just statements, labels, loops, variables and nothing else
it generated good machine code, in three passes, there is no standard linker (I am using my own symbol table format),
but it compiles module per module, and at the end there is a linking stage, even it there is no linker-script
it was done when I was a student as "examination test", useful to get my degree
anyhow, Arise-v2 is made for fun, I have a degree in computer science, I have studied "languages" and "architectures"
Arise-v2 is just "
Putting Knowledge into Practice"(1), whereas the above small ISA comes for the need of having a small core
in fpga, for same need you might have for things like picoBlaze
(1) I have a job in avionics, nobody pays you to do the above things
there is no research in the direction of soft core and languages
we use ADA and Misra-C with PowerPC, and our fpgas come in the need
of getting the most out of things like ARINC 429