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.

[参考译文] 编译器/TMS320C6670:无法到达中断点以停止6670的数据

Guru**** 2563920 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/592798/compiler-tms320c6670-not-able-to-hit-a-break-point-for-halt-on-data-for-6670

部件号:TMS320C6670

工具/软件:TI C/C++编译器

您好,

我一直 在使用TI库提供的用于AET的EG代码,我能够成功地构建halt_on_data_range eg代码,但当我在设备6670中运行该代码时,它不会停止。

也是如此  

控制台:

AET有索赔
REG: CIS_BUS_SEL,值:0x0
REG:TB_ENA,值:0x0
REG:DRC_5_CNTL,值:0x1.4万a0
REG:DRC_5_Aref,值:0x835d4c
REG:TB_1W_0_ORS,值:0x20
REG:TB_1W_0_CNTL,值:0x800aaaa
reg:func_cNTL,值:0x1b0万
REG: CIS_BUS_SEL,值:0x0
reg:TB_DM,值:0x0
REG:TB_ENA,值:0x1
索引为0
AET已启用
REG:DRC_5_CNTL,值:0x0
REG:DRC_5_Aref,值:0x0
REG:TB_ENA,值:0x0
REG:TB_1W_0_ORS,值:0x0
REG:TB_1W_0_CNTL,值:0x0
AET有索赔
REG: CIS_BUS_SEL,值:0x0
REG:TB_ENA,值:0x0
REG:DRC_2_CNTL,数值:0x54fff88
REG:DRC_2_Aref,值:0x82.1548万
REG:DRC_3_CNTL,值:0x54f0f84
REG:DRC_3_Aref,值:0x8.2159万c
REG:DRC_0_CNTL,数值:0x54fff88
REG:DRC_0_Aref,值:0x82.1548万
REG:DRC_1_CNTL,数值:0x54f0f84
REG:DRC_1_Aref,值:0x8.2159万c
REG:TB_1W_0_ORS,值:0x5
REG:TB_1W_0_CNTL,值:0x800aaaa
reg:func_cNTL,值:0x1b0万
REG: CIS_BUS_SEL,值:0x1140
reg:TB_DM,值:0x0
REG:TB_ENA,值:0x1
索引为0
AET已启用
REG:DRC_0_CNTL,值:0x0
REG:DRC_0_Aref,值:0x0
REG:DRC_1_CNTL,值:0x0
REG:DRC_1_Aref,值:0x0
REG:DRC_2_CNTL,值:0x0
REG:DRC_2_Aref,值:0x0
REG:DRC_3_CNTL,值:0x0
REG:DRC_3_Aref,值:0x0
REG:TB_ENA,值:0x0
REG:TB_1W_0_ORS,值:0x0
REG:TB_1W_0_CNTL,值:0x0

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Sandeep,
    您使用的CCS的确切版本是什么?与哪个调试探测器配合使用?

    如果您还可以提供代码或至少提供可重现的测试用例,那就太好了。

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

    您好,Ki:

    我正在TMDSEVM6670LE上使用版本6

    代码如下


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


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

    /*函数原型*/
    void test_func();

    /*主要*/
    void main()


    AET_jobParams参数;/*数据监视点参数结构*/
    AET_JOBIndex JobNumber;/*由AETLIB返回的作业编号*/

    /*
    初始化参数结构
    */
    Params = AET_JOBPARAMS;

    Params = AET_JOBPARAMS;/*初始化作业参数结构*/

    Params.dataStartAddress =(UINT32)&memArray1[0];
    Params.dataEndAddress =(UINT32)&memArray1[0x15];
    params.triggerType = AET_trig_halt_cpu;
    params.readwrite = AET_water_write;
    Params.refSize = AET_REF_SIZE单词;

    aet_init();

    /*申请AET资源*/
    IF (AET_Claim())
    返回;

    /*使用选定的参数设置AET作业*/
    IF (AET_setupJob(AET_JOB_TRIG_ON_DATA_RANGE,参数(&P)))
    返回;

    /*记住作业表中此作业的索引*/
    JobNumber = params.jobIndex;

    /*告诉用户作业索引是什么*/
    printf ("索引为%d\n",JobNumber);


    /*启用AET */
    IF (AET_ENABLE())
    返回;

    test_func();

    /*清除AET作业*/
    AET_releaseJob (JobNumber);

    返回;


    }

    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");
    /*写入内存变量2. 我们不应在此停止*/
    memVariable2 = 1234.5678万 l ;
    asm (" nop");
    asm (" nop");
    asm (" nop");
    asm (" nop");
    asm (" nop");
    asm (" nop");
    asm (" nop");
    asm (" nop");
    asm (" nop");
    asm (" nop");
    asm (" nop");
    asm (" nop");
    /*从数组中读取我们不应在此停止*/
    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");
    /*写入选定范围以上的数组。 不应停止*/
    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");
    /*写入范围内的数组,这应触发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");
    }

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

    而且每次 都将作业编号设置为0 (零),

    所以我的问题是 什么是工作,没有范围,有没有这样的工作??

     

    第二个队列 可以 是作业 号不能为零