A solução geral para testar a memória é escrever um padrão específico como 0xFFFFFFFF
na sua memória, ler depois e comparar o resultado. Você pode e deve, naturalmente, alterar o padrão para descobrir problemas. Algumas soluções como memtest86+
também geram padrões aleatórios e mudam a direção usada para gravar na memória. Para informações mais detalhadas sobre os algoritmos usados no memtest86, dê uma olhada na sua página de tecnologia . Todas as soluções fornecidas neste post estão usando basicamente a mesma ideia subjacente.
Se você quiser executar seu teste dentro do Linux (você mencionou o Linux em seu post), dê uma olhada no memtester e o pacote memtest que deve funcionar com o braço. Para começar, você deve usar o memtester , pois basicamente faz exatamente o que você quer.
Testar sua memória a partir do Linux tem algumas desvantagens, como você não pode realmente 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 mtest comando. Ele permite que você especifique o intervalo de endereços, o padrão e a iteração. Com o mtest você deve ser capaz de realizar testes bastante extensos sem depender de sistema operacional. Você só precisa verificar se está usando intervalos de memória válidos, caso contrário, é possível que você sobrescreva a região de memória uboot
.
Se o teste fornecido por mtest não for suficiente, você poderá É claro, apenas estenda o uboot e integre recursos adicionais de teste de memória no uboot.