Processador atmel

Disponível somente no TrabalhosFeitos
  • Páginas : 6 (1291 palavras )
  • Download(s) : 0
  • Publicado : 18 de junho de 2012
Ler documento completo
Amostra do texto
Trabalho de Arquitecturas
1. Funcionamento bootloader no processador atmel

O bootloader é um software que está inserido na memória flash, este é sempre executado primeiramente pelo microcontrolador após um Reset (Boot) e carrega na Flash um software que recebe pela serial (loader). O ATmega328 possui alguns recursos que facilitam o bootloader, tais como:  A memória Flash pode ser dividida emduas seções, um bootloader (no final da memória, com 512, 1024, 2048 ou 4096 bytes) e uma aplicação (com o restante). Na seção do bootloader pode ser usada a instrução SPM, capaz de reprogramar toda a Flash. Independente disto, existe uma outra divisão em duas seções de tamanho fixo, a RWW (Read While Write, os primeiros 28K) e a NRWW (No Read While Write, os últimos 4K). Enquanto isto, é feitoum apagamento ou escrita na região RWW, o código pode ser executado na região NRWW, caso contrário, a região NRWW é actualizada e o processador fica parado durante a operação. Para fins de apagamento e gravação a Flash é dividida em páginas de 128 bytes. As operações afetam sempre uma página inteira.





Quanto ao protocolo para receber o programa pela serial, o Bootloader utiliza umsubconjunto do protocolo usado por um programador externo, o STK-500. Este permite-nos usar softwares padrão de programação no computador, o IDE do Arduino usa o Avrdude. Com o passar do tempo o bootloader do Arduino passou por alterações, a versão atual é o chamado Optiboot (bootloader "otimizado"). A otimização consistiu em reduzir o tamanho para caber em 512 bytes, aumentar a velocidade na serialpara 19200 e receber os dados de uma página enquanto a apaga. Uma das reduções foi suportar somente um mínimo de comandos do STK-500. Em particular não há suporte a operações sobre a EEProm ou os fusíveis. É de importância também referir no bootloader, o seu disparo e o disparo da aplicação. Nas primeiras versões, o bootloader começava a sua execução quando era feito um reset e esperava por um certotempo uma comunicação antes de iniciar a aplicação. Isto trazia dois inconvenientes: era preciso apertar o botão de reset antes de

enviar um sketch e aguardar alguns segundos ao final da carga para ele começar a ser executado. A primeira limitação foi contornada por hardware: ao detectar uma conexão na serial o microcontrolador é “ressetado” no Duemilinove e no Uno. Para o segundoinconveniente, o bootloader passou a distinguir a iniciação pelo sinal de reset da reiniciação ao final da carga de um sketch. No segundo caso o bootloader passa diretamente para a aplicação, não tentando estabelecer comunicação.

2. Fusíveis
Um fusível é um dispositivo de proteção contra sobrecorrente em circuitos. Este consiste num filamento ou lâmina de metal de baixo ponto de fusão que é incorporadonum determinado ponto de uma instalação eléctrica para que se funda, por efeito Joule, quando a intensidade de corrente elétrica for superior, devido a um curtocircuito ou carga, valor esse que se passasse sem haver fusível iria danificar a integridade dos condutores com risco de incêndio ou destruição de outros elementos do circuito. Referindo-nos ao Arduino Duemilanove tem um polifusívelresetável que protege a porta USB do computador, apesar da maioria dos computadores possuírem proteção interna própria, o fusível proporciona uma proteção extra. Se mais de 500mA foram aplicados na porta USB, o fusível irá automaticamente interromper a conexão até que o curto-circuito ou a sobrecarga seja removida.

3. Memória Flash
As memórias do tipo Flash caracterizam-se por não necessitarem dealimentação para manter o seu conteúdo (são não voláteis) e permitirem a sua alteração ocasional. A leitura da memória Flash não costuma envolver cuidados especiais (porém é mais lenta que a memória Ram). A operação de escrita é um pouco mais complexa e permite apenas mudar bits do estado '1' para o estado '0'. Para retornar os bits em '0' para '1' é necessária uma operação de apagamento, que é...
tracking img