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:增大 C66的缓存大小时出错

Guru**** 2539500 points
Other Parts Discussed in Thread: SYSBIOS

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/941919/processor-sdk-dra8x-tda4x-getting-error-while-increasing-cache-size-of-c66

器件型号:PROCESSOR-SDK-DRA8X-TDA4X

你(们)好  

我在 QNX OS 上使用 PSDK 07_00_00_11。

我尝试通过 在文件 /home/psdk_rtos_auto_j7_07_00_00_11/vision_apps/apps/basic_demos/app_tirtos/tirtos_qnxgen_linker_mem_map.py 中进行以下更改、将 L2缓存大小从64KB 增加到128KB 的 C66内核

编号
# C66x L2 存储 器分配
# L2 - 64KB 为 $、 224KB 为 SRAM
编号
c66x_1_L2_addr  = 0x00800000;
c66x_1_L2_size  = (288 - 128)*KB;   
c66x_2_L2_addr  = 0x00800000;
c66x_2_L2_size  = (288 - 128)*KB;

运行 python 文件后、我在构建 SDK 时遇到以下错误

"/home/psdk_rtos_auto_j7_07_00_00_11/vision_apps/apps/basic_demos/app_tirtos/tirtos_qnx/c66x_1/linker.cmd、第99行:错误:
程序将不能放入可用的内存中。 带对齐的照射行程放置
".bss:l2mem"大小为0x38000时失败。 可用存储器范围:
L2RAM_C66x_1大小:0x28000未使用:0x28000最大孔洞:0x28000
错误:链接过程中遇到错误;
"/home/psdk_rtos_auto_j7_07_00_00_11/vision_apps/out/J7/C66/SYS
未构建 BIOS/RELEASE/VX_APP_tirtos_QNX_C6X_1.out"
maked[1]:[/home/psdk_rtos_auto_j7_07_00_00_11/vision_apps/out/J7/C66/SYSBIOS/release/vx_app_tirtos_qnx_c6x_1.out 错误1 (忽略)
"/home/psdk_rtos_auto_j7_07_00_00_11/vision_apps/apps/basic_demos/app_tirtos/tirtos_qnx/c66x_2/linker.cmd,第98行:错误:
程序将不能放入可用的内存中。 带对齐的照射行程放置
".bss:l2mem"大小为0x38000时失败。 可用存储器范围:
L2RAM_C66x_2大小:0x28000未使用:0x28000最大孔洞:0x28000

请告诉我、为了增大 C66的缓存大小、还需要执行哪些其他操作

此致

Vinayak  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Vinayak、


    很抱歉答复很晚。

    当您将 python 脚本从64KB 更新到128KB 并运行时、它应该相应地更新 vision_apps/apps/basic_demos/app_tirtos_QNX/app_mem_map.h 文件。

    链接器错误似乎表明 app_mem_map.h 仍具有旧值、因此其在分配中失败。 是否可以打开并检查文件是否已更新? 我在最后尝试了这种方法、似乎对其进行了更新。

    此致、
    Shyam

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Shyam、您好!
     
    根据您的建议、我们检查了 app_mem_map.h 它似乎已更新。
    请在存储器映射更改后查看此处所附的文件。
     
    是否还有其他需要验证的东西?
    Regardse2e.ti.com/.../Caches_5F00_files.zip

    Vinayak

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Vinayak、

    我在最后无法重现此问题 更改已生效。 您可以尝试执行清理构建吗?

    执行 make sdk_scrub、再执行 make sdk

    此致、
    Shyam

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Shyam、您好!
     
    我们尝试清理构建、但它不起作用。
    还有一个观察结果是、我们能够为 Linux 构建它。 仅对于 QNX、我们才会面临此问题。
     
    是否要为 QNX 执行任何特定的操作?
     
    此致、
    Vinayak
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Vinayak、

    我运行了以下步骤来重现您报告的相同错误:

    1) 1)按照 VISION 应用程序说明为 QNX 全新安装和构建、最后以以下命令结束

    CD $PSDRKA_PATH/VISION_APPS

    创建 SDK

    创建 vision_apps

    2) 2)根据您的指令修改了 python 脚本

    3)针对更新的 app_mem_map.h 运行 Python 脚本(检查以确保 app_mem_map.h 是新的)

    4) 4)尝试为 QNX 构建 vision_apps、但未先清理任何内容

    CD $PSDRKA_PATH/VISION_APPS

    创建 vision_apps

    5) 5)解决构建问题、清理视觉应用程序并重建

    CD $PSDRKA_PATH/VISION_APPS

    使 vision_apps_clean

    创建 vision_apps

        

    如果类似步骤对您不起作用、请检查 vision_apps_clean make 目标是否已正确"清理" vision_apps/out 目录。  可能是该目录中存在来自之前构建设置的文件。

    此致、

    KB

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 KB:

    我们尝试了全新 PSDK 中提供的步骤、并成功构建了该软件。

    我们观察到、每当我们将应用程序保留在 PSDK 中时、我们都会面临此问题。

    最后、我们尝试了一些将我们的应用程序保留在 PSDK 中的操作、下面是我们的发现。

    高级 否

    主机操作系统

    已进行高速缓存更改

    构建状态

    1

    Linux

    成功

    2.

    Linux

    是的

    成功

    3.

    QNX

    成功

    4.

    QNX

    是的

    失败

    此致、

    Vinayak

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Vinayak、

    感谢您的解释、如果您不了解新应用程序的添加方式、您只能给出以下高级评论:

    先前看到的构建/链接错误是由于使用先前存在的存储器设置的构建残留物引起的。  当进行新的存储器修改时、新的存储器设置与之前的存储器构建剩余视图不匹配、因此出现错误。  如果您的应用程序发生类似的错误:

    • 确保没有来自之前构建的构建工件、确保针对 QNX 案例"清理"新应用程序。
    • 确保引入所需的存储器定义、也就是说、新应用程序是否正确支持为 Linux/QNX 构建。

    此致、

    KB

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好

    • 对于干净编译、 我们执行以下步骤:
    1. 从 vision_apps 中删除 out 和 lib 文件夹  
    2.  vision_apps 中运行命令 make sdk_scrub
    3. 然后 在 vision_apps 中运行 make SDK 命令
    • 对于内存更改  、我执行了以下步骤:
    1. 我 使用 QNX OS 安装新的 PSDK 07_00_00_11。
    2. 我使用上述步骤添加应用程序和清理构建
    3. 此构建包含我的应用程序、该应用程序与 带有 QNX OS 的 PSDK 07_00_00_11集成、无需更改存储器  
    4. 然后从  vision_apps 中删除 Out 和 lib 文件夹  
    5. 我从  \vision_apps\apps\basic_demos\app_tirtos\tirtos_QNX\gen_linker_mem_map.py 更改并运行了 python 脚本
    6. 验证文件夹 c66x_1、 c66x_2和 app_mem_map.h 中的文件是否已更新
    7. 然后、我运行命令 make sdk_scrub 并  vision_apps 中生成 SDK
    8. 但该构建失败并 出现错误

    我还观察在编译失败时、C66的映射文件中反映的存储器长度  

    存储器配置

    名称源长度使用未使用的属性填充
    ------------ ---- ------ ---- ---- --------
    L2RAM_C66x_1 00800000 00028000 00000000 00028000 RWIX
    DDR_C66x_1_resource_T a6100000 00000400 00000000 00000400 RWIX
    DDR_C66x_1_BOOT a6200000 00000400 00000200 00000200 RWIX
    DDR_C66x_1 a6200400 00dffc00 00a79b5c 003860a4 RWIX
    DDR_C66x_1_IPC a7000000 00100000 00000000 00100000 RWIX
    IPC_VING_MEM aa000000 02000000 02000000 00000000 RWIX
    APP_LOG_MEM ac000000 00040000 00040000 00000000 RWIX
    TIOxv_obj_Desc_MEM ac040000 01fa0000 00fc0000 00fe0000 RWIX
    DDR_Shared_MEM ae000000 20000000 00000000 20000000 RWIX
    DDR_C66X_1_LOCAL_HAP d4000000 01000000 00000000 RWIX
    DDR_C66X_1_Scratch d5000000 03000000 03000000 00000000 RWIX

    此致

    Vinayak

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Vinayak、

    这一问题似乎与上文第(2)款所增列的申请有关。

    建议查看下面的内容、看看是否有东西会跳出:

    1) 1)您的新应用程序中的.mak 文件是否与 QNX 和 Linux 等效、它们是否具有相同的内容。?

    2) 2) 以下目录的比较是否显示与增量相关的任何内容:

    psdk_rtos_auto_j7_07_00_00_11/vision_apps/apps/basic_demos/app_tirtos/tirtos_QNX/c66x_1  

    psdk_rtos_auto_j7_07_00_00_11/vision_apps/apps/basic_demos/app_tirtos/tirtos_linux/c66x_1

    如果您愿意向 TI 提供该应用、并且该应用可由 TI 轻松构建、请与 Karthik 分享、我可以尝试在此基础上构建

    此致、

    KB

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 KB:
     
    我们又尝试了一个实验。  
    我们采用了全新的 PSDK 和 QNX、并应用了存储器映射更改。
    即使我们的应用程序不存在于 SDK 中、构建也会失败、并出现相同的错误。
     
    注意:我们已执行清理构建。
     
    此致、
    Vinayak
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    讨论正在离线进行、我们将在得出结论后在此进行总结。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Vinayak、

    已离线提供了可能的解决方案、如果可以、请告知我(离线或在线)。

    此致、

    KB

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好

    在 Linux 中进行相同的更改后以及运行以下命令后、问题得到了解决:
    1. 制作 vision_apps_scrub
    2. 使 SDK_scrub
    3. 使 vision_apps_clean
    4. 使 SDK_clean
    5. 创建 SDK

    此致  

    Vinayak   

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Vinayak、

    由于离线对齐、导致此问题的根本原因是 QNX/Linux 构建之间存在不符合预期的相关性。  仅当为 Linux/QNX 定义不同的内存映射、并且两个 QNX / Linux 都构建在同一 vision_apps 文件夹中时、才会出现此问题。

    附加的 patch.txt 文件可应用于 PSDKQA7.0版本、以便在需要时解决此问题。

    该补丁将包含在 PSDKQA7.1版本中。

    此致、

    KB

    /cfs-file/__key/communityserver-discussions-components-files/791/3681.patch.txt