A arquitetura ARM é uma arquitetura RISC de 32 bits que é utilizada por vários fabricantes.
Como empresas que comercializam microcontroladores baseados na arquitetura ARM podemos citar Intel, Texas, ATMEL, ST e NXP.
Um primeiro exemplo é o microcontrolador ATMEL AT91R40008, que conta com os seguintes recursos:
- Clock de 0 a 70MHz
- 256Kbytes de Ram interna ao microcontrolador
- Não possui Flash interna (deve ser usada uma Flash externa)
- Até 32 E/S digitais
- 3 Timers
- 2 UARTs
- 1 interface SPI
- Clock até 36MHz
- 16Kbytes de Ram
- 256Kbytes de Flash
- Até 72 E/S digitaus
- 6 Timers (com capacidade de PWM)
- 12 canais ADC 10 bits
- 4 UARTs
- 2 interfaces I2C e 3 interfaces SPI
Toda a memória é acessada diretamente por um endereço de até 32 bits. A arquitetura ARM utiliza um conjunto de 16 registradores de 32 bits:
Todas as instruções são codificadas em uma palavra de 32 bits:
Maiores detalhes sobre a arquitetura ARM podem ser encontrados nos meus posts anteriores.
Nos dois projetos que trabalhei com esta arquitetura, o compilador C utilizado era o GCC, através do GNU ARM. O GCC é um compilador bastante estável (e um software livre), porém nem sempre o código gerado está bem otimizado.
Com o microcontrolador da Atmel, utilizei uma IDE proprietária de uma empresa chamada Embest. A IDE era fraca e a biblioteca de funções para manipulação do hardware continha alguns erros (felizmente os fontes são fornecidos). A documentação era um exemplo clássico de engrish.
No caso da ST, a IDE fornecida pelo fabricante era a Eclipse. A biblioteca era bem razoável, porém a documentação estava apenas nos fontes.
Nenhum comentário:
Postar um comentário