尊敬的支持人员:
我想问几个与内存使用相关的问题。 我正在 TDA4VM J721e 上进行开发、在启动期间、它显示它具有4GB 的 RAM、但是、登录后、"free"返回以下内容:
根目录@J7-EVM:~#免费
可用的可用空闲共享缓冲区/高速缓存总数
MEM:2585664 206720 2085312 36352 293632 2004864
交换:0 0 0
我想知道是否可以通过某种方式访问整个4GB 范围的 RAM 来运行我的应用程序?
出现的另一个问题是、当我尝试在 C66 DSP 上运行图形的预实施 TIVx 节点(如颜色转换节点或通道提取节点)时、这些 DSP 的 CPU 使用率会在每个 DSP 仅运行一个节点时跃升至80%、 当我将另一个节点(如一个 colorconv->channel 提取序列)连接在一起时,帧速率会显著下降,当我尝试将更多节点连接起来以便在 DSP 上按顺序运行时,性能会不断下降。
性能下降是否是由这些设备上的内存不足引起的? 在启动期间、我注意到以下部分:
[ 0.0000]、共:保留内存:已初始化节点 C66-dma-memory@a6000000、兼容 id shared-dma-pool
[0.000000]保留存储器:已创建 DMA 存储器池、地址为0x00000000a6100000、大小为15 MIB
我猜这些 DSP 可能会尝试使用这个15MB 内存池来运行它们给定的图形节点、当它们耗尽该内存时、会有一个需要花费大量时间的同步。 如果是这种情况、我是否可以让他们改用此内存池?
[0.000000]保留存储器:已创建 DMA 存储器池、地址为0x000000000000ce000000、大小为720 MiB
[ 0.0000]、共:保留内存:已初始化节点 vision_apps-core-heap-memory@ce000000、兼容 id shared_dma-pool
如果完全错误、请忽略我的猜测、但在这种情况下、您能否向我简要介绍如何在 C66 DPSS 上高效运行图形节点序列、以便不会对性能造成太大影响?
此致、
Bence