quarta-feira, setembro 17, 2008

Microcontroladores - Parte 13

Concluindo os meus exemplos de microcontroladores, vou falar um pouco sobre dois modelos baseados na arquitetura ARM (que eu já comentei anteriormente).

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
Como segundo exemplo temos o STR731F da ST:
  • 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
Estamos, portanto, falando de microcontroladores poderosos (e mais caros).

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: