2014-05-12 24 views
0

我在powerpc p1020上使用linux,並且飛思卡爾提供了一個包括u-boot,linux的整個系統。系統默認不啓用ecc檢查。我試圖通過修改p1020的ddr_sdram_cfg寄存器來啓用此功能,但是我在linux下,我只能使用mmap寄存器的內存空間和PROT_READ權限,如果添加了PROT_WRITE權限,則會導致Linux中斷。然後我嘗試在u-boot中啓用ecc,但是我也失敗了,如果我使用mw修改ddr_sdram_cfg。 任何人都可以遇到這個問題嗎?謝謝大家幫助我。如何在Linux中啓用ddr的ecc?

+0

這取決於內存控制器和實際內存DIMM本身。大多數FSL設計也使用FSL提供的MEMC,這樣可以更容易地將其他機器的端口代碼備份到您的平臺。 @Joe Kul已經在下面提到它,你不應該嘗試在內核中啓用ECC。在u-boot很早就做到這一點。在u-boot配置MEMC的同時設置ECC設置(在u-boot重新定位到RAM之前)。做一次,儘早做。 –

回答

0

答案取決於您的目標平臺,例如您可能有P1020RDB或其他。

假設SDRAM ECC可以在平臺上啓用(這可能包括額外的RAM來容納校驗位,例如36位數據路徑),那麼ECC需要在SDRAM控制器初始化時啓用。在SDRAM已被使用時,它不能在運行時打開。對芯片參考手冊,目標平臺文檔和(理想情況下)目標BSP u-boot源碼進行深入研究,將會揭示出所需的一切。