Muitas dúvidas aparecem quando pensamos em começar o desenvolvimento com microcontroladores ARM, acredito que a principal seja sobre as ferramentas de desenvolvimento, pois sem ela não podemos fazer muita coisa.
Vou citar aqui no meu blog algumas ferramentas que eu já tive contato e fazer algumas comparações:
IDEs: ( IDE = Integrate Development Enviorement )
KEIL:
Site do fabricante: www.keil.com
Acredito que seja a mais conhecida e uma das mais usadas.
Esta IDE é fácil de usar e pode ser utilizada com o compilador da própria KEIL ( RVDS da ARM) e com o GCC.
Curiosidade: Antigamente, antes da Keil ser comprada pela ARM dava para usar também um compilador CARM agora este compilador CARM só pode ser usado se você tiver o Keil antigo, acho que até a versão 3.15 aceita o compilador CARM, depois disso só é possível suar o Keil com o RVDS e com o GCC.
Linguagens suportadas: C, C++, e Assembler.
Umas das vantagens do...
JTAG ( Ferramentas para depurar o programa ).
Vou simplificar para o que serve uma ferramenta JTAG:
O uso com JTAG agiliza o processo de desenvolvimento pois com um JTAG conectado ào microcontrolador podemos executar o nosso programa passo a passo, visualizar os valores na memória, verificar o valor das variáveis do programa.
Também Podemos usar o JTAG para Gravar o programa no microcontrolador.
Algums modelos:
JLINK da Segger: http://www.segger.com/jlink
A vantagem deste JTAG é que ele pode ser utilizado com várias IDEs eu já testei o JLINK com as seguintes IDEs: KEIL, IAR, ROWLEY e ele funcionou muito bem com todas elas.
KEIL ULINK2: http://www.keil.com/ulink2/
Este JTAG funciona muito bem, mas só funciona com o software da KEIL.
Eu já testei o ULINK2 com os seguintes microcontroladores:
ARM7: NXP LPC2148, LPC2368, LPC2478
CORTEX...
Ótimo livro em inglês sobre o microcontrolador LPC2368, LPC24xx:
Ótimo livro em inglês sobre o microcontrolador LPC2148 da NXP:
Os ARM-Cortex tem uma interface de depuração que utiliza menos pinos do que a interface JTAG comum. Ela é chamada de Serial Wire Debugger.
Para ligar o ARM Cortex no ULINK2, ULINK-ME ou JLINK, faça da seguinte forma:
Microcontrolador--------- JTAG ( PINOS COMUNS )
RESET---------- RESET
GND------------ GND
VCC---------
SWDIO-------- TMS
SWCLK--------- TCK