Sr Blackmore,
O Eclipse funciona como um front end apenas, ele é uma boa IDE, mas na hora de compilar ele nada faz além de chamar um terminal e dar o comando make all na raíz do seu projeto, para que o programa seja compilado adequadamente você precisa do compilador arm-elf-gcc (Win Arm do yagarto) e o make tools (yagarto também disponibiliza).
Utilizar ou não o eclipse nada muda na compilação, tratando-se de ferramentas gratuítas, onde usa-se o gnu arm portado para windows.
A vantagem do yagarto é que eles modificaram o win arm para que o eclipse seja capaz de fazer debugging on chip, mas é um tanto chato fazer o debugging funcionar, depende de muitas variáveis.
Terminando a parte de programação e compilação, necessita-se de alguma ferramenta para enviar o código para o chip.
No meu blog tem um tutorial para ajudar nisso, nada muito aprofundado, mas serve para dar umas direções:
http://selivre.wordpress.com/2010/12/28 ... nte-livre/
Se você quiser ler pouco, vá em
http://www.yagarto.de/#download e baixe e instale os 3 arquivos.
Depois pega o flashmagic para poder enviar o código pro chip.
Para testar a sua toolchain baixe um dos códigos no meu blog e rode o comando make na pasta que tem o arquivo Makefile. Se compilar sem erros é porque sua toolchain está boa.
Então, para responder a sua última pergunta, o tipo de arquitetura que se usará no cross-compiling, é definido na hora de chamar o arm-elf-gcc, usando a flag -mcpu=arm7tdmi, por exemplo. Quem faz isso, geralmente, é o makefile, porque é ele quem chama o compilador e organiza o processo.
Quanto ao eclipse, no inicio é chato para gerar o primeiro projeto, leia no link do meu blog os passos para fazê-lo.
Att.