2017-09-15 159 views
0

我有一個帶有LPDDR2 EDB1332BDBH-1的SAMA5D26C。 CPU成功啓動ROMBOOT並能夠從QSPI內存加載at91bootstrap。我從at91bootstrap獲得調試輸出,但是我無法加載linux。用lpddr2啓動sama5d2

調查此進一步告訴我,RAM initalization工作正常,但CPU嘗試從閃存加載設備樹到RAM時掛起。

所以我加入這個循環:

volatile char * ptr = (char *)0x20000000; 
while(1) { 
    dbg_info("ptr: %x value: %c\n", ptr, *ptr); 
    ptr += 1; 
} 

這給了我輸出預期:

ptr: 0x20000000 value: U 
ptr: 0x20000001 value: U 
... 

直到:

... 
ptr: 0x203ffffe value: U 
ptr: 0x203fffff value: 
ptr: 0x203fffff value: 
ptr: 0x203fffff value: 
ptr: 0x203fffff value: 
ptr: 0x203fffff value: 
ptr: 0x203fffff value: 

看來,我不能訪問內存即使我的RAM大小是128 MB,也要高於4MB。我已經驗證了我可以寫入和讀取來自RAM的寫入值,其值低於4MB。

爲什麼不是所有的物理內存都可以訪問,並且在0x203ffffff之後ptr如何不增加?

回答

0

原來TrustZone已被禁用。