On 21/11/13 09:22, eljedi . wrote: > Thank you guys for the answers. > Now I have a lot to read and learn. > > > On Wed, Nov 20, 2013 at 8:17 PM, Oleg Endo <oleg.endo@xxxxxxxxxxx> wrote: >> On Wed, 2013-11-20 at 19:25 +0100, eljedi . wrote: >>> Thank you Jonathan for the quick reply. >>> >>> About the CPU I mentioned, do you think it can be done? (its a 16bits, >>> and I read gcc works fine for 32bits processors with 32bits registers, >>> more than one). >> >> Yes, it can be done. >> For example, AVR is also < 32 bits and it works. >> >> Cheers, >> Oleg >> > The AVR is in fact an 8-bit cpu - I think it is the only 8-bit target that is supported by gcc mainline. For a 16-bit cpu, look at the msp430 port. It has just recently been added to mainline - previously it was developed outside the main gcc tree. But being a new port, or at least a newly cleaned up port, it should be a good example to start with. Also note that before working on a gcc port, you should check that the device is supported by binutils - if not, that's where to start. Binutils support for a processor is a lot less work than gcc support, but it is an essential step - that's what gcc uses for assembling and linking.