quarta-feira, outubro 01, 2008

Microcontroladores - Parte 16

Neste post vamos comentar rapidamente uma questão frequente: e o uso de C++ na programação de microcontroladores?

A programação em C++ em microcontroladores mais potentes, como os baseados na arquitetura ARM, é bastante tranquila. No modelos maiores de microcontroladores com arquitetura Von Newman, como o MSP430, é possível o uso de C++ (com alguns cuidados).

Nos microcontroladores com arquiteturas Harvard e/ou fortes limites de memória, a situação é complicada:
  • Métodos virtuais e polimorfismo são normalmente implementados através de uma tabela de endereços de rotinas (a vtable). Arquiteturas Harvard tendem a dificultar este tipo de chamada indireta.
  • A programação em C++ costuma exigir mais espaço na pilha, que é muito limitada nos microcontroladores mais simples.
  • Pouca quantidade de memória dificulta o uso de alocação dinâmica de memória, como o heap do C++ usado para alocação de objetos através de new. Aliás, a alocação dinâmica de memória costuma se evitada na programação embarcada, pois as consequências de um leak de memória serão catastróficas.
Aproveitando: no evento C & C++ para Sistemas Embarcados tem uma palestra sobre o uso de C++.

Nenhum comentário: