quarta-feira, setembro 24, 2008

Microcontroladores - parte 15

Vamos examinar agora o processo de depuração do firmware, que pode ser a tarefa mais demorada e desgastante de um projeto.

Recursos de Depuração dos Ambientes de Desenvolvimento

A maioria dos ambientes de desenvolvimento possuem um depurador e muitas vezes um simulador. O simulador é mais uma ferramenta didática que de depuração, pois não simula o hardware do projeto.

O depurador é também de uso limitado, pois a maioria dos sistemas embarcados funciona em tempo real e após uma parada em um breakpoint pode não fazer sentido prosseguir a execução.

Interface Serial

Quando disponível, uma interface serial é um recurso extremamento útil para a depuração, principalmente se operar com baixa interferência no restante do firmware. Alguns exemplos de técnicas de depuração baseadas em uma interface serial:
  • monitoração: dados transmitidos e recebidos por um meio de comunicação são tão enviados para uma serial. Um programa de PC pode capturar estes dados, consistí-los e decodificá-los. Ferramenta essencial quando é difícil fazer uma monitoração externa de uma comunicação complexa.
  • trace: envio de indicações de por onde o firmware está passando. Um simples envio de um caracter em determinados pontos e um Hyperterminal na outra ponta da serial pode fazer maravilhas.
  • log: muitas vezes não é possível capturar a serial em tempo real. Nestes casos pode ser possível registrar eventos importantes em um log (na Ram ou, melhor ainda, em memória não volátil) e depois "puxar" estes dados pela serial.
LEDs e Buzzers

Na falta de um serial, sempre se pode colocar um LED em uma saída digital (ou mudar o significado de um LED já existente no projeto). Outra possibilidade (mais complicada e incômoda) é usar sinais sonoros.

Sinais e Osciloscópio

Um osciloscópio é um recurso importante não somente para a depuração do hardware como o do firmware. Um osciloscópio pode inclusive ser utilizado como alternativa ao uso de um LED. É um pouco mais complicado de montar mas tem a vantagem de permitir, por exemplo, verificar tempos com precisão.

Cuidado com o Hardware

Quando estamos desenvolvendo software para PC costumamos confiar totalmente no hardware. No desenvolvimento de firmware isto n]ão costuma ser verdade, pois o hardware está sendo desenvolvido em conjunto com o firmware.

Quando o hardware tem problemas os problemas mais estranhos ocorrem.

Nenhum comentário: