0
나는 LPDDR2 EDB1332BDBH-1이있는 SAMA5D26C를 사용하고 있습니다. CPU가 ROMBOOT를 성공적으로 부팅하고 QSPI 메모리에서 at91bootstrap을로드 할 수 있습니다. at91bootstrap에서 디버그 출력을 얻지 만 리눅스를로드하지 못합니다.lpddr2로 부팅 sama5d2
이 조사를 통해 RAM 초기화가 제대로 작동하지만 플래시에서 RAM으로 장치 트리를로드하려고 할 때 CPU가 멈추는 것을 알 수 있습니다. 예상대로
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 크기가 128MB인데도 4MB 이상입니다. 필자는 RAM에서 값을 4MB 미만으로 쓰고 읽을 수 있음을 확인했습니다.
0x203ffffff 이후에 모든 물리적 메모리에 액세스 할 수없고 ptr이 증가하지 않는 이유는 무엇입니까?