Citation:
L'execution de code dans la ram est juste autorisée pour les Bootloader ou la programmation de configuration dans la flash, autrement c'est très dangereux. ces modes de fonctionnement sont bien particuliers et très peu courant dans la vie du calculateur.
On est d'accord. Uniquement quand on ne peut pas faire autrement.
Citation:
Je parlais de pointeurs de fonctions en RAM, il faut toujours les placer en flash. Je sais que certaines personnes optimise leurs code en aiguillant les traitements par des pointeurs de fonctions en RAM, mais c'est interdit dans le monde de l'embarqué. C'est une règle de robustesse.
Admettons. Tu veux dire que si les données débordent, elles peuvent casser du code... OK, sur des petites architectures sans MMU.
Citation:
Autrement, pour toutes les règles ou l'on pense maitriser la situation, le danger vient du faite que l'on maitrise les situations que l'on a imaginé, mais par logique pas celles que l'on n'a pas imaginées. C'est pour cela que dans le monde de l'embarqué, on s'interdit certaines choses même si elles sont tout à fait fonctionnelles, mais peuvent être dangereuse dans certains contextes ou dans la phase de maintance du logiciel.
C'est le problème général de la maitrise des comportements indéfinis. Ce n'est pas spécifique à l'embarqué.