This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:Linux
我的板是66ak2hk、我的板和 EVM、我测试了所有这些器件。
电路板上有 Tow DDR、DDR3A 8G DIMM 和 DDR3B 2G 芯片。
DDR3A_REMAP_EN 引脚在芯片上为浮点型。
/proc/iomem 例如:
8000000000-9ffffffff:系统 RAM (引导别名)
a0000000-affffffffff:pcie 内存
b0000000-b7ffff:系统 RAM (引导别名)
f0000000-ffffff:系统 RAM (引导别名)
80000000000-81FFFFFF:系统 RAM
80000008000-80092f023:内核代码
80097c000-800a0d143:内核数据
830000000-837ffff:系统 RAM
838000000-86fffffff: CMEM
870000000-8ffff:系统 RAM
980000000-99ffffffff:CMEM
9a0000000-9ffff:系统 RAM
我认为 DDR3B lacte 2G、DDR3A lacte 8G DIMM 和操作系统在 DDR3A 上运行。
OS 是 Linux 版本4.4.41、而不是 RT。
我在 DDR3B 上使用 mmap /dev/mem 到 malloc RAM、在 DDR3A 上使用 malloc 函数获取 RAM。
使用 memcpy() truans 数据 on DDR3A and DDR3B
FMEM 表示 DDR3B 上的 mmap RAM、malloc 表示 DDR3A 上的 RAM
测试结果为:
root@k2hk EVM:~#./mem
memp1 addr = b6fd2000!
memP2 addr = b6fcc000!
mallocp1 addr = 0x00021008!
mallocp2 addr = 0x00026010!
memcpy malloc -> FMEM!
I = 100000、blocksize = 20480、dur = 3 (s) 163514 (us)!
memcpy FMEM -> malloc!
I = 100000、blocksize = 20480、dur = 92 (s) 300060 (us)!
memcpy malloc -> malloc!
I = 100000、blocksize = 20480、dur = 0 (s) 254845 (us)!
memcpy FMEM -> FMEM!
I = 100000、blocksize = 20480、dur = 183 (s) 6233 (us)!
看看、为什么要将数据从 FMEM 传输到 malloc 那么慢?在一个周期内传输20480字节数据。
然后我运行 TI 示例 edmabw、结果是
以 GB/s 为单位的单通道 EDMA 带宽
===================
来自 DSP 内核:0 1 2 3 4 5 6 7
===================
DDR => DDR:0.030 0.030 0.048 0.047 0.042 0.042 0.048 0.047
DDR => MSMC:0.104 0.111 0.124 0.123 0.126 0.125 0.128 0.127
DDR => L2:0.105 0.112 0.130 0.129 0.130 0.129 0.129 0.130 0.130 0.129
MSMC => DDR:0.049 0.049 0.078 0.079 0.077 0.077 0.079 0.079 0.079
MSMC => MSMC:0.293 0.295 0.294 0.295 0.295 0.295 0.295 0.468 0.462
MSMC => L2:0.295 0.296 0.296 0.296 0.296 0.296 0.296 0.296 0.297 0.295
L2 => DDR:0.049 0.050 0.081 0.080 0.080 0.080 0.081 0.082
L2 => MSMC:0.294 0.296 0.295 0.295 0.296 0.296 0.296 0.296 0.296 0.296 0.295
L2 => L2:0.278 0.279 0.279 0.280 0.295 0.295 0.279 0.277
我使用 的是 ti-processor-sdk-linux-k2hk EVM-03.03.00.04、而不是4.0.0.4、因为没有时间为电路板添加器件。
我查看了 PDF、但无法获得相同的 DDR 性能结果。
EVM 上的结果喜欢我的板。
所以我不知道原因!
在 Linux 内核中、我只添加 USB 引导和 PCIe 设备。我使用 tisdk-server-ext-rootfs-image-k2hk-evm.tar.xz 作为我的 rootfs!
在66ak2h12数据表中,tow DDR loacte at tow phy addr。
DDR3b 0x8000000~0xFFFFFFFF
DDR3a 0x8000000~0x9FFFFFFFF
您能告诉我如何在 Linux 中启用缓存吗?