工具/软件:Linux
您好!
我正在使用一个 RAM 小于 EVM (256MB)的定制 AM5728板。 我一直在修改器件树以重新分配 CMA 和 CMEM 等内存资源、但我在为系统设计新的内存映射时遇到了困难、而且不会影响任何资源。
部分挑战是了解为什么为 EVM 分配不同的 CMA 和 CMEM、以及如何为我的电路板安全地修改这些内容。 我参考了 SPRAC60、其中概述了表1中的默认 PSDK 存储器映射、如下所示:
| 存储器部分 | 物理地址 |
| A15 Linux 内核 | 0x80000000 |
| IPU2 CMA | 0x95800000 |
| DSP1 CMA | 0x99000000 |
| IPU1 CMA | 0x9D000000 |
| DSP2 CMA | 0x9F000000 |
| CMEM | 0xA0000000 |
在我的系统上、有效的物理内存范围是0x80000000-0x8FFFFFFF、这意味着必须修改所有 CMA 和 CMEM 分配的偏移量和大小。 任何人能否就如何安全地修改这些分配提供任何指导或信息。
具体而言、有几个问题:
1) 1)上述所有 CMA 和 CMEM 分配是否均可移至0x80000000-0x8FFFFFFF 范围? 我知道位于较低地址范围(大约0x8000000000-0x81000000)的 Linux 内核以及位于较高地址范围(大约0x8F5FFFFF-0x8FFFFFFF)的器件树和 U-Boot 映像、但0x8000000000-0x8FFFFFFF 范围内是否有其他需要注意的内容?
2) 2)如何确定我的情况下每个 CMA 和 CMEM 分配所需的大小?
谢谢、
乍得