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**** 2040210 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:

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
"/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'
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

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

Fullscreen
1
2
3
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
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

谢谢、请帮助提供一些建议以增大 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

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    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
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    当我启用函数  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