2014-05-12 1 views
0

저는 powerpc p1020에서 linux를 사용하고 있습니다. Freescale은 u-boot, linux를 포함한 전체 시스템을 제공합니다. 시스템은 기본적으로 ecc 검사를 활성화하지 않습니다. p1020의 ddr_sdram_cfg 레지스터를 수정하여이 기능을 활성화하려하지만 리눅스에서는 PROV_READ 권한을 가지고 mmap의 메모리 공간 만 등록 할 수 있었고 PROT_WRITE 권한을 추가하면 리눅스가 멈출 수있었습니다. 그런데 u- 부트에서 ecc를 사용하려고했으나 실패했습니다. mw을 사용하면 u- 부트가 멈 춥니 다. ddr_sdram_cfg를 수정하십시오. 아무도이 문제를 해결할 수 있습니까?Linux에서 ddr의 ecc를 활성화하는 방법은 무엇입니까?

+0

메모리 컨트롤러 및 실제 메모리 DIMM 자체에 따라 다릅니다. 대부분의 FSL 디자인은 FSL의 MEMC를 사용하기 때문에 다른 컴퓨터의 포트 코드를 플랫폼으로 쉽게 되돌릴 수 있습니다. @ Joe Kul은 이미 아래에서 언급 했으므로 커널에서 ECC를 활성화하지 마십시오. u-boot에서 이것을 매우 일찍하십시오. u-boot가 MEMC를 구성하는 것과 동시에 (u-boot가 RAM으로 재배치되기 전에) ECC 설정을 지정하십시오. 한번 해보세요, 일찍하십시오. –

답변

0

답변은 대상 플랫폼에 따라 달라집니다. 예를 들어 P1020RDB 또는 그 밖의 다른 것들이있을 수 있습니다.

플랫폼에서 SDRAM ECC를 활성화 할 수 있다고 가정하면 (예 : 36 비트 데이터 경로와 같은 신드롬 비트를 보유하는 추가 RAM이 포함될 수 있음) SDRAM 컨트롤러가 초기화 될 때 ECC를 활성화해야합니다. SDRAM이 이미 사용 중일 때 런타임에 켤 수 없습니다. 칩 참조 매뉴얼, 타겟 플랫폼 문서 및 (이상적으로) 타겟 BSP u- 부트 소스에 대한 철저한 연구는 필요한 모든 것을 밝혀 낼 것입니다.

관련 문제