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.

[参考译文] TMS320F28377S:闪存应用中 CLA 代码执行的问题

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

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1005845/tms320f28377s-problems-with-cla-code-execution-in-flash-application

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

尊敬的专家:
当我在闪存中运行程序时、我在运行 CLA 代码时遇到问题。 当我在 RAM 中运行此程序时、我没有这些问题。

问题描述:
CLA 任务1由 int 6.11 (SD1)触发。 在 ISR "SD1_ISR"中、我已经按照如下所述检查了中断的接收情况、并且它工作正常。  计数器 mess_ok 会进一步递增。

_interrupt void SD1_ISR (void)


PieCtrlRegs.PIEACX.ALL = PIEACK_group5;  
//Sdfm1Regs.SDIFLGCLR.bit.MIF=1;
mess_ok++;
如果(mess_ok>32000) mess_ok=0;

完全一样的是 cla1Isr1 ( 见下面)。

_interrupt void cla1Isr1 ()


PieCtrlRegs.PIEACK.ALL =(PIEACK_group10 |PIEACK_group11|PIEACK_group5);

Sdfm1Regs.SDIFLGCLR.bit.MIF=1;
mess_ok++;
if (mess_ok>32000) mess_ok=0;

以下 CLA 任务1应在每次 触发事件 int 6.11 (SD1)时执行

_interrupt void Cla1Task1 (void)


UAB[0]= 3;//测试虚拟

当程序运行时、mess_ok 的值为/保持为1;
因此、ISR 只执行一次。 但 UAB 的值保持为0。  因此 CLA 任务未执行。 n´t 前面所述、当我在闪存中运行程序时、它不起作用。   

是否有人不知道如何解决这个问题?  

您好 Artur

我`m 以下 cmd 文件

//如果使用、用户必须在项目链接器设置中定义 CLA_C
// CLA C 编译器
//项目属性-> C2000链接器->高级选项->命令文件
//预处理->--define
#ifdef CLA_C
//为将要使用的 CLA 暂存区定义大小
//由 CLA 编译器生成局部符号和 temps
//还强制引用标记的特殊符号
//暂存区是。
CLA_ScratchPad_size = 0x100;
--undef_sym=__cla_scratchpad_end
--undef_sym=__cla_scratchpad_start

#endif //cla_C

存储器

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

开始:origin = 0x080000,length = 0x000002
RAMM0:origin = 0x000123,length = 0x0002DD
RAMD0:origin = 0x00B000、length = 0x000800
RAMLS0:origin = 0x008000、length = 0x000800
RAMLS1:origin = 0x008800,length = 0x000800
/* RAMLS4:origin = 0x00A000,length = 0x000800 */
/* RAMLS5:origin = 0x00A800,length = 0x000800 */
RAMLS4_5:origin = 0x00A000、length = 0x001000

RAMGS14:origin = 0x01A000,length = 0x001000 //*仅在 F28377S、F28375S 器件上可用。 移除其他设备上的线路。 *
RAMGS15:origin = 0x01B000,length = 0x000FF8 //仅在 F28377S、F28375S 器件上可用。 移除其他设备上的线路。 *

// RAMGS15_RSVD:origin = 0x01BFF8,length = 0x000008 //根据勘误咨询“Memory:Prepetching Beyond valid Memory”(内存:超出有效内存的预取)来保留代码且不用于代码*/

复位:origin = 0x3FFFC0,length = 0x000002

/*闪存扇区*/
FLASHA:origin = 0x080002,length = 0x001FFE /*片上闪存*/
FLASHB:origin = 0x082000、length = 0x002000 //片上闪存*
FLASHC:origin = 0x084000,length = 0x002000 //片上闪存*/
FLASHD:origin = 0x086000、length = 0x002000 //片上闪存*/
FLASHE:origin = 0x088000、length = 0x008000 //片上闪存*/
FLASHF:origin = 0x090000,length = 0x008000 //片上闪存*
FLASHG:origin = 0x098000、length = 0x008000 //片上闪存*/
FLASHH:origin = 0x0A0000,length = 0x008000 //片上闪存*/
FLASHI:origin = 0x0A8000、length = 0x008000 //片上闪存*/
FLASHJ:origin = 0x0B0000,length = 0x008000 //片上闪存*/
FLASHK:origin = 0x0B8000、length = 0x002000 //片上闪存*/
FLASHL:origin = 0x0BA000、length = 0x002000 //片上闪存*/
FLASHM:origin = 0x0BC000、length = 0x002000 //片上闪存*/
FLASHN:origin = 0x0BE000、length = 0x001FF0 /*片上闪存*/

// FLASHN_RSVD:origin = 0x0BFFF0,length = 0x000010 //根据勘误咨询“Memory:Prepetching Beyond valid Memory”(内存:有效内存之外的预取)来保留代码,不要将其用于代码*/


第1页:

BOOT_RSVD:origin = 0x000002,length = 0x000121 // M0的一部分,引导 ROM 将此用于栈*/
RAMM1:origin = 0x000400,length = 0x0003F8 //片上 RAM 块 M1 */
// RAMM1_RSVD:origin = 0x0007F8,length = 0x000008 //根据勘误咨询“Memory:Prepetching Beyond valid Memory”(内存:超出有效内存的预取),保留并不用于代码*/

RAMLS2:origin = 0x009000,length = 0x000800
RAMLS3:origin = 0x009800,length = 0x000800

RAMGS0:origin = 0x00C000、length = 0x001000
RAMGS1:origin = 0x00D000、length = 0x001000
RAMGS2:origin = 0x00E000、length = 0x001000
RAMGS3:origin = 0x00F000、length = 0x001000
RAMGS4:origin = 0x010000,length = 0x001000
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:origin = 0x016000,length = 0x001000

// RAMGS11:origin = 0x017000,length = 0x000FF8 //对于 F28374D、F28376D 器件取消注释*/

// RAMGS11_RSVD:origin = 0x017FF8,length = 0x000008 //根据勘误咨询“Memory:Prepetching Beyond valid Memory”(内存:超出有效内存的预取)来保留代码且不用于代码*/

RAMGS11:origin = 0x017000,length = 0x001000 //*仅在 F28377S、F28375S 器件上可用。 移除其他设备上的线路。 *
RAMGS12:origin = 0x018000,length = 0x001000 //*仅在 F28377S、F28375S 器件上可用。 移除其他设备上的线路。 *
RAMGS13:origin = 0x019000,length = 0x001000 //*仅在 F28377S、F28375S 器件上可用。 移除其他设备上的线路。 *

EMIF1_CS0n:origin = 0x8000000,length = 0x10000000
EMIF1_CS2n:origin = 0x00100000,length = 0x00200000
EMIF1_CS3n:origin = 0x00300000,length = 0x00080000
EMIF1_CS4n:origin = 0x00380000,length = 0x00060000
EMIF2_CS0n:origin = 0x90000000,length = 0x10000000
EMIF2_CS2n:origin = 0x00002000,length = 0x00001000

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


部分

/*分配计划领域:*/
.cinit:> FLASHB PAGE = 0,ALIGN (8)
.text:> FLASHB PAGE = 0,ALIGN (8)
codestart:> begin page = 0,align (8)
.stack:>RAMM1 page = 1.
.switch:> FLASHB PAGE = 0,ALIGN (8)

/*分配未初始化的数据段:*/

#if defined (_TI_EABI)
init_array:> FLASHB,PAGE = 0,ALIGN (8)
.bss:> RAMLS2,PAGE = 1.
.bss:输出:> RAMLS2,页= 1
.data :>RAMLS2,page = 1.
.sysmem:> RAMLS2,PAGE = 1.
.const:> FLASHB、PAGE = 0、ALIGN (8)
其他
.pinit:> FLASHB,PAGE = 0,ALIGN (8)
.ebss:> RAMLS2,PAGE = 1
.esysmem:>RAMLS2,PAGE = 1.
.econst:> FLASHB PAGE = 0,ALIGN (8)
#endif

.reset:> reset,page = 0,type = DSECT //未使用,*/

filter_RegsFile:> RAMGS0,PAGE = 1

.em2_cs0:> EMIF2_CS0n,PAGE = 1.
EM2_CS2:> EMIF2_CS2n,PAGE = 1.

/* CLA 特定部分*/
#if defined (_TI_EABI)
Cla1Prog:load = FLASHD,
运行= RAMLS4_5、
Load_start (Cla1funcsLoadStart)、
LOAD_END (Cla1funcsLoadEnd)、
run_start (Cla1funcsRunStart)、
load_size (Cla1funcsLoadSize)、
PAGE = 0、ALIGN (8)
其他
Cla1Prog:load = FLASHD,
运行= RAMLS4_5、
load_start (_Cla1funcsLoadStart)、
load_end (_Cla1funcsLoadEnd)、
run_start (_Cla1funcsRunStart)、
load_size (_Cla1funcsLoadSize)、
PAGE = 0、ALIGN (8)
#endif

CLADataLS0:> RAMLS0,PAGE=0
CLADataLS1:> RAMLS1,PAGE=0

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

#ifdef __TI_Compiler_version__
#if __TI_Compiler_version__>=15009000
#if defined (_TI_EABI)
.TI.ramfunc:{}负载= FLASHD,
运行= RAMD0、
Load_start (RamfuncsLoadStart)、
load_size (RamfuncsLoadSize)、
Load_End (RamfuncsLoadEnd)、
RUN_START (RamfuncsRunStart)、
run_size (RamfuncsRunSize)、
RUN_END (RamfuncsRunEnd)、
PAGE = 0、ALIGN (8)
其他
.TI.ramfunc:{}负载= FLASHD,
运行= RAMD0、
load_start (_RamfuncsLoadStart)、
load_size (_RamfuncsLoadSize)、
load_end (_RamfuncsLoadEnd)、
run_start (_RamfuncsRunStart)、
run_size (_RamfuncsRunSize)、
run_end (_RamfuncsRunEnd)、
PAGE = 0、ALIGN (8)
#endif
其他
ramfuncs:load = FLASHD,
运行= RAMD0、
load_start (_RamfuncsLoadStart)、
load_size (_RamfuncsLoadSize)、
load_end (_RamfuncsLoadEnd)、
run_start (_RamfuncsRunStart)、
run_size (_RamfuncsRunSize)、
run_end (_RamfuncsRunEnd)、
PAGE = 0、ALIGN (8)
#endif
#endif

/*以下部分定义适用于 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

#ifdef CLA_C
/* CLA C 编译器段*/
//
//必须被分配给 CLA 具有写入访问权限的内存
//
CLAscratch:
{*。obj (CLAscratch)
。 += CLA_ScratchPad_size;
*。obj (CLAscratch_end)}> RAMLS1、PAGE = 0

暂存区:>RAMLS1,页=0
.bss_cla:> RAMLS1,page = 0
.const_CLA:负载= FLASHB、
运行= RAMLS1、
run_start (_Cla1ConstRunStart)、
Load_start (_Cla1ConstLoadStart)、
load_size (_Cla1ConstLoadSize)、
PAGE = 0
#endif //cla_C

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

  

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

    您好 Artur、

    在 C28上运行的初始化代码必须通过 CLA 代码复制到 RAM、因为 CLA 只能从 RAM 运行。 您能否检查 C28上的闪存代码是否正在执行此操作。 下面是 C28需要执行的操作的示例代码段。 它类似于设置 Ramfuncs 所需执行的代码。


    memcpy (((uint32_t *)&Cla1funcsRunStart、(uint32_t *)&Cla1funcsLoadStart、
               (uint32_t)和 Cla1funcsLoadSize);

    您可以在 C2000Ware 中看到使用 C28和 CL 从闪存运行代码的示例、以更好地帮助理解这一点。

    谢谢、

    Ashwini

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

    您好 Ashwini、
    感谢您的快速回复。 我在子例程中将 CLA 代码复制到 RAM。 "CLA_configClaMemory"。
    子例程如下所示。 如果定义了"_flash"、我将使用 mess_ok 进行检查。 因此,我假设复制过程已经完成。

    //#pragma CODE_SECTION(CLA_configClaMemory, ".TI.ramfunc");
    void CLA_configClaMemory(void)
    {
    extern uint32_t Cla1funcsRunStart, Cla1funcsLoadStart, Cla1funcsLoadSize;
    
    EALLOW;
    
    #ifdef _FLASH
    
    //
    // Copy over code from FLASH to RAM
    //
    Mess_ok=2;
    memcpy((uint32_t *)&Cla1funcsRunStart, (uint32_t *)&Cla1funcsLoadStart,
    (uint32_t)&Cla1funcsLoadSize);
    #else
    Mess_ok=1;
    #endif //_FLASH
    
    //
    // Initialize and wait for CLA1ToCPUMsgRAM
    //
    MemCfgRegs.MSGxINIT.bit.INIT_CLA1TOCPU = 1;
    while(MemCfgRegs.MSGxINITDONE.bit.INITDONE_CLA1TOCPU != 1){};
    
    //
    // Initialize and wait for CPUToCLA1MsgRAM
    //
    MemCfgRegs.MSGxINIT.bit.INIT_CPUTOCLA1 = 1;
    while(MemCfgRegs.MSGxINITDONE.bit.INITDONE_CPUTOCLA1 != 1){};
    
    //
    // Select LS5RAM to be the programming space for the CLA
    // First configure the CLA to be the master for LS4 and LS5 and then
    // set the space to be a program block
    //
    // MemCfgRegs.LSxMSEL.bit.MSEL_LS4 = 1;
    // MemCfgRegs.LSxCLAPGM.bit.CLAPGM_LS4 = 1;
    MemCfgRegs.LSxMSEL.bit.MSEL_LS5 = 1;
    MemCfgRegs.LSxCLAPGM.bit.CLAPGM_LS5 = 1; 
    //
    // Next configure LS0RAM and LS1RAM as data spaces for the CLA
    // First configure the CLA to be the master for LS0(1) and then
    // set the spaces to be code blocks
    //
    MemCfgRegs.LSxMSEL.bit.MSEL_LS0 = 1;
    MemCfgRegs.LSxCLAPGM.bit.CLAPGM_LS0 = 0;
    MemCfgRegs.LSxMSEL.bit.MSEL_LS1 = 1;
    MemCfgRegs.LSxCLAPGM.bit.CLAPGM_LS1 = 0;
    
    EDIS;
    }

    下面是.map 文件。 很抱歉、现在的图示效果不能更好了。  

    您好 Artur

    部分分配映射

    输出属性/
    段页原点长度输入段
    ---- -------- ------ --------
    CLADataLS0
    0 00008000 00000240未初始化
    00008000 00000240 main.obj (CLADataLS0)

    codestart
    * 0 00080000 00000002
    00080000 00000002 F2837xS_CodeStartBranch.obj (codestart)

    .text 0 00082000 00001a64
    00082000 0000074b F2837xS_sdfm_drivers.obj (.text)
    0008274b 00000585 F2837xS_DefaultISR.obj (.text:retain)
    00082cd0 0000047d F2837xS_SYSCTRL.obj (.text)
    0008314d 0000021f main.obj (.text)
    0008336c 00000204 F2837xS_GPIO_obj (.text)
    00083570 000000fd F2837xS_ePWM.obj (.text)
    0008366d 000000ef F2837xS_ADC.obj (.text)
    0008375c 000000ce regelungc.obj (.text)
    0008382a 00000090 main.obj (.text:retain)
    000838ba 00000088 rts2800_fpu32.lib:fs_div28.asm.obj (.text)
    00083942 00000056:boot28.asm.obj (.text)
    00083998 00000029:exit.c.obj (.text)
    000839c1 00000028 F2837xS_PIECTRL.obj (.text)
    000839e9 00000024 rts2800_fpu32.lib:cpy_tbl.c.obj (.text)
    00083a0d 0000001d:memcpy.c.obj (.text)
    00083a2a 00000014 F2837xS_PieVect.obj (.text)
    00083a3e 00000012 rts2800_fpu32.lib:args_main.c.obj (.text)
    00083a50 00000009:_lock.c.obj (.text)
    00083a59 00000008 F2837xS_CodeStartBranch.obj (.text)
    00083a61 00000002 rts2800_fpu32.lib:pre_init.c.obj (.text)
    00083a63 00000001:startup.c.obj (.text)

    .cinit 0 00083a68 000002d5
    00083a68 00000218 main.obj (.cinit)
    00083c80 00000021 F2837xS_struct.obj (.cinit:_TRIP_SEL)
    00083ca1 0000001d F2837xS_struct.obj (.cinit:_ePWM)
    00083cbe 00000011 F2837xS_struct.obj (.cinit:_ECAP)
    00083ccf 0000000e rts2800_fpu32.lib:exit.c.obj (.cinit)
    00083cdd 0000000d F2837xS_struct.obj (.cinit:_adc)
    00083cea 0000000b F2837xS_struct.obj (.cinit:_eQEP)
    00083cf5 0000000b F2837xS_struct.obj (.cinit:_SPI)
    00083d00 00000009 F2837xS_struct.obj (.cinit:_SDFM)
    00083d09 00000009 main.obj (.cinit:_Udq)
    00083d12 00000007 F2837xS_struct.obj (.cinit:_I2C)
    00083d19 00000007 F2837xS_struct.obj (.cinit:_McBSP)
    00083d20 00000007 F2837xS_struct.obj (.cinit:_SCI)
    00083d27 00000006 main.obj (.cinit:_UADC)
    00083d2d 00000005 rts2800_fpu32.lib:_lock.c.obj (.cinit:_lock)
    00083d32 00000005:_lock.c.obj (.cinit:__unlock)
    00083d37 00000004:errno.c.obj (.cinit)
    00083d3b 00000002 --hole --[填充= 0]

    .TI.ramfunc
    * 0 00086088 0000018f 运行 ADDR = 0000b000
    00086088 00000113 Initializierugc.obj (.TI.ramfunc)
    0008619b 00000078 F2837xS_SYSCTRL.obj (.TI.ramfunc)
    00086213 00000004 F2837xS_usDelay.obj (.TI.ramfunc)

    .stack 1 00000400 00000200未初始化
    00000400 00000200 --孔--

    .pinit 0 00082000 00000000未初始化

    .ebss 1 00009000 000000e6未初始化
    00009000 0000005c main.obj (.ebss)
    0000905c 0000001e F2837xS_struct.obj (.ebss:_TRIP_SEL)
    0000907a 00000006 F2837xS_struct.obj (.ebss:_SDFM)
    00009080 0000001a F2837xS_struct.obj (.ebss:_ePWM)
    0000909a 0000000e F2837xS_struct.obj (.ebss:_ECAP)
    000090a8 0000000a F2837xS_struct.obj (.ebss:_adc)
    000090b2 00000008 F2837xS_struct.obj (.ebss:_eQEP)
    000090ba 00000006 main.obj (.ebss:_Udq)
    000090c0 00000008 F2837xS_struct.obj (.ebss:_SPI)
    000090c8 00000006 rts2800_fpu32.lib:exit.c.obj (.ebss)
    000090ce 00000004 F2837xS_struct.obj (.ebss:_I2C)
    000090d2 00000004 F2837xS_struct.obj (.ebss:_McBSP)
    000090d6 00000004 F2837xS_struct.obj (.ebss:_SCI)
    000090da 00000004 main.obj (.ebss:_UAB)
    000090de 00000003 main.obj (.ebss:_UADC)
    000090e1 00000001 rts2800_fpu32.lib:errno.c.obj (.ebss)
    000090e2 00000002:_lock.c.obj (.ebss:__lock)
    000090e4 00000002:_lock.c.obj (.ebss:__unlock)

    econst 0 00083d40 000001c0
    00083d40 000001c0 F2837xS_PieVect.obj (.econst:_PieVectTableInit)

    .reset 0 003fffc0 00000002 DSECT
    003fffc0 00000002 rts2800_fpu32.lib:boot28.asm.obj (.reset)

    CLAscratch
    0 00008800 00000180未初始化
    00008800 00000180 --孔--

    Cla1Prog 0 00086000 00000084运行 ADDR = 0000a000
    00086000 00000048 Trafor.obj (Cla1Prog:_Cla1Task1)
    00086048 0000000c Trafor.obj (Cla1Prog:_Cla1Task2)
    00086054 00000008 Trafor.obj (Cla1Prog:_Cla1Task3)
    0008605c 00000008 Trafor.obj (Cla1Prog:_Cla1Task4)
    00086064 00000008 Trafor.obj (Cla1Prog:_Cla1Task5)
    0008606c 00000008 Trafor.obj (Cla1Prog:_Cla1Task6)
    00086074 00000008 Trafor.obj (Cla1Prog:_Cla1Task7)
    0008607c 00000008 Trafor.obj (Cla1Prog:_Cla1Task8)

    AdcaResultRegsFile
    1 00000b00 00000018未初始化
    00000b00 00000018 F2837xS_GlobalVariableDefs.obj (AdcResultRegsFile)

    AdcbResultRegsFile
    1 00000b20 00000018未初始化
    00000b20 00000018 F2837xS_GlobalVariableDefs.obj (AdcbResultRegsFile)

    AdccResultRegsFile
    1 00000b40 00000018未初始化
    00000b40 00000018 F2837xS_GlobalVariableDefs.obj (AdccResultRegsFile)

    AdcdResultRegsFile
    1 00000b60 00000018未初始化
    00000b60 00000018 F2837xS_GlobalVariableDefs.obj (AdcdResultRegsFile)

    CpuTimer0RegsFile
    1 00000c00 00000008未初始化
    00000c00 00000008 F2837xS_GlobalVariableDefs.obj (CpuTimer0RegsFile)

    CpuTimer1RegsFile
    1 00000c08 00000008未初始化
    00000c08 00000008 F2837xS_GlobalVariableDefs.obj (CpuTimer1RegsFile)

    CpuTimer2RegsFile
    1 00000c10 00000008未初始化
    00000c10 00000008 F2837xS_GlobalVariableDefs.obj (CpuTimer2RegsFile)

    PieCtrlRegsFile
    1 00000ce0 0000001a 未初始化
    00000ce0 0000001a F2837xS_GlobalVariableDefs.obj (PieCtrlRegsFile)

    DmaRegsFile
    1 00001000 000000e0未初始化
    00001000 000000e0 F2837xS_GlobalDefableVarios.obj (DmaRegsFile)

    Cla1RegsFile
    1 00001400 0000003e 未初始化
    00001400 0000003E F2837xS_GlobalVariableDefs.obj (Cla1RegsFile)

    Cla1ToCpuMsgRAM
    1 00001480 00000004未初始化
    00001480 00000004 main.obj (Cla1ToCpuMsgRAM)

    CpuToCla1MsgRAM
    1 00001500 00000002未初始化
    00001500 00000002 main.obj (CpuToCla1MsgRAM)

    AdcaRegsFile
    1 00007400 0000007c 未初始化
    00007400 0000007c F2837xS_GlobalDefableVarios.obj (AdcaRegsFile)

    AdcbRegsFile
    1 00007480 0000007c 未初始化
    00007480 0000007c F2837xS_GlobalVariableDefs.obj (AdcbRegsFile)

    AdcRegsFile
    1 00007500 0000007c 未初始化
    00007500 0000007c F2837xS_GlobalDefableVarios.obj (AdccRegsFile)

    AdcdRegsFile
    1 00007580 0000007c 未初始化
    00007580 0000007c F2837xS_GlobalVariableDefs.obj (AdcdRegsFile)

    filter1_RegsFile
    1 0000d000 00000001
    0000d000 00000001 Trafor.obj (filter1_RegsFile)[填充= 1111]

    Filter2_RegsFile
    1 0000e000 00000001
    0000e000 00000001 Trafor.obj (Filter2_RegsFile)[填充= 2222]

    Filter3_RegsFile
    1 0000f000 00000001
    0000f000 00000001 Trafor.obj (filter3_RegsFile)[填充= 33333]

    Filter4_RegsFile
    * 1 00010000 00000001
    00010000 00000001 Trafor.obj (Filter4_RegsFile)[填充= 44444]

    .const_cla
    0 00008800 00000000未初始化

    PieVectTableFile
    * 0 00000d00 000001c0 DSECT
    00000d00 000001c0 F2837xS_GlobalVariableDefs.obj (PieVectTableFile)

    EMUKeyVar
    * 0 00000d00 00000000 DSECT

    EMUBModeVar
    * 0 00000d00 00000000 DSECT

    EmubBootPinsVar
    * 0 00000d00 00000000 DSECT

    FlashCallbackVar
    * 0 00000d00 00000000 DSECT

    FlashScalingVar
    * 0 00000d00 00000000 DSECT

    Clb1LogicCfgRegsFile
    1 00003000 0000003e 未初始化
    00003000 0000003e F2837xS_GlobalVariableDefs.obj (Clb1LogicCfgRegsFile)

    Clb1LogicCtrlRegsFile
    1 00003100 00000040未初始化
    00003100 00000040 F2837xS_GlobalVariableDefs.obj (Clb1LogicCtrlRegsFile)

    Clb1DataExchRegsFile
    1 00003200 00000108未初始化
    00003200 00000108 F2837xS_GlobalDefableVarios.obj (Clb1DataExchRegsFile)

    Clb2LogicCfgRegsFile
    1 00003400 0000003e 未初始化
    00003400 0000003e F2837xS_GlobalVariableDefs.obj (Clb2LogicCfgRegsFile)

    Clb2LogicCtrlRegsFile
    1 00003500 00000040未初始化
    00003500 00000040 F2837xS_GlobalVariableDefs.obj (Clb2LogicCtrlRegsFile)

    Clb2DataExchRegsFile
    1 00003600 00000108未初始化
    00003600 00000108 F2837xS_GlobalDefableVarios.obj (Clb2DataExchRegsFile)

    Clb3LogicCfgRegsFile
    1 00003800 0000003E 未初始化
    00003800 0000003E F2837xS_GlobalVariableDefs.obj (Clb3LogicCfgRegsFile)

    Clb3LogicCtrlRegsFile
    1 00003900 00000040未初始化
    00003900 00000040 F2837xS_GlobalVariableDefs.obj (Clb3LogicCtrlRegsFile)

    Clb3DataExchRegsFile
    1 00003a00 00000108未初始化
    00003a00 00000108 F2837xS_GlobalVariableDefs.obj (Clb3DataExchRegsFile)

    Clb4LogicCfgRegsFile
    1 00003c00 0000003e 未初始化
    00003c00 0000003e F2837xS_GlobalDefableVarios.obj (Clb4LogicCfgRegsFile)

    Clb4LogicCtrlRegsFile
    1 00003d00 00000040未初始化
    00003d00 00000040 F2837xS_GlobalVariableDefs.obj (Clb4LogicCtrlRegsFile)

    Clb4DataExchRegsFile
    1 00003e00 00000108未初始化
    00003e00 00000108 F2837xS_GlobalVariableDefs.obj (Clb4DataExchRegsFile)

    EPwm1RegsFile
    1 00004000 00000100未初始化
    00004000 00000100 F2837xS_GlobalDefableVarios.obj (EPwm1RegsFile)

    EPwm2RegsFile
    1 00004100 00000100未初始化
    00004100 00000100 F2837xS_GlobalDefableVarios.obj (EPwm2RegsFile)

    EPwm3RegsFile
    1 00004200 00000100未初始化
    00004200 00000100 F2837xS_GlobalDefableVarios.obj (EPwm3RegsFile)

    EPwm4RegsFile
    1 00004300 00000100未初始化
    00004300 00000100 F2837xS_GlobalDefableVarios.obj (EPwm4RegsFile)

    EPwm5RegsFile
    1 00004400 00000100未初始化
    00004400 00000100 F2837xS_GlobalDefableVarios.obj (EPwm5RegsFile)

    EPwm6RegsFile
    1 00004500 00000100未初始化
    00004500 00000100 F2837xS_GlobalDefableVarios.obj (EPwm6RegsFile)

    EPwm7RegsFile
    1 00004600 00000100未初始化
    00004600 00000100 F2837xS_GlobalDefableVarios.obj (EPwm7RegsFile)

    EPwm8RegsFile
    1 00004700 00000100未初始化
    00004700 00000100 F2837xS_GlobalDefableVarios.obj (EPwm8RegsFile)

    EPwm9RegsFile
    1 00004800 00000100未初始化
    00004800 00000100 F2837xS_GlobalDefableVarios.obj (EPwm9RegsFile)

    EPwm10RegsFile
    1 00004900 00000100未初始化
    00004900 00000100 F2837xS_GlobalVariableDefs.obj (EPwm10RegsFile)

    EPwm11RegsFile
    1 00004a00 00000100未初始化
    00004a00 00000100 F2837xS_GlobalVariableDefs.obj (EPwm11RegsFile)

    EPwm12RegsFile
    1 00004b00 00000100未初始化
    00004b00 00000100 F2837xS_GlobalVariableDefs.obj (EPwm12RegsFile)

    ECap1RegsFile
    1 00005000 0000001a 未初始化
    00005000 0000001a F2837xS_GlobalVariableDefs.obj (ECap1RegsFile)

    ECap2RegsFile
    1 00005020 0000001a 未初始化
    00005020 0000001a F2837xS_GlobalDefableVarios.obj (ECap2RegsFile)

    ECap3RegsFile
    1 00005040 0000001a 未初始化
    00005040 0000001a F2837xS_GlobalDefableVarios.obj (ECap3RegsFile)

    ECap4RegsFile
    1 00005060 0000001a 未初始化
    00005060 0000001a F2837xS_GlobalDefableVarios.obj (ECap4RegsFile)

    ECap5RegsFile
    1 00005080 0000001a 未初始化
    00005080 0000001a F2837xS_GlobalDefableVarios.obj (ECap5RegsFile)

    ECap6RegsFile
    1 000050a0 0000001a 未初始化
    000050a0 0000001a F2837xS_GlobalVariableDefs.obj (ECap6RegsFile)

    EQep1RegsFile
    1 00005100 00000022未初始化
    00005100 00000022 F2837xS_GlobalVariableDefs.obj (EQep1RegsFile)

    EQep2RegsFile
    1 00005140 00000022未初始化
    00005140 00000022 F2837xS_GlobalDefableVarios.obj (EQep2RegsFile)

    EQep3RegsFile
    1 00005180 00000022未初始化
    00005180 00000022 F2837xS_GlobalDefableVarios.obj (EQep3RegsFile)

    DacaRegsFile
    1 00005c00 00000007未初始化
    00005c00 00000007 F2837xS_GlobalVariableDefs.obj (DacaRegsFile)

    DacbRegsFile
    1 00005c10 00000007未初始化
    00005c10 00000007 F2837xS_GlobalVariableDefs.obj (DacbRegsFile)

    DaccRegsFile
    1 00005c20 00000007未初始化
    00005c20 00000007 F2837xS_GlobalVariableDefs.obj (DaccRegsFile)

    Cmpss1RegsFile
    1 00005c80 0000001b 未初始化
    00005c80 0000001b F2837xS_GlobalVariableDefs.obj (Cmpss1RegsFile)

    Cmpss2RegsFile
    1 00005ca0 0000001b 未初始化
    00005cA0 0000001b F2837xS_GlobalVariableDefs.obj (Cmpss2RegsFile)

    Cmpss3RegsFile
    1 00005cc0 0000001b 未初始化
    00005cc0 0000001b F2837xS_GlobalVariableDefs.obj (Cmpss3RegsFile)

    Cmpss4RegsFile
    1 00005ce0 0000001b 未初始化
    00005ce0 0000001b F2837xS_GlobalVariableDefs.obj (Cmpss4RegsFile)

    Cmpss5RegsFile
    1 00005d00 0000001b 未初始化
    00005d00 0000001b F2837xS_GlobalVariableDefs.obj (Cmpss5RegsFile)

    Cmpss6RegsFile
    1 00005d20 0000001b 未初始化
    00005d20 0000001b F2837xS_GlobalVariableDefs.obj (Cmpss6RegsFile)

    Cmpss7RegsFile
    1 00005d40 0000001b 未初始化
    00005d40 0000001b F2837xS_GlobalVariableDefs.obj (Cmpss7RegsFile)

    Cmpss8RegsFile
    1 00005d60 0000001b 未初始化
    00005d60 0000001b F2837xS_GlobalVariableDefs.obj (Cmpss8RegsFile)

    Sdfm1RegsFile
    1 00005e00 00000048未初始化
    00005e00 00000048 F2837xS_GlobalVariableDefs.obj (Sdfm1RegsFile)

    Sdfm2RegsFile
    1 00005e80 00000048未初始化
    00005e80 00000048 F2837xS_GlobalVariableDefs.obj (Sdfm2RegsFile)

    McbspaRegsFile
    1 00006000 00000024未初始化
    00006000 00000024 F2837xS_GlobalVariableDefs.obj (McbspaRegsFile)

    McbspbRegsFile
    1 00006040 00000024未初始化
    00006040 00000024 F2837xS_GlobalDefableVarios.obj (McbspbRegsFile)

    SpiaRegsFile
    1 00006100 00000010未初始化
    00006100 00000010 F2837xS_GlobalVariableDefs.obj (SpiaRegsFile)

    SpibRegsFile
    1 00006110 00000010未初始化
    00006110 00000010 F2837xS_GlobalDefableVarios.obj (SpibRegsFile)

    SpicRegsFile
    1 00006120 00000010未初始化
    00006120 00000010 F2837xS_GlobalDefableVarios.obj (SpicRegsFile)

    UppRegsFile
    1 00006200 00000048未初始化
    00006200 00000048 F2837xS_GlobalVariableDefs.obj (UppRegsFile)

    WdRegsFile
    1 00007000 0000002b 未初始化
    00007000 0000002b F2837xS_GlobalVariableDefs.obj (WdRegsFile)

    NmiIntertRegsFile
    1 00007060 00000007未初始化
    00007060 00000007 F2837xS_GlobalVariableDefs.obj (NmiIntertRegsFile)

    XintRegsFile
    1 00007070 0000000b 未初始化
    00007070 0000000b F2837xS_GlobalVariableDefs.obj (XintRegsFile)

    SciaRegsFile
    1 00007200 00000010未初始化
    00007200 00000010 F2837xS_GlobalDefableScis.obj (VariaRegsFile)

    ScibRegsFile
    1 00007210 00000010未初始化
    00007210 00000010 F2837xS_GlobalDefableVarios.obj (科学寄存器文件)

    ScicRegsFile
    1 00007220 00000010未初始化
    00007220 00000010 F2837xS_GlobalDefableVaris.obj (ScicRegsFile)

    ScidRegsFile
    1 00007230 00000010未初始化
    00007230 00000010 F2837xS_GlobalDefableVarios.obj (scidRegsFile)

    I2caRegsFile
    1 00007300 00000022未初始化
    00007300 00000022 F2837xS_GlobalDefableVaris.obj (I2cRegsFile)

    I2cbRegsFile
    1 00007340 00000022未初始化
    00007340 00000022 F2837xS_GlobalDefableVarios.obj (I2cbRegsFile)

    InputXbarRegsFile
    1 00007900 00000020未初始化
    00007900 00000020 F2837xS_GlobalDefableVarios.obj (InputXbarRegsFile)

    XbarRegsFile
    1 00007920 0000000e 未初始化
    00007920 0000000e F2837xS_GlobalVariableDefs.obj (XbarRegsFile)

    SyncSockRegsFile
    1 00007940 00000006未初始化
    00007940 00000006 F2837xS_GlobalVariableDefs.obj (SyncSockRegsFile)

    DmaClaSrcSelRegsFile
    1 00007980 0000001a 未初始化
    00007980 0000001a F2837xS_GlobalDefableVarios.obj (DmaClaSrcSelRegsFile)

    EPwmXbarRegsFile
    1 00007a00 00000040未初始化
    00007a00 00000040 F2837xS_GlobalVariableDefs.obj (EPwmXbarRegsFile)

    ClbXbarRegsFile
    1 00007a40 00000040未初始化
    00007a40 00000040 F2837xS_GlobalVariableDefs.obj (ClbXbarRegsFile)

    OutputXbarRegsFile
    1 00007a80 00000040未初始化
    00007a80 00000040 F2837xS_GlobalVariableDefs.obj (OutputXbarRegsFile)

    GpioCtrlRegsFile
    1 00007c00 00000180未初始化
    00007c00 00000180 F2837xS_GlobalVariableDefs.obj (GpioCtrlRegsFile)

    GpioDataRegsFile
    1 00007f00 00000030未初始化
    00007f00 00000030 F2837xS_GlobalVariableDefs.obj (GpioDataRegsFile)

    emif1RegsFile
    1 00047000 00000028未初始化
    00047000 00000028 F2837xS_GlobalDefableVarios.obj (emif1RegsFile)

    emif2RegsFile
    1 00047800 00000028未初始化
    00047800 00000028 F2837xS_GlobalDefableVarios.obj (emif2RegsFile)

    CanaRegsFile
    1 00048000 00000164未初始化
    00048000 00000164 F2837xS_GlobalVariableDefs.obj (CanaRegsFile)

    CanbRegsFile
    1 0004a000 00000164未初始化
    0004a000 00000164 F2837xS_GlobalVariableDefs.obj (CanbRegsFile)

    FlashPumpSemaphoreRegsFile
    1 00050024 00000002未初始化
    00050024 00000002 F2837xS_GlobalVariableDefs.obj (FlashPumpSemaphoreRegsFile)

    DevCfgRegsFile
    1 0005d000 0000012e 未初始化
    0005d000 0000012e F2837xS_GlobalVariableDefs.obj (DevCfgRegsFile)

    AnalogSubsysRegsFile
    1 0005d180 0000003E 未初始化
    0005d180 0000003e F2837xS_GlobalVariableDefs.obj (AnalogSubsysRegsFile)

    ClkCfgRegsFile
    1 0005d200 00000032未初始化
    0005d200 00000032 F2837xS_GlobalVariableDefs.obj (ClkCfgRegsFile)

    CpuSysRegsFile
    1 0005d300 00000082未初始化
    0005d300 00000082 F2837xS_GlobalVariableDefs.obj (CpuSysRegsFile)

    DcsmZ1RegsFile
    1 0005f000 00000022未初始化
    0005f000 00000022 F2837xS_GlobalVariableDefs.obj (DcsmZ1RegsFile)

    DcsmZ2RegsFile
    1 0005f040 00000022未初始化
    0005f040 00000022 F2837xS_GlobalVariableDefs.obj (DcsmZ2RegsFile)

    DcsmCommonRegsFile
    1 0005f070 00000006未初始化
    0005f070 00000006 F2837xS_GlobalVariableDefs.obj (DcsmCommonRegsFile)

    MemCfgRegsFile
    1 0005f400 00000076未初始化
    0005f400 00000076 F2837xS_GlobalVariableDefs.obj (MemCfgRegsFile)

    Emif1ConfigRegsFile
    1 0005f480 0000000a 未初始化
    0005f480 0000000a F2837xS_GlobalVariableDefs.obj (Emif1ConfigRegsFile)

    Emif2ConfigRegsFile
    1 0005f4a0 0000000a 未初始化
    0005f4a0 0000000a F2837xS_GlobalVariableDefs.obj (emif2ConfigRegsFile)

    AccessProtectRegsFile
    1 0005f4c0 0000002e 未初始化
    0005f4c0 0000002e F2837xS_GlobalVariableDefs.obj (AccessProtectionRegsFile)

    MemoryErrorRegsFile
    1 0005f500 0000003a 未初始化
    0005f500 0000003a F2837xS_GlobalVariableDefs.obj (MemoryErrorRegsFile)

    Flash0CtrlRegsFile
    1 0005f800 00000182未初始化
    0005f800 00000182 F2837xS_GlobalVariableDefs.obj (Flash0CtrlRegsFile)

    Flash0EccRegsFile
    1 0005fb00 00000028未初始化
    0005fb00 00000028 F2837xS_GlobalVariableDefs.obj (Flash0EccRegsFile)

    Flash1CtrlRegsFile
    1 0005fc00 00000182未初始化
    0005fc00 00000182 F2837xS_GlobalVariableDefs.obj (Flash1CtrlRegsFile)

    Flash1EccRegsFile
    1 0005ff00 00000028未初始化
    0005ff00 00000028 F2837xS_GlobalVariableDefs.obj (Flash1EccRegsFile)

    RomPrefetchRegsFile
    1 0005e608 00000002未初始化
    0005e608 00000002 F2837xS_GlobalVariableDefs.obj (RomPrefetchRegsFile)

    RomWaitStateRegsFile
    1 0005f540 00000002未初始化
    0005f540 00000002 F2837xS_GlobalVariableDefs.obj (RomWaitStateRegsFile)

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

    您好 Artur、

    有两项建议可帮助解决此问题:

    1.我在你发布的代码中看到 LS4编程已经被注释、但是链接器显示 LS4和 LS5都被分配给 CLA 程序。 我怀疑这是一个问题、因为应用程序从 RAM 执行就可以。

    2.如果以上不是问题、在 CLA 任务函数的开头添加一个 mdebugstop 可以帮助我们确定是否正在加载 CLA 任务。 有关如何添加 mdebugstop 以及如何配置 CLA 以检测由于 mdebugstop 导致 CLA 停止的说明、请参阅此链接。 为了检测到 mdebugstop 生成的 halt、必须在 CCS 中连接 CLA。

    https://software-dl.ti.com/C2000/docs/cla_software_dev_guide/debugging.html

    谢谢、

    Ashwini

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

    您好 Ashwini、
    感谢您的提示、您的假设正确无误。 当我在 RAM 中播放代码时、我使用不同的 CMD 文件。 由于内存有限、我只能为 CLA 发布 RAMSL5。 无论如何、感谢您的帮助。

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

    您好 Artur、

    很好地知道问题已解决、我将继续并关闭该主题。

    谢谢、
    Ashwini