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.

[参考译文] C2000WARE:错误/警告:在没有"section"定义的情况下创建输出段

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1000347/c2000ware-error-warning-creation-of-output-section-without-section-definition

器件型号:C2000WARE

您好!

我在 C2000程序中遇到了一个有关创建不带段定义的输出段的问题


****为项目 HV_MPM_CPU1构建配置 CPU1_RAM ****

"C:\\ti\\ccs1020\\ccs\\utils\bin\\gmake"-k -j 4 all -O

构建目标:"HV_MPM_CPU1.OUT"
调用:C2000链接器
"c:/ti/ccs1020/ccs/tools/compiler/ti-cgt-c2000_20.2.2.LTS/bin/cl2000 /ti/ccs1020/ccs/tools/compiler/ti-cgt-c2000_20.2.2.LTS/lib /device/F2837xD_CodeStartBranch.obj -v28 -ml -mt --cla_support=cla1 -float_support=fpu32 -tmu_support=tmu0 -vcu_support=vcu2 -off -define=dual_headers -define obj=debug -define=cpu1_suppress=10063 -vcu_support=vcu-ovbu1.htm"-map_intrack_info-display_ine-ine-mu1.htm"-code.html-"-code_display_intrack_ine-ine-ines=htm#-"-link_infot_infot_infot_infot_infot_infot_infot_ination_reation_reation_reation_reation_reation_reation_reation_reation_reation_reination_reination_reb.cpu1.htm"/ti/ccs1020/ccs/tools/compiler/ti-cgt-c2000_20.2.2.LTS/include -"-htm"-ination_reb.cpu1.htm"-htm_infot_infot_infot_infot_infot_infot_infot_infot_infot_infot_infot_infot_ination_reation_/ti/c2000/C2000Ware_3_04_00_00/driverlib/f2837xd/driverlib/ccs/Debug/driverlib.lib /libraries/DCL/DCL_clamp_L1.obj /libraries/DCL/DCL_DF22_L2L3.obj /libraries/DCL/DCL_DF11_L1.obj /device/device.obj

警告#10440-D:在没有 SECTIONS 规范的情况下创建输出段".bSS"。 有关此部分的其他信息、请参阅 software-dl.ti.com/.../C2000_c28x_migration_from_coff_to_eabi.html 上的"C2000从 COFF 迁移到 EABI "指南
警告#10440-D:在不使用 SECTIONS 规范的情况下创建输出段".const"。 有关此部分的其他信息、请参阅 software-dl.ti.com/.../C2000_c28x_migration_from_coff_to_eabi.html 上的"C2000从 COFF 迁移到 EABI "指南
警告#10440-D:在没有 SECTIONS 规范的情况下创建输出段".sysmim"。 有关此部分的其他信息、请参阅 software-dl.ti.com/.../C2000_c28x_migration_from_coff_to_eabi.html 上的"C2000从 COFF 迁移到 EABI "指南
警告#10440-D:在没有 SECTIONS 规范的情况下创建输出段".init_array"。 有关此部分的其他信息、请参阅 software-dl.ti.com/.../C2000_c28x_migration_from_coff_to_eabi.html 上的"C2000从 COFF 迁移到 EABI "指南
警告#10247-D:在不使用 SECTIONS 规范的情况下创建输出段".data"

未定义的首次引用
符号
------ --------
AdcaRegs./MPM_CPU1.obj
AdcaResultRegs./MPM_CPU1.obj
AdcbRegs./MPM_CPU1.obj
AdcbResultRegs./MPM_CPU1.obj
AdcRegs./MPM_CPU1.obj
AdccResultRegs./MPM_CPU1.obj
AuxCPU_ISR ./MPM_CPU1.obj
Cla1Regs./MPM_CPU1.obj
Cla1Task1 ./MPM_CPU1.obj
Cla1Task2 ./MPM_CPU1.obj
Cla1Task3 ./MPM_CPU1.obj
Cla1Task4 ./MPM_CPU1.obj
Cla1Task5 ./MPM_CPU1.obj
Cla1Task6 ./MPM_CPU1.obj
Cla1Task7 ./MPM_CPU1.obj
Cla1Task8 ./MPM_CPU1.obj
ClkCfgRegs./MPM_CPU1.obj
cmps1Regs./MPM_CPU1.obj
cmps2Regs./MPM_CPU1.obj
Cmpss3Regs./MPM_CPU1.obj
Cmpss5Regs./MPM_CPU1.obj
Cmpss6Regs./MPM_CPU1.obj
CpuSysRegs ./MPM_CPU1.obj
CpuTimer0Regs./MPM_CPU1.obj
DacaRegs ./MPM_CPU1.obj
DacbRegs ./MPM_CPU1.obj
DaccRegs./MPM_CPU1.obj
DmaClaSrcSelRegs./MPM_CPU1.obj
EPwm1Regs./MPM_CPU1.obj
EPwm4Regs./MPM_CPU1.obj
EPwmXbarRegs./MPM_CPU1.obj
F28x_usDelay ./MPM_CPU1.obj
GpioCtrlRegs ./MPM_CPU1.obj
GpioDataRegs ./MPM_CPU1.obj
InitEPwm1Gpio ./MPM_CPU1.obj
InitEPwm4Gpio ./MPM_CPU1.obj
InitGpio ./MPM_CPU1.obj
InitInputXbar ./MPM_CPU1.obj
InitPieCtrl ./MPM_CPU1.obj
InitPieVectTable ./MPM_CPU1.obj
InitSysCtrl ./MPM_CPU1.obj
IpcRegs ./MPM_CPU1.obj
MemCfgRegs ./MPM_CPU1.obj
PieCtrlRegs ./MPM_CPU1.obj
PieVectTable ./MPM_CPU1.obj
SFO ./MPM_CPU1.obj
主 C:\ti\ccs1020\ccs\tools\compiler\ti-cgt-C2000-20.2.LTS lib\rts2800_fpu32_eabi.lib

错误#10234-D:未解析的符号仍然存在
错误#10010:链接期间遇到错误;未构建"HV_MPM_CPU1.OUT"

>>编译失败
Makefile:153:目标'HV_MPM_CPU1.Out'的配方失败
gmake.1]:***[HV_MPM_CPU1.OUT]错误1
Makefile:149:目标'all'的配方失败
gmake:***[全部]错误2.

****构建完成****

这让我很困惑、因为在搜索默认链接器文件 Headers_nonBIOS 和默认 RAM 链接器文件时(如下所示):

/*为 LV 板修改了 JMH */

#ifdef CLA_C
CLA_ScratchPad_size = 0x200;/*原始值= 0x100 */
--undef_sym=__cla_scratchpad_end
--undef_sym=__cla_scratchpad_start
#endif

heap 0x2000 /*将 esysmem 扩展到8k */

存储器

第0页:/*程序内存*/
/* begin 用于"引导至 SARAM"引导加载程序模式*/

开始:origin = 0x000000,length = 0x000002
RAMM0:origin = 0x000122、length = 0x0002DE
/*
RAMLS4:origin = 0x00A000,length = 0x000800
RAMLS5:origin = 0x00A800,length = 0x000800
*
RAMLS4_5:对于 CLA1,origin = 0x00A000,length = 0x001000 // 4K RAM
复位:origin = 0x3FFFC0,length = 0x000002
FLASHB:origin = 0x082000,length = 0x002000 //片上闪存,用于初始化函数*/
FLASHC:origin = 0x084000,length = 0x002000 //片上闪存*/
RAMGS0_3:对于 C28x (CPU1).text、origin = 0x00C000、length = 0x004000 // 16k (GS0-GS3)
RAMGS4:origin = 0x010000,length = 0x001000

第1页:/*数据存储器*/

BOOT_RSVD:origin = 0x000002,length = 0x000120 // M0的一部分,引导 ROM 将此用于栈*/
RAMM1:origin = 0x000400、length = 0x000400 //片上 RAM 块 M1 *
RAMD0_D1:origin = 0x00B000,length = 0x001000 //展开.ebss 以查看更多全局变量*/

RAMLS0:origin = 0x008000、length = 0x000800
RAMLS1:origin = 0x008800,length = 0x000800
RAMLS2:origin = 0x009000,length = 0x000800
RAMLS3:origin = 0x009800,length = 0x000800


RAMGS5:origin = 0x011000,length = 0x001000
RAMGS6:origin = 0x012000,length = 0x001000
RAMGS7:origin = 0x013000,length = 0x001000
RAMGS8:origin = 0x014000,length = 0x001000
RAMGS9:origin = 0x015000,length = 0x001000
RAMGS10_11:origin = 0x016000,length = 0x002000 /* 8k heap */
RAMGS12:origin = 0x018000,length = 0x001000
RAMGS13:origin = 0x019000,length = 0x001000
RAMGS14:origin = 0x01A000,length = 0x001000
RAMGS15:origin = 0x01B000,length = 0x001000

CPU2TOCPU1RAM:origin = 0x03F800,length = 0x000400
CPU1TOCPU2RAM:origin = 0x03FC00,length = 0x000400

CLA1_MSGRAMLOW:origin = 0x001480,length = 0x000080
CLA1_MSGRAMHIGH:origin = 0x001500,length = 0x000080


部分

codestart:> begin,page = 0
ramfuncs:>RAMM0 page = 0
.text:> RAMGS0_3 PAGE = 0
/*.sect "codeA":>FLASHB PAGE = 0,align (64)/*以在其他位置找到某些函数*/
/*.sect "codeA":>RAMGS4 page = 0 /*在其他地方查找某些函数*/
.cinit:> RAMM0,page = 0
.pinit:> RAMM0,page = 0
switch:>RAMM0,page = 0
.reset:> reset,page = 0,type = DSECT //未使用,*/

.stack:>RAMM1,PAGE = 1.
.ebss:> RAMD0_D1,PAGE = 1

econst:>RAMD0_D1,PAGE = 1
.esysmem:>RAMGS10_11 page = 1/*包含堆*/

/* CLA 部分*/
//我认为这些部分是用户定义的,并且由 Dave 进行了修改
Cla1Prog:> RAMLS4_5,page = 0
CLADataLS0:> RAMLS0,PAGE = 1
CLADataLS1:> RAMLS1,PAGE = 1

Cla1ToCpuMsgRAM:> CLA1_MSGRAMLOW,page = 1.
CpuToCla1MsgRAM:>CLA1_MSGRAMHIGH,PAGE = 1.

Cpu1ToCpu2RAM:>CPU1TOCPU2RAM,page = 1.
Cpu2ToCpu1RAM:>CPU2TOCPU1RAM,page = 1.

/*数字控制器库函数*/
dclfuncs:>RAMLS4_5,page = 0
dcl32funcs:>RAMLS4_5,page = 0

ramfuncs:>RAMLS4_5,page = 0
load_start (_RamfuncsLoadStart)、
load_end (_RamfuncsLoadEnd)、
run_start (_RamfuncsRunStart)、
run_size (_RamfuncsRUNSIZE)

#ifdef CLA_C

CLAscratch:
{*。obj (CLAscratch)
。 += CLA_ScratchPad_size;
*。obj (CLAscratch_end)}> RAMLS1、PAGE = 1

暂存区:>RAMLS1,页=1
.bss_cla:> RAMLS1,page = 1.
.const_cla:> RAMLS1,PAGE = 1.
#endif


/*使用 IPC API 驱动程序时需要以下部分定义*/
组:> CPU1TOCPU2RAM,PAGE = 1

PUTBUFFER
PUTWRITEIDX
GETREADIDX


组:> CPU2TOCPU1RAM,PAGE = 1

GETBUFFER:TYPE = DSECT
GETWRITEIDX:TYPE = DSECT
PUTREADIDX:TYPE = DSECT

/*以下部分定义适用于 SDFM 示例*/
/*
filter1_RegsFile:> RAMGS1,PAGE = 1,fill=0x1111
Filter2_RegsFile:> RAMGS2,PAGE = 1,fill=0x2222
Filter3_RegsFile:> RAMGS3,PAGE = 1,fill=0x3333
Filter4_RegsFile:> RAMGS4,PAGE = 1,fill=0x4444
Differit_RegsFile:>RAMGS5,PAGE = 1,fill=0x3333
*

文件中没有提到任何这些段。 因此、我不确定它们是否会导致项目中其他位置的外部文件出错。

此外、这些是警告而不是错误、因此它们是否应该阻止我编译工程?

此致、

Joel

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

    您好!

    我使用了一个 DCL 示例、该示例包含了上述带定义的部分、并将其添加到我的链接器文件中、然后将其放入 CPU RAM 中、如下所示:  

    /*为 LV 板修改了 JMH */

    #ifdef CLA_C
    CLA_ScratchPad_size = 0x200;/*原始值= 0x100 */
    --undef_sym=__cla_scratchpad_end
    --undef_sym=__cla_scratchpad_start
    #endif

    heap 0x2000 /*将 esysmem 扩展到8k */

    存储器

    第0页:/*程序内存*/
    /* begin 用于"引导至 SARAM"引导加载程序模式*/

    开始:origin = 0x000000,length = 0x000002
    RAMM0:origin = 0x000122、length = 0x0002DE
    /*
    RAMLS4:origin = 0x00A000,length = 0x000800
    RAMLS5:origin = 0x00A800,length = 0x000800
    *
    RAMLS4_5:对于 CLA1,origin = 0x00A000,length = 0x001000 // 4K RAM
    复位:origin = 0x3FFFC0,length = 0x000002
    FLASHB:origin = 0x082000,length = 0x002000 //片上闪存,用于初始化函数*/
    FLASHC:origin = 0x084000,length = 0x002000 //片上闪存*/
    RAMGS0_3:对于 C28x (CPU1).text、origin = 0x00C000、length = 0x004000 // 16k (GS0-GS3)
    RAMGS4:origin = 0x010000,length = 0x001000

    第1页:/*数据存储器*/

    BOOT_RSVD:origin = 0x000002,length = 0x000120 // M0的一部分,引导 ROM 将此用于栈*/
    RAMM1:origin = 0x000400、length = 0x000400 //片上 RAM 块 M1 *
    RAMD0_D1:origin = 0x00B000,length = 0x001000 //展开.ebss 以查看更多全局变量*/

    RAMLS0:origin = 0x008000、length = 0x000800
    RAMLS1:origin = 0x008800,length = 0x000800
    RAMLS2:origin = 0x009000,length = 0x000800
    RAMLS3:origin = 0x009800,length = 0x000800


    RAMGS5:origin = 0x011000,length = 0x001000
    RAMGS6:origin = 0x012000,length = 0x001000
    RAMGS7:origin = 0x013000,length = 0x001000
    RAMGS8:origin = 0x014000,length = 0x001000
    RAMGS9:origin = 0x015000,length = 0x001000
    RAMGS10_11:origin = 0x016000,length = 0x002000 /* 8k heap */
    RAMGS12:origin = 0x018000,length = 0x001000
    RAMGS13:origin = 0x019000,length = 0x001000
    RAMGS14:origin = 0x01A000,length = 0x001000
    RAMGS15:origin = 0x01B000,length = 0x001000

    CPU2TOCPU1RAM:origin = 0x03F800,length = 0x000400
    CPU1TOCPU2RAM:origin = 0x03FC00,length = 0x000400

    CLA1_MSGRAMLOW:origin = 0x001480,length = 0x000080
    CLA1_MSGRAMHIGH:origin = 0x001500,length = 0x000080


    部分

    codestart:> begin,page = 0
    ramfuncs:>RAMM0 page = 0
    .text:> RAMGS0_3 PAGE = 0
    /*.sect "codeA":>FLASHB PAGE = 0,align (64)/*以在其他位置找到某些函数*/
    /*.sect "codeA":>RAMGS4 page = 0 /*在其他地方查找某些函数*/
    .cinit:> RAMM0,page = 0
    .pinit:> RAMM0,page = 0
    switch:>RAMM0,page = 0
    .reset:> reset,page = 0,type = DSECT //未使用,*/

    .stack:>RAMM1,PAGE = 1.
    .ebss:> RAMD0_D1,PAGE = 1

    econst:>RAMD0_D1,PAGE = 1
    .esysmem:>RAMGS10_11 page = 1/*包含堆*/

    //由 JMH 从 DCL 示例链接器文件中添加
    //现在尝试使用 RAMM1存储器块,因为 RAML4_5专用于 CLA
    //检查上面可用的内存,并确保获得正确的内存
    //数据段和包含此存储器的页面
    .data:>RAMGS5,page = 1/*常量数据*/
    init_array:>RAMGS5,页= 1/*表示 EABI */


    /* 16位数据段*/
    .const:>RAMM0,page = 0 /* near constants */
    .bss:> RAMM0,page = 0 /* near 变量*/
    RUN_START (_BSS_START)、
    run_size (_BSS_size)

    .sysmem:>RAMM0,page = 0 /* near dynamic memory */

    /* CLA 部分*/
    //我认为这些部分是用户定义的,并且由 Dave 进行了修改
    Cla1Prog:> RAMLS4_5,page = 0
    CLADataLS0:> RAMLS0,PAGE = 1
    CLADataLS1:> RAMLS1,PAGE = 1

    Cla1ToCpuMsgRAM:> CLA1_MSGRAMLOW,page = 1.
    CpuToCla1MsgRAM:>CLA1_MSGRAMHIGH,PAGE = 1.

    Cpu1ToCpu2RAM:>CPU1TOCPU2RAM,page = 1.
    Cpu2ToCpu1RAM:>CPU2TOCPU1RAM,page = 1.

    /*数字控制器库函数*/
    dclfuncs:>RAMLS4_5,page = 0
    dcl32funcs:>RAMLS4_5,page = 0

    ramfuncs:>RAMLS4_5,page = 0
    load_start (_RamfuncsLoadStart)、
    load_end (_RamfuncsLoadEnd)、
    run_start (_RamfuncsRunStart)、
    run_size (_RamfuncsRUNSIZE)

    #ifdef CLA_C

    CLAscratch:
    {*。obj (CLAscratch)
    。 += CLA_ScratchPad_size;
    *。obj (CLAscratch_end)}> RAMLS1、PAGE = 1

    暂存区:>RAMLS1,页=1
    .bss_cla:> RAMLS1,page = 1.
    .const_cla:> RAMLS1,PAGE = 1.
    #endif


    /*使用 IPC API 驱动程序时需要以下部分定义*/
    组:> CPU1TOCPU2RAM,PAGE = 1

    PUTBUFFER
    PUTWRITEIDX
    GETREADIDX


    组:> CPU2TOCPU1RAM,PAGE = 1

    GETBUFFER:TYPE = DSECT
    GETWRITEIDX:TYPE = DSECT
    PUTREADIDX:TYPE = DSECT

    /*以下部分定义适用于 SDFM 示例*/
    /*
    filter1_RegsFile:> RAMGS1,PAGE = 1,fill=0x1111
    Filter2_RegsFile:> RAMGS2,PAGE = 1,fill=0x2222
    Filter3_RegsFile:> RAMGS3,PAGE = 1,fill=0x3333
    Filter4_RegsFile:> RAMGS4,PAGE = 1,fill=0x4444
    Differit_RegsFile:>RAMGS5,PAGE = 1,fill=0x3333
    *

    /*
    //============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
    //文件结束。
    //============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
    *

    这会删除警告、但我仍然无法编译文件:


    ****为项目 HV_MPM_CPU1构建配置 CPU1_RAM ****

    "C:\\ti\\ccs1020\\ccs\\utils\bin\\gmake"-k -j 4 all -O

    构建目标:"HV_MPM_CPU1.OUT"
    调用:C2000链接器
    "c:/ti/ccs1020/ccs/tools/compiler/ti-cgt-c2000_20.2.2.LTS/bin/cl2000 /ti/ccs1020/ccs/tools/compiler/ti-cgt-c2000_20.2.2.LTS/lib /device/F2837xD_CodeStartBranch.obj -v28 -ml -mt --cla_support=cla1 -float_support=fpu32 -tmu_support=tmu0 -vcu_support=vcu2 -off -define=dual_headers -define obj=debug -define=cpu1_suppress=10063 -vcu_support=vcu-ovbu1.htm"-map_intrack_info-display_ine-ine-mu1.htm"-code.html-"-code_display_intrack_ine-ine-ines=htm#-"-link_infot_infot_infot_infot_infot_infot_infot_ination_reation_reation_reation_reation_reation_reation_reation_reation_reation_reination_reination_reb.cpu1.htm"/ti/ccs1020/ccs/tools/compiler/ti-cgt-c2000_20.2.2.LTS/include -"-htm"-ination_reb.cpu1.htm"-htm_infot_infot_infot_infot_infot_infot_infot_infot_infot_infot_infot_infot_ination_reation_/ti/c2000/C2000Ware_3_04_00_00/driverlib/f2837xd/driverlib/ccs/Debug/driverlib.lib /libraries/DCL/DCL_clamp_L1.obj /libraries/DCL/DCL_DF22_L2L3.obj /libraries/DCL/DCL_DF11_L1.obj /device/device.obj


    未定义的首次引用
    符号
    ------ --------
    AdcaRegs./MPM_CPU1.obj
    AdcaResultRegs./MPM_CPU1.obj
    AdcbRegs./MPM_CPU1.obj
    AdcbResultRegs./MPM_CPU1.obj
    AdcRegs./MPM_CPU1.obj
    AdccResultRegs./MPM_CPU1.obj
    AuxCPU_ISR ./MPM_CPU1.obj
    Cla1Regs./MPM_CPU1.obj
    Cla1Task1 ./MPM_CPU1.obj
    Cla1Task2 ./MPM_CPU1.obj
    Cla1Task3 ./MPM_CPU1.obj
    Cla1Task4 ./MPM_CPU1.obj
    Cla1Task5 ./MPM_CPU1.obj
    Cla1Task6 ./MPM_CPU1.obj
    Cla1Task7 ./MPM_CPU1.obj
    Cla1Task8 ./MPM_CPU1.obj
    ClkCfgRegs./MPM_CPU1.obj
    cmps1Regs./MPM_CPU1.obj
    cmps2Regs./MPM_CPU1.obj
    Cmpss3Regs./MPM_CPU1.obj
    Cmpss5Regs./MPM_CPU1.obj
    Cmpss6Regs./MPM_CPU1.obj
    CpuSysRegs ./MPM_CPU1.obj
    CpuTimer0Regs./MPM_CPU1.obj
    DacaRegs ./MPM_CPU1.obj
    DacbRegs ./MPM_CPU1.obj
    DaccRegs./MPM_CPU1.obj
    DmaClaSrcSelRegs./MPM_CPU1.obj
    EPwm1Regs./MPM_CPU1.obj
    EPwm4Regs./MPM_CPU1.obj
    EPwmXbarRegs./MPM_CPU1.obj
    F28x_usDelay ./MPM_CPU1.obj
    GpioCtrlRegs ./MPM_CPU1.obj
    GpioDataRegs ./MPM_CPU1.obj
    InitEPwm1Gpio ./MPM_CPU1.obj
    InitEPwm4Gpio ./MPM_CPU1.obj
    InitGpio ./MPM_CPU1.obj
    InitInputXbar ./MPM_CPU1.obj
    InitPieCtrl ./MPM_CPU1.obj
    InitPieVectTable ./MPM_CPU1.obj
    InitSysCtrl ./MPM_CPU1.obj
    IpcRegs ./MPM_CPU1.obj
    MemCfgRegs ./MPM_CPU1.obj
    PieCtrlRegs ./MPM_CPU1.obj
    PieVectTable ./MPM_CPU1.obj
    SFO ./MPM_CPU1.obj
    主 C:\ti\ccs1020\ccs\tools\compiler\ti-cgt-C2000-20.2.LTS lib\rts2800_fpu32_eabi.lib

    错误#10234-D:未解析的符号仍然存在
    错误#10010:链接期间遇到错误;未构建"HV_MPM_CPU1.OUT"

    >>编译失败
    Makefile:153:目标'HV_MPM_CPU1.Out'的配方失败
    gmake.1]:***[HV_MPM_CPU1.OUT]错误1
    Makefile:149:目标'all'的配方失败
    gmake:***[全部]错误2.

    ****构建完成****

    尽管警告消失了。 我是否在链接器文件中犯了错误? 我不确定将这些段放置在何处、因此我只是将它们放置在一个未使用的 RAM 中、并希望它能正常工作。  

    是否有人能就正在发生的情况以及原因提供指导?

    最棒的
    Joel

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

    您好、Joel、

    请确保  您已在 CCS 编译中添加了文件 F2837xD_GlobalVariableDefs.c 和 F2837xD_Headers_nonBIOS_CPU1.cmd。

    c 文件包含寄存器结构定义、cmd 文件包含段映射。

    此外、请注意 F2837x 位域内容仍为 COFF 格式。 我们计划在即将推出的 C2000ware 版本中移动常用文件以支持 EABI。 同时、请参阅 https://software-dl.ti.com/ccs/esd/documents/C2000_c28x_migration_from_coff_to_eabi.html 页面 上的将代码从 COFF 迁移到 EABI。

    请注意、EABI 和 COFF 格式之间的某些段名(如 BSS、const 等)不同。

    此致、

    Veena