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: 链接器、链接文件相关问题

Part Number: TDA4VM
Other Parts Discussed in Thread: SYSBIOS

sdk: ti-processor-sdk-rtos-j721e-evm-08_01_00_13

Ti 专家你好,

 我根据ti-processor-sdk-rtos-j721e-evm-08_01_00_13/ti-processor-sdk-rtos-j721e-evm-08_01_00_13/mcusw/mcuss_demos/profiling/can 这个demo,想编译出能够在mcu3_0和mcu3_1上能运行的代码。

但是我在makfile中添加如下命令:

命令(1):

ifeq ($(CORE),mcu3_0)
    APPEND_LNKCMD_FILE += overrides/$(SOC)/$(CORE)/linker_r5f_mcu3_0_freertos.lds
	APPEND_LNKCMD_FILE += overrides/$(SOC)/$(CORE)/memory_map_ddr.cmd
endif

但是在编译的时候出错了:

上述表示我在mcusw/build/j721e/mcu3_0/中没有对应的链接文件,但是在参考demo中,其命令为:

命令(2):

ifeq ($(BUILD_OS_TYPE), freertos)
	EXTERNAL_LNKCMD_FILE_LOCAL = overrides/$(SOC)/$(CORE)/linker_r5_freertos.lds
else
	EXTERNAL_LNKCMD_FILE_LOCAL = overrides/$(SOC)/$(CORE)/linker_r5_sysbios.lds
endif

我的同事在使用命令(1)时,能够正常编译,并且在mcusw/build/j721e/目录下,没有mcu3_0的链接脚本,而是在overrides/mcu3_0目录下指定了。见命令(1)

我想问关于:

EXTERNAL_LNKCMD_FILE_LOCAL,
APPEND_LNKCMD_FILE
这两个变量在哪被被用到呢?已经其调用过程。以及其区别是什么。如果我想开发其他核,其链接脚本该如何确定?
以及在mcusw/build/makeruls/env.mk文件中,变量
CONFIG_BLD_LNK_r5f的作用以及与上述变量的区别。(如下图)