使用lpddr2引导sama5d2

时间:2017-09-15 13:50:30

标签: c arm ram boot

我正在使用带有LPDDR2 EDB1332BDBH-1的SAMA5D26C。 CPU成功引导ROMBOOT并能够从QSPI内存加载at91bootstrap。我从at91bootstrap获得调试输出,但是我无法加载linux。

调查这一点进一步向我展示了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大小为128 MB,我也无法访问4MB以上的内存。我已经验证我可以从RAM写入和读取写入的值,其值低于4MB。

为什么不能访问所有物理内存,以及在0x203ffffff之后ptr如何不增加?

1 个答案:

答案 0 :(得分:0)

原来,TrustZone已被禁用。