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.

[参考译文] RM48L952:具有 Project Library 和 Obj Project 的 Code Composer Studio GCC 编译器始终以随机顺序链接 obj#39;s、该顺序是否可以固定为升序或降序对象名称

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1062480/rm48l952-code-composer-studio-gcc-compiler-with-project-library-and-obj-project-always-links-obj-s-in-random-order-can-this-order-be-fixed-as-ascending-or-decending-obj-names

器件型号:RM48L952
主题中讨论的其他器件:CC1310

您好,  

我们使用的是 CCS 8.0和 GCC 编译器。  

我们有多个项目编译了不同的项目空间,而其他项目则使用它来生成二进制文件。

在不同的项目空间进行项目库编译,并在不同的项目空间中编译对象项目。

链接 obj 时始终采用随机顺序,该顺序是否可以固定为升序或降序对象名称。

在重新编译时,我们会为同一项目获得散射二进制文件(没有任何更改) ,是否有任何编译器/链接器选项来链接 obj 始终以升序或降序的严格指定顺序链接。  

在此链接器设置中、我们没有选择升序或降序对象列表的选项

谢谢,

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

    Chandre、

    项目系统中有一种控制链接顺序的方法。

    在这里、我构建了一个具有默认设置的示例项目。  您可以看到 main_nortos.o 是传递给链接器的第5个目标文件:

    构建目标:"display_CC1310_LAUNCHXL_nortos_gcc.out"

    调用:GNU 连接器

    "/Applications/ti/ccs1100b11/ccs/tools/compiler/gcc-arm-none-eabi-7-2017-q4-major/bin/arm-none-eabi-gcc-7.2.1 /Users/a0792138/ti/simplelink_cc13x0_sdk_4_10_01_01/source /Applications/ti/ccs1100b11/ccs/tools/compiler/gcc-arm-none-eabi-7-2017-q4-major/arm-none-eabi/lib/thumb/v7-m -DBOARD_DISPLAY_USE_UART_ANSI=1 -DBOARD_DISPLAY_USE_LCD=1 -DDeviceFamily_CC13X0 -ffunion-sections -fdata-SECTIONS -g -gdwarf-3 -gstrict-dwarf -Wall -March =armv7-m -mthumb -mctrumb -ctrap_exitos"-ctrad_trads.g/narctrap_exits"-ctrap_l_trads.g_trap_tradcs."-ctran_ex-ctrap_l.g/nots"-ctradcs.tran_ex-ctran_export."-ctrap_l.trap_export."-ctrap_l_export."-ctran_export."-ctran_l"-ctrap_export.tran.ccl"-ctrap_export.trap.-ctran.-ctran.-ctrap.trap./Applications/ti/ccs1100b11/ccs/tools/compiler/gcc-arm-none-eabi-7-2017-q4-major/arm-none-eabi/lib /Users/a0792138/ti/simplelink_cc13x0_sdk_4_10_01_01/kernel/nortos   

    完成的构建目标:"display_CC1310_LAUNCHXL_nortos_gcc.out"

    现在、如果我设置链接顺序:

    然后再次构建、您可以看到它是传递给链接器的第一个目标文件。   

    构建目标:"display_CC1310_LAUNCHXL_nortos_gcc.out"

    调用:GNU 连接器

    "/Applications/ti/ccs1100b11/ccs/tools/compiler/gcc-arm-none-eabi-7-2017-q4-major/bin/arm-none-eabi-gcc-7.2.1 /Users/a0792138/ti/simplelink_cc13x0_sdk_4_10_01_01/source /Applications/ti/ccs1100b11/ccs/tools/compiler/gcc-arm-none-eabi-7-2017-q4-major/arm-none-eabi/lib/thumb/v7-m -DBOARD_DISPLAY_USE_UART_ANSI=1 -DBOARD_DISPLAY_USE_LCD=1 -DDeviceFamily_CC13X0 -ffunion-sections -fdata-SECTIONS -g -gdwarf-3 -gstrict-dwarf -Wall -March =armv7-m -mthumb -mctrap_exitos-ctradcs./natembr-g_tradcs./nate-ctradcs1.-l_ex-mctradcs./nology"-tradcs./g_tradcsv/natem-l.tran.tran_ex-ctradcs./nates"-tran.r.r.ccl"-ctrap_ex-ctran_ex-ctradcs.r.r.tran_ex-ctrap_ex-ctrap_ex-ctran.tran.r.r.r.ccl"-ctrap_ex-ccs.r.r.r.r.trap_ex /Applications/ti/ccs1100b11/ccs/tools/compiler/gcc-arm-none-eabi-7-2017-q4-major/arm-none-eabi/lib /Users/a0792138/ti/simplelink_cc13x0_sdk_4_10_01_01/kernel/nortos   

    完成的构建目标:"display_CC1310_LAUNCHXL_nortos_gcc.out"

    在我的情况下、我只指定了一个文件、但您可以指定所有文件来控制每个文件的链接顺序:

    此致、

    John