Eu tenho um dispositivo incorporado. É baseado em ARM, com Linux 2.6.31 e tem 256 MB de RAM.
Eu queria ter algumas idéias / dicas sobre qual é a maneira mais eficaz de testar a RAM do dispositivo quanto a corrupção de dados. Existe um teste / software que alguém possa sugerir?
Nota:
Eu tenho memtester agora. Eu o recebi após sugestão de Ulrich Dangel (abaixo).
Eu também mtest
configurei a partir do uboot agora.
Quaisquer outros testes / abordagens que eu possa usar?
mtest
basicamente faz o mesmo que o memtest86 +. Você basicamente tem opções diferentes, execute o teste de memória do seu sistema operacional como linux (isso seria,memtester
mas você pode ter problemas para testar toda a região física). Você também pode usar alguns mini system (uboot) para testar sua memória (mtest
)Respostas:
A solução geral para testar a memória é escrever um padrão específico como
0xFFFFFFFF
a sua memória, ler depois e comparar o resultado. Você pode e deve, é claro, alterar o padrão para descobrir problemas. Algumas soluções, comomemtest86+
também geram padrões aleatórios e alteram a direção que eles usam para gravar na memória. Para informações mais detalhadas sobre os algoritmos usados no memtest86, consulte a página técnica . Todas as soluções fornecidas neste post estão usando basicamente a mesma ideia subjacente.Se você deseja executar seu teste no Linux (você mencionou o Linux em seu post), dê uma olhada no memtester e no pacote memtest, que ambos devem funcionar com arm. Para começar, você deve usar o memtester , pois basicamente faz exatamente o que deseja.
Testar sua memória no Linux tem algumas desvantagens, como você realmente não pode testar toda a sua memória física, pois o kernel também precisa de memória. Para testar a memória com o uboot (é muito menor que o kernel do linux), dê uma olhada no comando mtest integrado . Permite especificar o intervalo de endereços, padrão e iteração. Com o mtest, você poderá realizar testes bastante extensos sem depender de um sistema operacional. Você só precisa verificar se está usando intervalos de memória válidos, caso contrário, pode ser que você substitua a
uboot
região da memória.Se o teste fornecido pelo mtest não for suficiente, é claro que você pode apenas estender o uboot e integrar recursos adicionais de teste de memória no uboot.
fonte
bist > md.w 0x00000023 10 00000023: