La solution générale pour tester la mémoire est d'écrire un modèle spécifique comme 0xFFFFFFFF
à votre mémoire et lisez-le ensuite et comparez le résultat. Vous pouvez et devez bien sûr modifier le modèle pour découvrir des problèmes. Certaines solutions comme memtest86+
génèrent également des motifs aléatoires et changent la direction qu'ils utilisent pour écrire dans la mémoire. Pour des informations plus détaillées sur les algorithmes utilisés dans memtest86, consultez leur page technique. Toutes les solutions fournies dans cet article utilisent essentiellement la même idée sous-jacente.
Si vous souhaitez exécuter votre test à partir de Linux (vous avez mentionné Linux dans votre message), jetez un œil à memtester et à la suite memtest qui devraient tous deux fonctionner avec arm. Pour commencer, vous devez utiliser memtester car il fait exactement ce que vous voulez.
Tester votre mémoire depuis Linux présente certains inconvénients, comme vous ne pouvez pas vraiment tester toute votre mémoire physique car le noyau a également besoin de mémoire. Pour tester la mémoire avec uboot (il est beaucoup plus petit que le noyau linux), jetez un œil à la commande mtest intégrée. Il vous permet de spécifier la plage d'adresses, le modèle et l'itération. Avec mtest, vous devriez pouvoir effectuer des tests assez approfondis sans dépendre d'un système d'exploitation. Vous devez juste vous assurer que vous utilisez des plages de mémoire valides sinon il est possible que vous écrasiez le uboot
région mémoire.
Si les tests fournis par mtest ne suffisent pas, vous pouvez bien sûr simplement étendre uboot et intégrer des fonctionnalités de test de mémoire supplémentaires dans uboot.