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: Linker commander file warnings with default nonBIOS headers file: creating output section "x" without a SECTIONS specification

Part Number: TMS320F28377D
Other Parts Discussed in Thread: C2000WARE

I am getting the below error outputs into my terminal: 

<Linking>
warning #10247-D: creating output section "RomWaitStateRegsFile" without a
SECTIONS specification
warning #10247-D: creating output section "SyncSocRegsFile" without a SECTIONS
specification
warning #10247-D: creating output section "Emif1ConfigRegsFile" without a
SECTIONS specification
warning #10247-D: creating output section "Emif2ConfigRegsFile" without a
SECTIONS specification
warning #10247-D: creating output section "XbarRegsFile" without a SECTIONS
specification
warning #10247-D: creating output section "InputXbarRegsFile" without a
SECTIONS specification
warning #10247-D: creating output section "AnalogSubsysRegsFile" without a
SECTIONS specification
warning #10247-D: creating output section "ClbXbarRegsFile" without a SECTIONS
specification
warning #10247-D: creating output section "EPwmXbarRegsFile" without a SECTIONS
specification
warning #10247-D: creating output section "OutputXbarRegsFile" without a
SECTIONS specification
warning #10247-D: creating output section "UppRegsFile" without a SECTIONS
specification
warning #10247-D: creating output section "DevCfgRegsFile" without a SECTIONS
specification
warning #10247-D: creating output section "GpioCtrlRegsFile" without a SECTIONS
specification

In my CPU2 project file. I have included the default nonBIOS and RAM files from the C2000Ware folders for this and have not changed them.

I do not have this issue in my CPU1 project which compiles fine. Why might this error occur?

Thanks,
Joel

  • The NonBIOS command file for CPU1 has these sections defined, but the CPU2 NonBios default file does not. Why is this?

    Why is there a seperate command file for the CPU1 and CPU2 if their memory maps are identical?

    Am I missing something here? I have compiled the first CPU project fine, with no errors and for example the BIOS file includes a section for GpioCtrlRegsFile, my CPU2 non_BIOS file does not and is therefore spitting out an error.

    Any advice welcomed.

  • Hi Joel,

    The NonBIOS command file for CPU1 has these sections defined, but the CPU2 NonBios default file does not. Why is this?

    These configuration registers are not available on CPU2, and that is why it is not included in cpu2 linker command file. Please refer to datasheet section 9.3.4 Peripheral Registers Memory Map for details.

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

    Why is there a seperate command file for the CPU1 and CPU2 if their memory maps are identical?

    They are not not identical as you said earlier. Some of the configuration registers are only available in CPU1 linker command file.

  • Hi Santosh

    that is exactly as I believed - but it does not solve my problem. I am including the default cpu2 linker command file but still getting the errors above which should only be happening if I was using CPU1 linker file in a CPU2 project - why is my linker asking me to define SECTIONS for memory in CPU2 that it does not need? 

  • Just to confirm if I understand correctly, you are building a project for CPU2, you have CPU2 predefined symbols in compiler setting, and included F2837xD_Headers_nonBIOS_cpu2.cmd. But you are seeing this error? is that correct?

  • Hi Joel,

    The bitfield struct instances are defined in F2837xD_GlobalVariableDefs.c file, and these specific instances are defined under #ifdef CPU1, since these are only available on CPU1.

    Can you confirm, that you do not have CPU1 added in the predefined symbol in the CCS project?

    Regards,

    Veena

  • Hi and , this has resolved my issue - CPU1 was included in the pre-defined symbols page, as I copied my base CPU1 project when I began coding this project. Makes sense. 

    I get a new error though, and to save creating a new thread since it is such a basic error that I believe will be a simple fix, can you suggest anything here for it?: 

    >> Compilation failure
    subdir_rules.mk:30: recipe for target 'F2837xD_EPwm.obj' failed
    "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_EPwm.c", line 81: error #20: identifier "GpioCtrlRegs" is undefined
    "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_EPwm.c", line 114: error #20: identifier "GpioCtrlRegs" is undefined
    "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_EPwm.c", line 146: error #20: identifier "GpioCtrlRegs" is undefined
    "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_EPwm.c", line 178: error #20: identifier "GpioCtrlRegs" is undefined
    "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_EPwm.c", line 210: error #20: identifier "GpioCtrlRegs" is undefined
    "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_EPwm.c", line 242: error #20: identifier "GpioCtrlRegs" is undefined
    "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_EPwm.c", line 275: error #20: identifier "GpioCtrlRegs" is undefined
    "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_EPwm.c", line 307: error #20: identifier "GpioCtrlRegs" is undefined
    "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_EPwm.c", line 339: error #20: identifier "GpioCtrlRegs" is undefined
    "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_EPwm.c", line 367: error #20: identifier "GpioCtrlRegs" is undefined
    "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_EPwm.c", line 395: error #20: identifier "GpioCtrlRegs" is undefined
    "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_EPwm.c", line 423: error #20: identifier "GpioCtrlRegs" is undefined
    12 errors detected in the compilation of "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_EPwm.c".
    gmake: *** [F2837xD_EPwm.obj] Error 1

    Best wishes,
    joel

  • Hi Joel,

    The GPIO control registers are only available on CPU1. Please remove the F2837xD_EPwm.c file from the CPU2 CCS project. This contains only the functions that configures the GPIOs of the EPWM module. This should be done by CPU1

    Regards,

    Veena

  • Oh, of course. 

    Thank you Veena, you have been incredibly helpful. Everything compiled now. 

    Have a great day.

    Joel