工具与软件:
大家好、团队成员:
我使用的是 J721E EVM 板(10.00 SDK 版本)。
我已将 PHY 模式刷写到 OSPI NOR (MT25QU512ABB)的 PHY 分区。 刷写 PHY 模式后、会针对 PHY 模式变化更新这些寄存器。
但是吞吐量值大约为20Mbps、而根据数据表、预期吞吐量值为400Mb/s。
请告诉我实际吞吐量和 理论值存在差异的原因。
此致、
安·罗斯·安东尼
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.
工具与软件:
大家好、团队成员:
我使用的是 J721E EVM 板(10.00 SDK 版本)。
我已将 PHY 模式刷写到 OSPI NOR (MT25QU512ABB)的 PHY 分区。 刷写 PHY 模式后、会针对 PHY 模式变化更新这些寄存器。
但是吞吐量值大约为20Mbps、而根据数据表、预期吞吐量值为400Mb/s。
请告诉我实际吞吐量和 理论值存在差异的原因。
此致、
安·罗斯·安东尼
大家好、Ann Rose、
您编写的数据块大小是多少? 这会影响吞吐量值吗?
和 OSPI 常见问题解答页面: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1181116/faq-ospi-faq-for-sitara-jacinto-devices
此致、
Matt
尊敬的 Matt:
感谢您的响应。
我将 J721E 板与10.00 SDK 的预编译映像配合使用。
使用了以下命令来测试 NOR 的吞吐量值:
root@j721e-EVM:~# cat /proc/mtd
dev:大小 erasesize 名称
mtd0:00080000 00020000 "ospi.tiboot3"
mtd1:00200000 00020000 "ospi.tispl"
mtd2:00400000 00020000 "ospi.u-boot"
mtd3:00020000 00020000 "ospi.env"
mtd4:00020000 00020000 "ospi.env.backup"
mtd5:00100000 00020000 "ospi.sysfw"
mtd6:037c0000 00020000 "ospi.rootfs"
mtd7:00020000 00020000 "ospi.phypatern"
根@j721e-evm:~# dd if=/dev/mtd6 of=55M.txt bs=55M count=1
中的1+0记录
1+0记录
57671680字节(58 MB、55 MIB)已复制、4.96597 s、11.6 MB/s
如果您需要更多信息、请告诉我。
此致、
安·罗斯·安东尼
尊敬的 Matt:
下面是在执行读取操作时附加的寄存器值:
根@j721e-evm:~# dd if=/dev/mtd2 of=55M.txt bs=55M count=1
0+1记录
0+1记录
4194304字节(4.2 MB、4.0 MIB)已复制、0.227858 s、18.4 Mb/s
root@j721e-EVM:~# devmem2 0x47040000
/dev/mem 打开。
存储器映射在地址0xffa0fd0000处。
在地址0x47040000 (0xffffff0fd0000)上读取:0xC1183881
root@j721e-EVM:~# devmem2 0x47040004
/dev/mem 打开。
存储器映射在地址0xffa2e0a000。
在地址0x47040004 (0xffffff2e0a004)上读取:0x140333FD
root@j721e-EVM:~# devmem2 0x470400b4
根据寄存器值:
正在使用 DTR 协议、并更新 PHY 配置寄存器。
您还能用什么速度模式以及您正在进行什么类型的数据传输以及如何传输这些数据吗?
关于使用什么速度模式以及如何传输数据的问题、我不明白。
我想知道我们是否在 J721E EVM 板中使用默认的 Linux SDK 10.00版本、我们在 OSPI NOR 闪存上能够观察到的最大吞吐量是多少。
另外、您能否分享一下相关过程。
此致、
安·罗斯·安东尼
大家好、Ann Rose、
这似乎更像是一个有关数据如何通过 SoC 的问题。
一般来说、如下所示:
|
最快 |
BIG 线性 DMA 直接访问读取 OSPI |
|
|
假定 FIFO 可始终被耗尽、则为线性读取的 INDAC 模式 |
|
|
线性 CPU 从 A53/A72/C7读取、其存储器区域可高速缓冲 |
|
|
线性 CPU 从 R5读取、地址范围可缓存 |
|
|
线性 CPU 从 A53/A72/C7读取、地址范围为正常不可高速缓存/器件/严格排序 |
|
最慢 |
线性 CPU 从地址范围为正常非高速缓存/器件/严格排序的 R5读取 |
特别是对于 OSPI、由于减少了被听到的命令+地址+虚拟周期、大型线性读取在 PHY 流水线模式中效率更高。 不确定使用的速度模式、但即使 OSPI 以1GHz 频率运行、写入/擦除也会很慢。 闪存本身需要一定的时间来进行擦除和编程、这将超过任何速度改进。
请记住上述内容、了解在进行写入/读取时实际可以获得的速度以及在执行这些操作时的实际速度。
此致、
Matt
尊敬的 Matt:
感谢您提供的信息。
根据 J721E 的性能报告、以下是运行速度:

我想知道这些值是用于 OSPI NOR 还是 OSPI NAND。
如果是 OSPI NOR、则预期的最大值为200Mbps。 为什么吞吐量会下降?
如果不能、请告诉我、在使用和不使用 PHY 模式的情况下、OSPI 或10.00 SDK 中的预期值是多少。
此致、
安·罗斯·安东尼
大家好、Ann Rose、
我想知道这些值是用于 OSPI NOR 还是 OSPI NAND。 [报价]J721E 使用作为 NOR 闪存的 MT35XU512ABA1G12。
如果是针对 OSPI NOR 的、则预期最大值为200Mbps。 为什么吞吐量会降级?[/quote](对于 OSPI 尤其)对于 PHY 来说、由于减少了所听到的命令+地址+虚拟周期、大幅线性读取在 PHY 流水线模式下效率更高。 不确定使用的速度模式、但即使 OSPI 以1GHz 频率运行、写入/擦除也会很慢。 闪存本身需要一定的时间来擦除和编程、这将超过任何速度改进。[/QUOT]如上所述、由于数据通过 SoC 的方式以及闪存擦除和编程所需的时间、我们可以看到预期最大值与预期值不同。
此致、
Matt