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.

[参考译文] 在 sys_startup.asm 文件中获取警告

Guru**** 2581345 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1117152/getting-warning-in-sys_startup-asm-file

您好!

在构建我们的堆栈时、我们会在 sys_startup.asm 文件中收到以下警告。

警告:选项--symdebug:dwarf 覆盖前面的选项--symdebug:none

请提供解决上述警告的解决方案

编译器:clang

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

    Vigneshwaran 您好、   

    请提供更多信息。  您使用的是什么处理器?

    谢谢、

    ~Leonard   

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

    AM263x 双核 Arm Cortex-R5F

    CCS 版本为11.1

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

    您好 Vigneshwaran、

    您使用的 MCU+ SDK 的哪个版本以及哪个 CCS 工程或库构建会导致上述警告?

    此致、

    Ming  

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

    我们不使用 MCU+SDK、而是为 AM263变体的所有驱动程序开发 AUTOSAR MCAL 代码。

    我们在构建 AM263堆栈时已识别出此警告。

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

    请显示导致此诊断的编译器的完全调用...

    [引用 userid="527147" URL"~//support/tools/code-composer-studio 组/CCS/f/code-composer-studio 论坛/1117152/getting-warning-in-sys_startup-asm-file"]警告:选项--symdebug:dwarf 覆盖前选项--symdebug:none[/quot]

    请复制并粘贴文本、不要使用屏幕截图。

    谢谢、此致、

    乔治

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

    在标记颜色下面、我们会收到警告。

    #存档 am263:r5f:调试:端口
    编号
    #生成 am263:r5f:debug:app_utils……
    # D:/TI_Git/mcal_Sitara_MCU/AM263_00.09.00/mcal/binary/examples/Utils/obj/am263/r5f/debug/sys_core.oer5f 编译 am263:r5f:debug:app_utils:./clang/sys_core.asm
    警告:选项--symdebug:dwarf 覆盖前面的选项--symdebug:none
    #编译 am263:r5f:debug:app_utils:app_utils.c
    #编译 am263:r5f:debug:app_utils:app_utils_uart.c
    #编译 am263:r5f:debug:app_utils:sci.c
    #编译 am263:r5f:debug:app_utils:trace.c
    #编译 am263:r5f:debug:app_utils:ESM.c
    #编译 am263:r5f:debug:app_utils:sys_vim.c
    #编译 am263:r5f:debug:app_utils:crc.c
    编号
    #存档 am263:r5f:调试:app_utils
    编号
    # D:/TI_Git/mcal_Sitara_MCU/AM263_00.09.00/mcal/binary/FLS_app/obj/am263/r5f/debug/sys_startup.oer5f D:/TI_Git/mcal_Sitara_MCU/AM263_00.09.00/mcal/vecs/sys/fs/sys_startup:/am5f_debug/rfs/mcirtif_mcirtif/rfs/rfs/rfs/rfs/mcirtinfls_/am5f_mcs/rfs/rfs/rf_debug/rfs/rfs/rfs/r5tilfs/r
    警告:选项--symdebug:dwarf 覆盖前面的选项--symdebug:none
    # D:/TI_Git/mcal_Sitara_MCU/AM263_00.09.00/mcal/binary/FLS_app/obj/am263/r5f/debug/sys_startup.oer5f D:/TI_Git/mcal_Sitara_MCU/AM263_00.09.00/mcal/vecs/sys/fs/sys_startup:til/am5f/smc_debug/am5f/smcr:/aminfls_/rtil/r5f/smcr:tinfls_/rf/sm/rf_debug/am5f
    警告:选项--symdebug:dwarf 覆盖前面的选项--symdebug:none

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

    我认为您需要删除构建选项--symdebug:none。  要确定、我需要了解更多详细信息。  我需要查看完整的 tiarmclang 命令、包括所有构建选项和文件名、就像 tiarmclang 所看到的那样。  请复制并粘贴文本、不要使用屏幕截图。

    谢谢、此致、

    乔治

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

    请在下面找到 clang 编译器 make 文件。

    《国际环境与发展会议报告》
    #*
    #版权所有(c) 2022 Texas Instruments Incorporated - http://www.ti.com/ *
    #保留所有权利*
    #*
    《国际环境与发展会议报告》

    #文件名:rules_r5f_clang.mk
    编号
    #为 R5制定规则-此文件具有所需的所有通用规则和定义
    Cortex-R5 ISA 编号
    编号
    #此文件需要在以下情况下更改:
    第1个。 代码生成工具链更改
    第2步。 内部开关(通常未触摸)必须改变
    第3个。 特定于 XDC 的开关发生变化
    4.必须添加或修改 R5 ISA 的通用规则

    CGT_ISA = R5
    CGT_EXT = r5f
    CGT_PATH =$(toolchain_path_R5)

    #设置编译器/归档器/链接器命令和包含路径
    代码生成_include =$(toolchain_path_$(CGT_ISA))/include

    CC =$(toolchain_path_$(CGT_ISA))/bin/armcl
    AR =$(toolchain_path_$(CGT_ISA))/bin/armar
    lnk =$(toolchain_path_$(CGT_ISA))/bin/armcl
    STRP =$(toolchain_path_$(CGT_ISA))/bin/armstrip
    大小=$(toolchain_path_$(CGT_ISA))/bin/armofd

    #根据 ENDIAN 导出 RTS 库名称的一部分:小/大
    ifeq ($(ENDIAN)、lLittle)
    RTSLIB_ENDIAN = le
    其他
    RTSLIB_ENDIAN = be
    字节序

    #根据以下格式推导编译器开关和 RTS 库名称的一部分:COFF/ELF
    ifeq ($(格式)、ELF)
    CSWITCH_FORMAT = eabi
    RTSLIB_FORMAT = eabi
    字节序

    #LNKFLAGS_INTERNAL_COMMON +=-O4
    #LNKFLAGS_INTERNAL_COMMON +=-run_linker


    #内部 CFLAGS -通常不会更改
    # TODO:检查--fp_mode=strict,--gcc
    CFLAGS_INTERNAL =-c -qq -pdsw225 --endian=$(ENDIAN)-mv7$(CGT_ISA)--fp_mode=strict --abi=$(CSWITCH_format)-eO.$(OBJEXT)-ea。$(ASMEXT)--debug:dwarf_assembly - symgcc_inline
    ifeq ($(CGT_ISA)、$(筛选器$(CGT_ISA)、R5))
    CFLAGS_INTERNAL +=-float_support=vfpv3d16
    #启用 Thumb2模式
    CFLAGS_INTERNAL +=-code_state=16
    其他
    CFLAGS_INTERNAL +=-float_support=vfplib
    字节序
    ifeq ($(Tree_warnings _as _error)、是)
    CFLAGS_INTERNAL +=-EMIT_WARNINGS_AS_ERRORS
    LNKFLAGS_INTERNAL_COMMON +=-EMIT_WARNINGS_AS_ERRORS
    字节序
    CFLAGS_DIROPTS =-fr=$(OBJDIR)-fs=$(OBJDIR)

    ifeq ($(SOCFAMLY)、$(filter $(SOCFAMLY)、AM263))
    CFLAGS_INTERNAL +=-DAM263_PLANDANTILE
    字节序


    # CFLAGS (基于所选配置文件的 CFLAGS)
    ifeq ($(profile_$(core))、debug)
    LNKFLAGS_INTERNAL_PROFILE =
    CFLAGS_INTERNAL +=-D_DEBUG_=1
    字节序
    ifeq ($(profile_$(core))、发布)
    #LNKFLAGS_INTERNAL_PROFILE =-strict_compatibility=on
    LNKFLAGS_INTERNAL_PROFILE =-QQ --diag_warning=225 --diag_suppress=23000 $(LNKFLAGS_GLOBAL_$(CORE))
    ifeq ($(CGT_ISA)、$(筛选器$(CGT_ISA)、R5))
    CFLAGS_INTERNAL +=-ms -O4 -s -optimize_with 调试
    其他
    CFLAGS_INTERNAL +=-ms -op0 -OS -inline_recursion_limit=20
    字节序
    字节序

    ifeq ($(Jenkins_test_automation)、true)
    CFLAGS_INTERNAL +=-DJENKINS_TEST_automation
    字节序

    'if...'块后面的#用于应用程序;为每个应用程序添加#define
    构建中的#组件。 这需要在编译时知道、是什么
    #个组件位于哪个内核上。
    ifndef module_name
    #派生应用程序所需每个组件的所有软件包列表
    pkg_list_R5_local =$(foreach COMP、$(COMP_LIST_$(CORE)))、$($(COMP)_PKG_list)

    #为应用程序和 cfg 源代码定义以了解哪些组件/程序包
    #包含在本地内核的构建中...
    CFLAGS_APP_defines =$(foreach PKG、$(PKG_LIST_R5_local)、-D_LOCAL_$(PKG)_)
    CFLAGS_APP_defines +=$(foreach PKG、$(PKG_LIST_R5_local)、-D_BUIL_$(PKG)_)

    #为应用程序和 cfg 源代码定义以了解哪些组件/程序包
    #包含在远程内核构建中...
    CFLAGS_APP_defines +=$(foreach PKG、$(PKG_LIST_R5_remote)、-D_REMOTE_$(PKG)_)
    CFLAGS_APP_defines +=$(foreach PKG、$(PKG_LIST_R5_remote)、-D_BUIL_$(PKG)_)

    字节序

    #从所有其他 CFLAGS 定义汇编 CFLAGS
    _CFLAGS =$(CFLAGS_INTERNAL)$(CFLAGS_GLOBAL_$(CORE))$(CFLAGS_LOCAL _COMMON)$(CFLAGS_LOCAL)$(CFLAGS_LOCAL)$(CFLAGS_LAGS_COMP)$(COLAGS_LAGS_COMMON)$(COLAGS_COLAGS_COLAGS_COMMON)$(COLAGS_CFLAGS_COMMON)$(COLAGS_CFLAGS_COLAGS_COMMON (COLAGS_COLAGS)$(COLAGS_COLAGS)$(COLAGS_COLAGS_COM$(COLAGS_COLAGS

    #决定编译模式
    COMPILEMODE =-fc
    ifeq ($(cplusplus_build)、是)
    COMPILEMODE =-FG
    字节序

    #创建目标文件
    #第一个$(CC)为每个对象生成依赖项生成文件
    #第二个$(CC)编译源以生成对象
    $(obj_paths):$(OBJDIR)/%.$(OBJEXT):%.c
    $(echo)\#编译$(platform):$(core):$(profile_$(core)):$(app_name)$(module_name):<<
    $(CC)-PPD=$(DEPFILE).P $(_CFLAGS)$(INIT)$(CFLAGS_DIROPTS)$(COMPILEMODE)<<
    $(CC)$(_CFLAGS)$(INIES)$(CFLAGS_DIROPTS)$(COMPILEMODE)<

    #TODO:如果确实需要、请检查 ASMFLAGS
    #ASMFLAGS =-g -code_state=16 --diag_warning=225 --display_error_number --diag_wrap=off \
    --gen_func_subsections=on --enum_type=packed --auto_inline=0 --small_enum
    #TODO:如果确实需要、请检查 ASMFLAGS
    ASMFLAGS =-me -g -code_state=16 --diag_warning=225

    #创建目标文件
    $(obj_paths_asm):$(OBJDIR)/%%。$(OBJEXT):%.asm
    $(echo)\#$(obj_paths_asm)编译$(platform):$(core):$(profile_$(core)):$(app_name)$(module_name):<<
    $(CC)-PPD=$(DEPFILE).P $(_CFLAGS)$(INIT)$(CFLAGS_DIROPTS)-fa $
    $(CC)$(_CFLAGS)$(INPUT)$(CFLAGS_DIROPTS)-fa $<

    $(PACKAGEDIR):$(PACKAGEDIR)/%:%
    $(echo)\#正在复制$(package_name)/$($(module_name)_RELPATH)/$<
    $(MKDIR)-p $(dest_root)/package/$(package_select)/$(package_name)/$($(module_name)_RELPATH)
    $(cp)--父 射频$<$(dest_root)/package/$(package_select)/$(package_name)/$($(module_name)_RELPATH)

    #存档标志-通常不会更改
    ARFLAGS = rq

    #存档/库文件创建
    $(LIBDIR)/$(MODULE_NAME)。$(LIBEXT):$(obj_paths_asm)$(obj_paths)
    $(echo)\#
    $(echo)\#归档$(platform):$(core):$(profile_$(core)):$(module_name)
    $(echo)\#
    $(AR)$(ARFLAGS)$@$(obj_paths_asm)$(obj_paths)

    #链接器选项和规则
    #LNKFLAGS_PRELink_FLAGS =--silicon_version=7R4
    #ifeq ($(profile_$(core))、发行版)
    # LNKFLAGS_PREC链接_FLAGS +=--ABI =$(CSWITCH_FORMAT)
    #endif
    #LNKFLAGS_INTERNAL_COMMON +=--emit_warnings_as 错误--diag_error=10247 --diag_error=10423 --display_error_number -w -q -u _c_int00 -c --diag_suppress=10068 -z -a --rom_model --warn_sections-rerebus-rere=unused_section -rere=unusion_region_region_on \-unusion_region_region.#lepar
    --compress_dwarf=on --copy_compression=rle --cinit_compression=rle --reread_libs --disable_auto_rts\
    --generate_dead_funcs_list=$(build_DIR)\feedback.txt

    #链接器选项和规则
    #--diag_suppress=10068抑制有关链接器文件中缺少段的警告
    LNKFLAGS_INTERNAL_COMMON +=-w -q -u _c_int00 -c -diag_suppress=10068
    ifeq ($(CGT_ISA)、R5)
    LNKFLAGS_INTERNAL_COMMON +=-mv7R5
    #--diag_suppress=10063按下"警告:指定的_c_int00以外的入口点"
    LNKFLAGS_INTERNAL_COMMON +=-diag_suppress=10063
    字节序

    #汇编来自所有其他 LNKFLAGS 定义的链接器标志
    LNKFLAGS =$(LNKFLAGS_PReLink_FLAGS)-z $(LNKFLAGS_INTERNAL_COMMON)$(MCAL_LNKFLAGS_INTERNAGS)$(LNKFLAGS_GLOBAL_$(CORE)$(LMKFLAGS_LOCAL)$(LNKLAGS_COMON)$(LNKLAGGS_COLL))$(LNKLAGAGS_COREAL)

    RTS 库的#路径-对于给定的工具链、通常不会更改
    让链接器选择所需的库
    RTSLIB_PATH =$(toolchain_path_R5)/lib/libc.a
    lib_paths +=$(RTSLIB_path)

    lnk_libs =$(addprefix -l、$(LIB_paths))
    lnk_libs +=$(addprefix -l、$(EXT_LIB_Paths))

    #链接器-创建可执行文件
    ifeq ($(local_app_name)、)
    EXE_NAME =$(BINDIR)/$(APP_NAME)_$(CORE)_$(PROFILE_$(CORE))。$(EXREXT)
    其他
    ifeq ($(profile_$(core))、prod_release)
    EXE_NAME =$(BINDIR)/$(LOCAL_APP_NAME)。$(EXREXT)
    其他
    EXE_NAME =$(BINDIR)/$(LOCAL_APP_NAME)_$(PROFILE_$(CORE))。$(EXREXT)
    字节序
    字节序

    $(EXE_NAME):$(obj_paths_asm)$(obj_paths)$(LIB_paths)$(LNKCMD_file)
    $(echo)\#链接到$(EXE_NAME)...
    $(echo)\#
    $(LNK)$(_LLKFLAGS)$(obj_paths_asm)$(obj_paths)$(LNKCMD_file)-o $@-m $@.map $(LNK_libs)
    $(echo)\#
    $(echo)\#$@ created。
    $(echo)\#

    #包含由$(CC)生成的依赖项生成的文件
    -include $(SRCS:%.c=$(DEPDIR)/%.P)

    #没有什么超过这个点的

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

    这不是完整的 makefile 文件。 它是一个包含在主 makefile 文件中的文件。  我看不到--symdebug:里面没有。  因此、必须在其他位置添加该选项。  您需要确定发生这种情况的位置并将其删除。  

    因为你的第一篇帖子说...

    [引用 userid="527147" url="~//support/tools/code-composer-studio 组/CCs/f/code-composer-studio 论坛/1117152/getting-in-sys_startup-asm-file]]编译器:clang

    (笑声) 我以为你使用了 tirarmclang。  但是,您使用...

    [引用 userid="527147" URL"~//support/tools/code-composer-studio 组/CCS/f/code-composer-studio 论坛/1117152/getting-in-sys_startup-asm-file/4159780#4159780]CC =$(toolchain_path_$(CGT_bin)/armcl

    ...这是专有的 TI Arm 编译器。  就这一具体问题而言,它没有什么不同。  但我认为您应该知道。

    谢谢、此致、

    乔治