J'ai un appareil intégré. Il est basé sur ARM, avec Linux 2.6.31 et dispose de 256 Mo de RAM.
Je voulais obtenir des idées / conseils sur le moyen le plus efficace de tester la RAM de l'appareil pour détecter la corruption des données. Existe-t-il un test / logiciel que quelqu'un puisse suggérer?
Remarque:
J'ai memtester maintenant. Je l'ai obtenu après suggestion d'Ulrich Dangel (ci-dessous).
J'ai également mtest
mis en place à partir du uboot maintenant.
D'autres tests / approches que je pourrais utiliser?
mtest
fait essentiellement la même chose que memtest86 +. Vous avez essentiellement différentes options, exécutez le test de mémoire à partir de votre système d'exploitation comme linux (ce serait le cas,memtester
mais vous pourriez avoir des problèmes pour tester toute la région physique). Vous pouvez également utiliser un mini système (uboot) pour tester votre mémoire (mtest
)Réponses:
La solution générale pour tester la mémoire est d'écrire un modèle spécifique comme
0xFFFFFFFF
dans votre mémoire et de le lire ensuite et de comparer le résultat. Vous pouvez et devez bien sûr modifier le schéma pour découvrir les problèmes. Certaines solutions commememtest86+
génèrent également des modèles aléatoires et changent la direction qu'ils utilisent pour écrire dans la mémoire. Pour plus d'informations 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 article), jetez un œil à memtester et à la suite memtest qui devraient fonctionner avec arm. Pour commencer, vous devez utiliser memtester car il fait exactement ce que vous voulez.
Tester votre mémoire sous Linux présente certains inconvénients, car 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 (elle est beaucoup plus petite 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 poussés sans dépendre d'un système d'exploitation. Vous devez simplement vous assurer que vous utilisez des plages de mémoire valides, sinon il est possible que vous écrasiez la
uboot
région de la 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.
la source
bist > md.w 0x00000023 10 00000023: