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如何不增加?