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.
Nenhum comentário:
Postar um comentário