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.

[参考译文] Compiler/TDA2PXEVM:Linux:无法增加 QSPI 内存

Guru**** 2536730 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/912170/compiler-tda2pxevm-linux-not-able-to-increase-qspi-memory

器件型号:TDA2PXEVM

工具/软件:TI C/C++编译器

你(们)好  

当我尝试增加 QSPI 存储器但将错误报告 给 utils_qspi.h 时  

#define SYSTEM_QSPI_FLASH_BLOCK_SIZE (32768U*1024U)

我们如何 增加 QSPI 存储器、因为我必须在 QSPI 上存储和访问31MB 的存储器。

那么,您能否提出可能的解决方案?

谢谢

Pratik

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

    Pratik、

    您看到了什么错误?  

    Rgds、

    Brijesh

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

    您好、Brijesh  

    下面是我在 c file 中定义的结构。  

    typedef struct svsWorldPointsLut

    float afWorldLUTX[450 * 900];
    float afWorldlUTY[450 * 900];
    float afWorldLUTz[450 * 900];
    } svsWorldPointsLut;

    当结构如下时、我能够对数组进行通信  

    typedef struct svsWorldPointsLut

    float afWorldLUTX[3];
    } svsWorldPointsLut;

    报告的错误如以下日志所示  

    "/home/neha/Documents/Visonsdk/vision_sdk/binaries/apps/tda2px_evm_linux_all/obj/vision_sdk/tda2px-evm/c66xdsp_1/release/vision_sdk_configuro/linker_mod.cmd、第253行:错误:

    程序将不能放入可用的内存中。 带对齐的照射行程放置

    “.bss:extMemNonCache:linkStats”大小为0x1f0b334失败。
    可用存储器范围:
    LINK_STATS_MEM 大小:0x80000未使用:0x80000最大孔:0x80000
    错误:链接过程中遇到错误;
    "/home/neha/Documents/Visonsdk/vision_sdk/binaries/apps/tda2px_evm_linux_all
    /vision_sdk/bin/tda2px-evm/vision_sdk_c66xdsp_1_release.xe66"未编译
    /home/neha/Documents/Visonsdk/vision_sdk/build/rtos/makerules/rules_66.mk:271:目标/home/neha/Documents/Visonsdk/vision_sdk/binaries/apps/tda2px_evm_linux_all/vision_sdk/bin/tda2px-evm/vision_sdk_c66xdsp_1_release.xe66的配方失败
    maked[7]:***[/home/neha/Documents/Visonsdk/vision_sdk/binaries/apps/tda2px_evm_linux_all/vision_sdk/bin/tda2px-evm/vision_sdk_c66xdsp_1_release.xe66错误1
    /home/neha/Documents/Visonsdk/vision_sdk/build/rtos/makerules/common.mk:271:目标'c66xdsp_1'的配方失败
    make[6]:***[c66xdsp_1]错误2.
    Makefile.mk:116:目标'apps_dsp1'的配方失败
    maked[5]:***[APPS_dsp1]错误2.
    maked[5]:***正在等待未完成的作业...
    "/home/neha/Documents/Visonsdk/vision_sdk/binaries/apps/tda2px_evm_linux_all/obj/vision_sdk/tda2px-evm/c66xdsp_2/release/vision_sdk_configuro/linker_mod.cmd、第253行:错误:
    程序将不能放入可用的内存中。 带对齐的照射行程放置
    “.bss:extMemNonCache:linkStats”大小为0x1f0b334失败。
    可用存储器范围:
    LINK_STATS_MEM 大小:0x80000未使用:0x80000最大孔:0x80000
    错误:链接过程中遇到错误;
    "/home/neha/Documents/Visonsdk/vision_sdk/binaries/apps/tda2px_evm_linux_all
    /vision_sdk/bin/tda2px-evm/vision_sdk_c66xdsp_2_release.xe66"未编译
    /home/neha/Documents/Visonsdk/vision_sdk/build/rtos/makerules/rules_66.mk:271:目标/home/neha/Documents/Visonsdk/vision_sdk/binaries/apps/tda2px_evm_linux_all/vision_sdk/bin/tda2px-evm/vision_sdk_c66xdsp_2_release.xe66的配方失败
    maked[7]:***[/home/neha/Documents/Visonsdk/vision_sdk/binaries/apps/tda2px_evm_linux_all/vision_sdk/bin/tda2px-evm/vision_sdk_c66xdsp_2_release.xe66错误1
    /home/neha/Documents/Visonsdk/vision_sdk/build/rtos/makerules/common.mk:271:目标'c66xdsp_2'的配方失败
    make[6]:***[c66xdsp_2]错误2.
    Makefile.mk:127:目标'apps_dsp2'的配方失败
    maked[5]:***[APPS_dsp2]错误2.
    Makefile.MK:31:目标'apps'的配方失败
    maked[4]:***[APPS]错误2.
    Makefile.MK:315:目标“apps”的配方失败
    maked[3]:***[APPS]错误2.
    Makefile:175:目标'apps_exe'的配方失败
    make[2]:***[APPS_exe]错误2.
    Makefile:38:目标'apps'的配方失败
    maked[1]:***[APPS]错误2.
    Makefile:12:目标'vision_sdk'的配方失败
    制造:***[VISION_SDK]错误2.

    谢谢  

    Pratik

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

    Pratik、

    但对于不同的存储器部分来说、这是失败的。 对于 LINK_STATS 存储器部分、该操作失败。 如果删除 YR 更改、它是否正常构建?

    Rgds、

    Brijesh

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

    您好、Brijesh  

    在 提到数据段的位置附加我的.c 和.h 文件。

    是否有可用于写入 QSPI 的内存512 KB 如何增加内存?

    因为我在结构中被 mned 的数组由于报告了哪个问题而具有更大的大小。

    当结构中的数组较小时、假设它使用的是10个元素 fine.e2e.ti.com/.../chains_5F00_ssd_5F00_config_5F00_gateway.he2e.ti.com/.../chains_5F00_ssd_5F00_config_5F00_gateway.c

    此致

    Pratik

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

    您好、Brijesh  

    我们之前的代码中使用了 LINK_STATS MEMORY 部分、因为对存储器的要求较低

    现在、我们必须在 QSPI 存储器上存储大量数据、如大约30MB、并 尽可能在 DSP 和 a15内核上访问这些数据  

    存储器部分。

    谢谢

    Pratik

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

    您好、Brijesh  

    是否有此更新?

    我们可以增加 大约512kB 的 LINK_STATS 存储器部分、还是可以使用不同的存储器部分、因为我希望存储大约15-30MB 的数据并在 DSP 和 a15上的每个帧中访问这些数据。

    您能不能在我不熟悉此内容时详细建议解决方案。

    您的支持值得赞赏、因为我很想解决这个问题。

    谢谢  

    Pratik

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

    您好 Pratik、

    但您在链接状态中没有更改任何内容、不是吗? 为什么本节未能分配?  

    除了 QSPI 大小的增加外、您是否进行了任何其他更改? 如果您恢复此更改、它是否正常工作?

    Rgds、

    Brijesh

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

    您好、Brijesh  

    链路状态中没有任何变化、即使我甚至没有增加 QSPI 大小、您也可以建议增大 QSPI 大小

    您是否浏览过我先前共享的文件?

    当尝试创建一个包含100个浮点类型元素的数组时、它可以处理合金。

    但是、当尝试创建一个450x900浮点元素的数组时、它无法分配。

    感谢您的快速回复。

    谢谢  

    Pratik  

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

    Pratik、

    但是、这个变量是不是、你要为其增加链接状态存储器中元素的数量? 为什么要从 LINK_STATS 存储器部分分配此变量?

    Rgds、

    Brijesh   

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

    您好、Brijesh  

    非常感谢您的快速更新  

    是的、此  变量是  LINK_STATES 存储器的一部分。

    由于我们需要访问除变量之外的一些元素、因此 我们需要在所需的所有内核上访问 LINK_STATS 存储器部分。

    对于我们讨论的变量 、我们需要在 DSP 和 a15上访问它、但如果我们可以在所有内核上访问它、这将是很好的、因此这就是使用 LINK_STATS 存储器部分的原因。

    谢谢  

    Pratik

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

    Pratik、

    然后增加每个内核上的 LINK_STATS 存储器部分的大小。 它应该位于每个内核的构建文件中。  

    您还在使用 Linux 吗? 在这种情况下、Linux 也可能需要更改。

    Rgds、

    Brijesh

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

    您好、Brijesh  

    非常感谢您的快速支持。

    我正在使用 Linux、从 Linux 到需要进行哪些更改?

    您能不能仅指导哪些文件需要进行更改以增加 每个内核上的 LINK_STATS 存储器部分。

    当我不熟悉这种方法时、我可以增大覆盖范围。

    我是否需要在其他地方减少它、以便可以在 LINK_STATS 存储器部分中增加它?

    就像现在我在文件 chains_ssd_config_gateway.h 中声明了一个宏一样

    #define SSD_CONFIG_FLAHMEM_OFFSET_Bytes 0x70000
    #define SSD_CONFIG_MEMORY_FLASH_SIZE (64*1024)

    我是否需要更改它  

    共享 chains_ssd_config_gateway.h 和 chains_ssd_config_gateway.c filese2e.ti.com/.../2605.chains_5F00_ssd_5F00_config_5F00_gateway.c

    e2e.ti.com/.../1157.chains_5F00_ssd_5F00_config_5F00_gateway.h

    感谢您的快速回复。

    谢谢  

    Pratik

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

    您好、Brijesh  

    是否有此更新?

    谢谢

    Pratik

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

    您好 Pratik、

    用户指南介绍了如何更改存储器映射。 请按照此步骤增加链路统计数据内存并更新内存映射。

    这还将解释 Linux DTB 文件中是否需要在保留段中进行任何更改。

    此致、

    Brijesh

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

    您好、Brijesh  

    我根据存储器映射用户指南进行了更改、但我在查询中遇到了一些问题  

    https://e2e.ti.com/support/processors/f/791/p/914306/3379448#3379448

    请您提出建议。

    谢谢  

    Pratik

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

    您好 Pratik、

    是否可以关闭此主题? 让我们继续讨论另一个主题。

    Rgds、

    Brijesh