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.

Compiler/TMS320C6670: NOT ABLE TO HIT A BREAK POINT FOR HALT ON DATA FOR 6670

Part Number: TMS320C6670

Tool/software: TI C/C++ Compiler

HI,

I have been  using eg code provided by TI library for AET and i was able to build halt_on_data_range eg code successfully but when i run that code in my device 6670 it is not halting .

snuggest on the same 

Console:

AET Claimed
Reg: CIS_BUS_SEL, value: 0x0
Reg: TB_ENA, value: 0x0
Reg: DRC_5_CNTL, value: 0x14000a0
Reg: DRC_5_AREF, value: 0x835d4c
Reg: TB_1W_0_ORS, value: 0x20
Reg: TB_1W_0_CNTL, value: 0x800aaaa
Reg: FUNC_CNTL, value: 0x1b000000
Reg: CIS_BUS_SEL, value: 0x0
Reg: TB_DM, value: 0x0
Reg: TB_ENA, value: 0x1
The index is 0
AET Enabled
Reg: DRC_5_CNTL, value: 0x0
Reg: DRC_5_AREF, value: 0x0
Reg: TB_ENA, value: 0x0
Reg: TB_1W_0_ORS, value: 0x0
Reg: TB_1W_0_CNTL, value: 0x0
AET Claimed
Reg: CIS_BUS_SEL, value: 0x0
Reg: TB_ENA, value: 0x0
Reg: DRC_2_CNTL, value: 0x54fff88
Reg: DRC_2_AREF, value: 0x821548
Reg: DRC_3_CNTL, value: 0x54f0f84
Reg: DRC_3_AREF, value: 0x82159c
Reg: DRC_0_CNTL, value: 0x54fff88
Reg: DRC_0_AREF, value: 0x821548
Reg: DRC_1_CNTL, value: 0x54f0f84
Reg: DRC_1_AREF, value: 0x82159c
Reg: TB_1W_0_ORS, value: 0x5
Reg: TB_1W_0_CNTL, value: 0x800aaaa
Reg: FUNC_CNTL, value: 0x1b000000
Reg: CIS_BUS_SEL, value: 0x1140
Reg: TB_DM, value: 0x0
Reg: TB_ENA, value: 0x1
The index is 0
AET Enabled
Reg: DRC_0_CNTL, value: 0x0
Reg: DRC_0_AREF, value: 0x0
Reg: DRC_1_CNTL, value: 0x0
Reg: DRC_1_AREF, value: 0x0
Reg: DRC_2_CNTL, value: 0x0
Reg: DRC_2_AREF, value: 0x0
Reg: DRC_3_CNTL, value: 0x0
Reg: DRC_3_AREF, value: 0x0
Reg: TB_ENA, value: 0x0
Reg: TB_1W_0_ORS, value: 0x0
Reg: TB_1W_0_CNTL, value: 0x0

  • Hi Sandeep,
    What exact version of CCS are you using and with which debug probe?

    If you can also provide your code or at least a reproducible test case, that would be great.

    Thanks
    ki
  • hi ki,

    i m working on version 6 on TMDSEVM6670LE

    The code is below


    #include <aet.h>
    #include <stdio.h>


    Uint32 memVariable1, memVariable2;
    Uint32 memArray1[0x20];

    /* Function Prototypes */
    void test_func();

    /* Main */
    void main()
    {

    AET_jobParams params; /* Data Watchpoint Parameter Structure */
    AET_jobIndex jobNumber; /* Job Number returned by AETLIB */

    /*
    Initialize Parameter Structure
    */
    params = AET_JOBPARAMS;

    params = AET_JOBPARAMS; /* Initialize Job Parameter Structure */

    params.dataStartAddress = (Uint32) &memArray1[0];
    params.dataEndAddress = (Uint32) &memArray1[0x15];
    params.triggerType = AET_TRIG_HALT_CPU;
    params.readWrite = AET_WATCH_WRITE;
    params.refSize = AET_REF_SIZE_WORD;

    AET_init();

    /* Claim the AET resource */
    if (AET_claim())
    return;

    /* Setup the AET job with selected parameters */
    if (AET_setupJob(AET_JOB_TRIG_ON_DATA_RANGE, &params))
    return;

    /* Remember the index of this job in the job table */
    jobNumber = params.jobIndex;

    /* Tell the user what the job index is */
    printf("The index is %d\n", jobNumber);


    /* Enable AET */
    if (AET_enable())
    return;

    test_func();

    /* Clear AET Job */
    AET_releaseJob(jobNumber);

    return;


    }

    void test_func()
    {
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    /* Write to memory variable2. We shouldn't halt here */
    memVariable2 = 0x12345678l;
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    /* Read from the array We shouldn't halt here */
    memVariable2 = memArray1[0x10];
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    /* Write to the array above the selected range. Should not halt */
    memArray1[0x18] = 0xDEFED0FE;
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    /* Write to the Array within the range This should trigger a halt */
    memArray1[0x10] = 0xBEEFFEED;
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    asm(" nop");
    }

  • and more over i  m getting job no as 0 (zero ) every time ,

    so my question is what is the  job no range is there any thing like that ??

     

    and 2nd Que is  can the  job  no can be zero