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.

[参考译文] TMS320F28377D:带有默认非 BIOS 头文件的链接器命令文件警告:创建输出段"x"没有段规范

Guru**** 2521910 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1000796/tms320f28377d-linker-commander-file-warnings-with-default-nonbios-headers-file-creating-output-section-x-without-a-sections-specification

器件型号:TMS320F28377D
主题中讨论的其他器件:C2000WARE

我将在终端中获得以下错误输出:  


警告#10247-D:在不使用的情况下创建输出段"RomWaitStateRegsFile"
部分规格
警告#10247-D:创建不带段的输出段"SyncSockRegsFile"
规格
警告#10247-D:在不使用的情况下创建输出段"Emif1ConfigRegsFile"
部分规格
警告#10247-D:在不使用的情况下创建输出段"Emif2ConfigRegsFile"
部分规格
警告#10247-D:创建不带段的输出段"XbarRegsFile"
规格
警告#10247-D:在不使用的情况下创建输出段"InputXbarRegsFile"
部分规格
警告#10247-D:在不使用的情况下创建输出段"AnalogSubsysRegsFile"
部分规格
警告#10247-D:创建不带段的输出段"ClbXbarRegsFile"
规格
警告#10247-D:创建不带段的输出段"EPwmXbarRegsFile"
规格
警告#10247-D:在不使用的情况下创建输出段"OutputXbarRegsFile"
部分规格
警告#10247-D:创建不带段的输出段"uppRegsFile"
规格
警告#10247-D:创建不带段的输出段"DevCfgRegsFile"
规格
警告#10247-D:创建不带段的输出段"GpioCtrlRegsFile"
规格

项目文件中的内容。 为此、我在 C2000Ware 文件夹中包含了默认的非 BIOS 和 RAM 文件、并且未对其进行更改。

在编译正常的 CPU1项目中、我不会遇到此问题。 为什么会发生此错误?

谢谢、
Joel

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

    CPU1的 NonBIOS 命令文件定义了这些段、但 CPU2 NonBios 默认文件未定义。 这是为什么?

    如果 CPU1和 CPU2的存储器映射相同、为什么会有单独的命令文件?

    我在这里缺少什么吗? 我已编译第一个 CPU 项目、没有错误、例如 BIOS 文件包含  GpioCtrlRegsFile 部分、我的 CPU2 NON_BIOS 文件没有、因此会输出错误。

    欢迎任何建议。

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

    您好、Joel、

    [引用 userid="420268" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1000796/tms320f28377d-linker-commander-file-warnings-with-default-nonbios-headers-file-creating-output-section-x-without-a-sections-specification/3697304 #3697304)] CPU1的 NonBIOS 命令文件定义了这些段,但 CPU2 NonBios 默认文件没有定义。 为什么会这样?

    这些配置寄存器在 CPU2上不可用、因此未包含在 CPU2链接器命令文件中。 有关详细信息、请参阅数据表第9.3.4节"外设寄存器存储器映射"。

    https://www.ti.com/lit/ds/symlink/tms320f28378d.pdf?ts=1620842511655&ref_url=https%253A%252F%252Fwww.google.com%252F

    [引用 userid="420268" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1000796/tms320f28377d-linker-commander-file-warnings-with-default-nonbios-headers-file-creating-output-section-x-without-a-sections-specification/3697304 #3697304"]如果 CPU1和 CPU2的内存映射相同,为什么会有单独的命令文件?

    它们与您之前所说的不同。 某些配置寄存器仅在 CPU1链接器命令文件中可用。

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

    你(们)好、Santosh

    这正是我所相信的——但这并不能解决我的问题。 我包含默认的 CPU2链接器命令文件、但仍然收到上述错误、仅当我在 CPU2工程中使用 CPU1链接器文件时才会发生这些错误-为什么我的链接器要求我为 CPU2中的存储器定义不需要的段?  

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

    为了确认我是否理解正确、您正在为 CPU2构建项目、您在编译器设置中具有 CPU2预定义符号、并包含 F2837xD_Headers_nonBIOS_CPU2.cmd。 但您看到该错误吗? 是这样吗?

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

    您好、Joel、

    位字段结构实例在 F2837xD_GlobalVariableDefs.c 文件中定义、这些特定实例在#ifdef CPU1下定义、因为这些实例仅在 CPU1上可用。

    您能否确认、您没有在 CCS 项目的预定义符号中添加 CPU1?

    此致、

    Veena

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

    您好 这解决了我的问题- CPU1包含在预定义符号页面中、当我开始编码该项目时复制了我的基本 CPU1项目。 有道理。  

    但是、我遇到了一个新错误、为了节省创建新线程的时间、因为这是一个基本错误、我认为这将是一个简单的修复、您可以在这里为它建议什么吗?:  

    >>编译失败
    subdir_rules.mk:30:目标'F2837xD_ePWM.obj'的配方失败
    "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_EPwm.c、第81行:错误#20:标识符"GpioCtrlRegs"未定义
    "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_EPwm.c "、第114行:错误#20:标识符"GpioCtrlRegs"未定义
    "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_EPwm.c "、第146行:错误#20:标识符"GpioCtrlRegs"未定义
    "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_EPwm.c、第178行:错误#20:标识符"GpioCtrlRegs"未定义
    "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_EPwm.c "、第210行:错误#20:标识符"GpioCtrlRegs"未定义
    "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_EPwm.c、第242行:错误#20:标识符"GpioCtrlRegs"未定义
    "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_EPwm.c、第275行:错误#20:标识符"GpioCtrlRegs"未定义
    "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_EPwm.c "、第307行:错误#20:标识符"GpioCtrlRegs"未定义
    "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_EPwm.c、第339行:错误#20:标识符"GpioCtrlRegs"未定义
    "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_EPwm.c "、第367行:错误#20:标识符"GpioCtrlRegs"未定义
    "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_EPwm.c "、第395行:错误#20:标识符"GpioCtrlRegs"未定义
    "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_EPwm.c "、第423行:错误#20:标识符"GpioCtrlRegs"未定义
    在编译"C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_EPwm.c "时检测到12个错误。
    gmake:***[F2837xD_ePWM.obj]错误1.

    祝你一切顺利、
    Joel

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

    您好、Joel、

    GPIO 控制寄存器仅在 CPU1上可用。 请从  CPU2 CCS 工程中删除 F2837xD_ePWM.c 文件。 这只包含配置 ePWM 模块 GPIO 的函数。 这应由 CPU1完成

    此致、

    Veena

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

    哦、当然。  

    感谢 Veena、您的帮助令人难以置信。 所有内容都已编译。  

    祝你度过美好的一天!

    Joel