器件型号:PROCESSOR-SDK-DRA8X-TDA4X
您好!
我想禁用 PSDK 视觉应用中存在的所有默认应用、我实际上想为在默认存储器映 射中分配的不同内核增加 DDR 存储器、默认存储器映射是在使用视觉应用中存在的默认应用为目标编译后创建的。 怎么做?
我尝试在协奏中禁用它以禁用编译应用程序相关文件。 但它在内核存储器大小的存储器映射中没有显示任何差异。
谢谢
Sarang
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.
器件型号:PROCESSOR-SDK-DRA8X-TDA4X
您好!
我想禁用 PSDK 视觉应用中存在的所有默认应用、我实际上想为在默认存储器映 射中分配的不同内核增加 DDR 存储器、默认存储器映射是在使用视觉应用中存在的默认应用为目标编译后创建的。 怎么做?
我尝试在协奏中禁用它以禁用编译应用程序相关文件。 但它在内核存储器大小的存储器映射中没有显示任何差异。
谢谢
Sarang
您好 Sarang、
如果要更改存储器映射、可以通过编辑 vision_apps/apps/app_tirtos/tirtos_linux 内的 gen_linker_cmd.py 文件来实现该目的。 在此处进行更改后、运行脚本以生成 C 头文件、链接器 cmd 文件等中的对应项。 如果您不希望构建应用程序、您还应像您所做的那样禁用这些应用程序。 请尝试 python 脚本更改、如果您遇到问题、请告诉我。
您好!
在为每个内核生成的映射文件中、我们可以看到 DDR 存储器和分配的其他存储器、没错。 因此、如果我想增加"未使用的存储器"部分、我想注释几个代码或 c 文件、以便它不会被遵守、因此它应该以增加未使用的存储器或增加的"使用的存储器"部分的形式反映在生成的存储器映射文件中。 我不想使用 python 工具来增加存储器段、它将更改段的起始地址和结束地址、但我不想这样做。 无论其中的默认配置是什么、我都希望整体减小 PSDK 中现有代码结构所使用的存储器大小。
例如、在 C66_1存储器映射中、默认 DDR_C66_1存储器大小(非区域)在65 MB 的内存中使用51 MB 的内存、现在我想将使用的存储器大小从51 MB 减少到20 MB 或类似的大小、 为此、我需要注释或禁用特定代码的一部分、以便减少使用的存储器部分。 我可以通过在 app_init.c 和 tivxinit.c C 文件中注释内核注册调用来实现它、但我看不到已用内存中显著的内存减少。 只观察到大约750KB 的已用内存变化。
因此、为了减小已用存储器的大小、还可以做些什么或者在每个特定于内核的 DDR 存储器分配中可以减小多少容量?
我希望我能够说明我的观点!! 请确认。
此致
Sarang
您好 Sarang、
好的、我明白了您的观点。 您想减小应用程序的内存占用空间有什么特殊原因吗? 进入 C66x 和 C7x 等非 A72内核的当前软件并不是真正独立的应用程序、而是一种固件、它执行特定任务、帮助在 A72上运行应用程序。 例如在 R5上显示、在 C7x 上显示 TIDL。 您在 PSDKRA 封装内找到的所有演示都在 A72中运行。 除此之外、如果您想减少大量的存储空间、请查找静态链接的库。 它们会极大地破坏最终的可执行文件。 您可以取消链接它们并查看未使用的存储器是否增加。
Anand、您好!
我要使用 openvx 框架在 tda4x 上移植的代码无法放入各自内核的可用存储器中、这就是我需要将未使用的存储 器增加到尽可能小的原因。 正如您所建议的、我尝试从各个特定于平台的协处理器中禁用先前静态链接的库、但我只能在未使用的存储器部分看到3 MB 的提升、这与 C6x_1有关。 从使用的51MB 降低到使用的47MB、因此这对我来说并不是很好。
我想在文件 PSDK_RTOS_auto_J7_06_01_12/vision_apps/apps/basic_demos/app_tirtos/common/app_cfg_中提出一点 .h 某些存储器是定义的、这些存储器在代码中发挥作用、我找不到它、而不是很清楚。 您能澄清一下吗? 例如、C6x_1、它的大小几乎为44 MB、其中包括堆内存和临时内存。
此致
Sarang
您好 Sarang、
我相信您提到的 app_cfg_*.h 文件中的内存是 DDR_HAP_MEM_SIZE 等 如果你看看同一个文件夹中的 app_init.c 文件、你可以看到这些值被用来创建 heap_mem 全局数组等 这些文件是为每个非 A72内核编译的。 我相信、您看到的巨大的已用内存部分可能是由于这些全局变量。 但是、正如您看到的、这取决于为这些应用分配的内存。 我希望这一点现在已经清楚了。 如果您有更多疑问、请告诉我。