1Fermer3
ZerosquareLe 18/11/2009 à 10:09
Brunni (./1) :
rajouter une valeur "non initialisée" utilisée la première fois, qui ferait foirer à tous les coups la vérification si aucun firmware n'a encore été programmé, même si le CRC joue quand même par hasard.
Si tu parles d'une mémoire vierge, le contenu est connu, et il suffit de rajouter un XOR avec une valeur bien choisie pour que le test échoue dans ce cas.

Sinon, je pense qu'il est plus simple de rajouter quelques octets constants quelque part dans ton firmware, que tu vérifies avant le calcul du CRC, et qui font échouer le test dans tous les cas s'ils ne sont pas présents. Bidouiller le CRC, ça me paraît un peu acrobatique, surtout que les capacités de détection d'erreur peuvent varier fortement pour des petites modifs de l'algorithme (c'est pour ça qu'en général on prend toujours les mêmes coefficients).