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.

[参考译文] TDA4VM:如何更改 MCU3_0 DDR 大小?

Guru**** 2524550 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1173132/tda4vm-how-to-change-the-mcu3_0-ddr-size

器件型号:TDA4VM

尊敬的 TI 专家:

执行 SDL ECC 功能时出现 mcu3_0链接错误。

编译错误日志显示为 fowloing:

"/home/tda4/code/sdk8_2_qnx_sdl/PSDKRA/vision_apps/platform/j721e/rtos/mcu3_0/j721e_linker_freertos.cmd", line 58: error:
   program will not fit into available memory, or the section contains a call
   site that requires a trampoline that can't be generated for this section.
   run placement with alignment fails for section ".sysmem" size 0x10000.
   Available memory ranges:
   DDR_MCU3_0   size: 0xeffc00     unused: 0x2f5c       max hole: 0x28e0
error: errors encountered during linking;
   "/home/tda4/code/sdk8_2_qnx_sdl/PSDKRA/vision_apps/out/J7/R5F/FREERTOS/relea
   se/vx_app_rtos_qnx_mcu3_0.out" not built
tiarmclang: error: tiarmlnk command failed with exit code 1 (use -v to see invocation)
concerto/finale.mak:212: recipe for target '/home/tda4/code/sdk8_2_qnx_sdl/PSDKRA/vision_apps/out/J7/R5F/FREERTOS/release/vx_app_rtos_qnx_mcu3_0.out' failed
make[1]: [/home/tda4/code/sdk8_2_qnx_sdl/PSDKRA/vision_apps/out/J7/R5F/FREERTOS/release/vx_app_rtos_qnx_mcu3_0.out] Error 1 (ignored)
Copying built libraries: /home/tda4/code/sdk8_2_qnx_sdl/PSDKRA/vision_apps/out/J7/R5F/FREERTOS/release to /home/tda4/code/sdk8_2_qnx_sdl/PSDKRA/vision_apps/lib/J7/R5F/FREERTOS/release
make[1]: Leaving directory '/home/tda4/code/sdk8_2_qnx_sdl/PSDKRA/vision_apps'

日志显示.sysmem 段 需要0x10000大小、但 DDR_MCU3_0仅保留 未使用:0x2f5c。

当我研究如何增大它的大小时、我发现在 MCU2_1或 MCU3_1使用 DDR 之前或之后。

platform/j721e/rtos/mcu2_1/linker_mem_map.cmd:82:    DDR_MCU2_1               ( RWIX ) : ORIGIN = 0xA4100400 , LENGTH = 0x01EFFC00
platform/j721e/rtos/mcu3_0/linker_mem_map.cmd:80:    DDR_MCU3_0               ( RWIX ) : ORIGIN = 0xA6100400 , LENGTH = 0x00EFFC00
platform/j721e/rtos/mcu3_1/linker_mem_map.cmd:80:    DDR_MCU3_1               ( RWIX ) : ORIGIN = 0xA7100400 , LENGTH = 0x00EFFC00

谢谢、请帮助提供一些建议以增大 DDR_MCU3_0大小。

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

    您好!

    但为什么需要 增大 mcu3_0的大小? 我们为每个内核保留了大约15MB 的内存、mcu3_0是否需要超过15MB 的内存?

    此致、

    Brijesh

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

    您好、Brijesh、

    我需要启用 SDL ECC 函数、该函数需要在 SDL/TEST/ECC/ECC_SDL_funcTest/ECC_func.c 中调用函数"ECC_funcTest"

    当我不调用此函数时、根据.map 文件、DDR_MCU3_0仅保留大约500K 的大小、如下所示:

    路径:vision_apps/out/J7/R5F/freertos/release/vx_app_rtos_QNX_mcu3_0.out.map

       10 MEMORY CONFIGURATION
       11
       12          name            origin    length      used     unused   attr    fill
       13 ----------------------  --------  ---------  --------  --------  ----  --------
       14   R5F_TCMA_VECS         00000000   00000040  00000040  00000000     X
       15   R5F_TCMA              00000040   00007fc0  00000d08  000072b8     X
       16   R5F_TCMB0             41010000   00008000  00000000  00008000  RWIX
       17   DDR_MCU3_0_IPC        a6000000   00100000  00000000  00100000  RWIX
       18   DDR_MCU3_0_RESOURCE_T a6100000   00000400  00000000  00000400  RWIX
       19   DDR_MCU3_0            a6100400   00effc00  00e80aac  0007f154  RWIX
       20   IPC_VRING_MEM         b0000000   02000000  02000000  00000000  RWIX
       21   APP_LOG_MEM           b2000000   00040000  00040000  00000000  RWIX
       22   TIOVX_OBJ_DESC_MEM    b2040000   03fa0000  00fc0000  02fe0000  RWIX
       23   DDR_SHARED_MEM        b8000000   20000000  00000000  20000000  RWIX
       24   DDR_MCU3_0_LOCAL_HEAP db000000   00800000  00800000  00000000  RWIX
       25   INTERCORE_ETH_DESC_ME fb000000   00800000  00000000  00800000  RWIX
       26   INTERCORE_ETH_DATA_ME fb800000   01800000  00000000  01800000  RWIX
    

    当我启用函数  ECC_funcTest 时、它将报告上述编译错误。

    BR、

    鲁伊丰

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

    您好、Ruifeng、

    您是否已在 mcu3_0中包含模块? 它已经 在使用15MB。 如果它是 SDK 中的一个、则不应太多使用。

    此致、

    Brijesh

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

    您好、Brijesh、

    是的、我已经运行了 MPU/ESM 和 MCU3_0中的一些其他模块。

    我们需要添加更多模块。

    请注意、SDL 使用版本 SDL 1.0.0。

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

    您好、Ruifeng、

    好的、在这种情况下 、您还可以在 vision 应用程序 DTB 文件中增大 mcu3_0的大小并使用 python 脚本更新完整的存储器映射吗? 有关在 VISION SDK 中更新存储器映射的信息、请参阅以下应用手册。

    https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/latest/exports/docs/psdk_rtos/docs/user_guide/developer_notes_memory_map.html#using-pyti-psdk-rtos-for-generating-memory-map-files

    此致、

    Brijesh