ARM 기반 시스템에서 RAM의 데이터 손상을 테스트하려면 어떻게해야합니까?


20

임베디드 장치가 있습니다. Linux 2.6.31의 ARM 기반이며 256MB RAM이 있습니다.

데이터 손상에 대해 장치 RAM을 테스트하는 가장 효과적인 방법에 대한 아이디어와 팁을 얻고 싶었습니다. 누군가가 제안 할 수있는 테스트 / 소프트웨어가 있습니까?

노트 :

지금 memtester가 있습니다. 나는 Ulrich Dangel (아래)의 제안 후에 그것을 얻었습니다.

또한 mtest지금 uboot에서 설정했습니다.

사용할 수있는 다른 테스트 / 접근 방법이 있습니까?


2
이것은 x86 CPU가 아니라 ARM CPU입니다. 불행히도 Memtest86 +는이 경우 작동하지 않습니다.
Renan

나는 memtester를 얻었다. 사용할 수있는 다른 테스트 / 접근 방법이 있습니까?
Ankur Agarwal

1
@abc 다른 무엇을 원하세요? 이 방법으로 원하는 결과를 얻지 못하면 다른 문제가 있다고 생각합니다. mtest기본적으로 memtest86 +와 동일합니다. 기본적으로 다른 옵션이 있으며 Linux와 같은 운영 체제에서 메모리 테스트를 실행하십시오 ( memtester그러나 실제 영역 전체를 테스트하는 데 문제가있을 수 있습니다). 일부 미니 시스템 (uboot)을 사용하여 메모리를 테스트 할 수도 있습니다 ( mtest)
Ulrich Dangel

Marvell의 프로세서입니까? 나는 marvell 네트워크 프로세서에 대해 같은 질문을 가지고 있는데, 이것은 당신과 정확히 동일한 구성 (ARM / 256MB RAM / Linux 2.6.31)입니다.
Tim Wu

다음은 비슷한 스택 오버플로 질문 입니다. 여기의 모든 테스트는 몇 가지 문제를 찾을 수 있습니다. 그들은 모든 문제를 찾을 수는 없으며 실제로 이것은 매우 어렵습니다. 아주 좋은 보드 시뮬레이션 툴과 모델링 만이 이것을 확인할 수 있습니다. 소프트웨어가 아닙니다. 이것이 완료되면 유일한 문제는 DDR 칩 (또는 가능하면 호스트 컨트롤러)이며 memtestermtest이것을 찾을 수 있습니다. 그러나 그들이 말하면 모든 것이 괜찮습니다. DDR 문제를 100 % 배제하지 마십시오.
artless noise

답변:


21

메모리를 테스트하는 일반적인 솔루션은 0xFFFFFFFF메모리와 같은 특정 패턴을 작성한 후 나중에 읽고 결과를 비교하는 것입니다. 물론 패턴을 변경하여 문제를 발견 할 수 있습니다. memtest86+또한 일부 솔루션은 임의 패턴을 생성하고 메모리에 쓰는 데 사용되는 방향을 변경합니다. memtest86에서 사용 된 알고리즘에 대한 자세한 내용은 해당 기술 페이지를 참조하십시오 . 이 게시물에 제공된 모든 솔루션은 기본적으로 동일한 기본 아이디어를 사용하고 있습니다.

Linux 내에서 테스트를 실행하려면 (포스트에서 Linux를 언급 했음) memtestermemtest suite 를 모두 살펴보십시오 . 시작하려면 기본적으로 원하는대로 정확하게 memtester 를 사용해야합니다 .

커널 내에서 메모리가 필요하기 때문에 Linux 내에서 메모리를 테스트하면 실제로 모든 실제 메모리를 테스트 할 수없는 단점이 있습니다. uboot (리눅스 커널보다 훨씬 작음)로 메모리를 테스트하려면 통합 mtest 명령을 살펴보십시오 . 주소 범위, 패턴 및 반복을 지정할 수 있습니다. mtest 를 사용하면 운영 체제에 의존하지 않고도 상당히 광범위한 테스트를 수행 할 수 있습니다. 유효한 메모리 범위를 사용하고 있는지 확인해야합니다. 그렇지 않으면 uboot메모리 영역 을 덮어 쓸 수 있습니다 .

mtest 가 제공하는 테스트 가 충분하지 않은 경우 물론 uboot를 확장하고 추가 메모리 테스트 기능을 uboot에 통합 할 수 있습니다.


알았어. 다른 테스트를해도 되나요?
Ankur Agarwal

1
내가 시도 할 수있는 다른 테스트 방법이 있습니까? uboot에서 RAM을 테스트하려고합니다.
Ankur Agarwal

@abc ok 나는 uboots mtest 명령에 대한 메모를 추가했습니다
Ulrich Dangel

1
나는 uboot 명령을 사용하기 시작했고 이제는 메모리 표시 uboot 명령이 중간에 멈춤을보고있다bist > md.w 0x00000023 10 00000023:
Ankur Agarwal

u-boot는 두 가지 다른 mtest를 지원합니다. 기본보다 더 광범위한 메모리 테스트를 위해 CONFIG_SYS_ALT_MEMTEST로 컴파일하십시오.
m__
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.