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_priet_cpu01示例中的 Cla1ForceTask1andWait()无法执行

Guru**** 2538950 points
Other Parts Discussed in Thread: TMS320F28377S, C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/605298/tms320f28377s-no-execution-beyond-cla1forcetask1andwait-in-cla_prime_cpu01-example-from-control-suite

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

当我从 TMS320F28377S 的控制套件中构建(CCS 7.2.0.00013)并调试 CLA_priet_cpu01示例时、在调用 Cla1ForceTask1andWait()后执行不会继续。

代码片段:

//
// cla_RunTest -针对指定矢量执行 CLA 任务测试
//
空 CLA_RunTest (空)

   Cla1ForceTask1andWait();

   int32 i、j、index;
   int32 gold_out[length];
   索引= 2;
   GOLD_OUT[0]= 1;
   GOLD_OUT[1]= 2;

   //
   //对于其余的数字,请跳过 evens
   //
   for (i = 3;索引<长度;i+=2)
   {
       for (j = 2;j <= I/2;j++)
       {
           如果(!(i % j))
           {
             中断;
           }
       }
       如果(j > I/2)
       {
           gold_out[index]= i;
           索引++;
       }
   }

但是、当我取消对 asm (" ESTOP0")的注释时;在 lchIsr1()处理程序中、调试器会停止。 因此、CLA1任务似乎已经完成。 此外、当我将 JTAG 连接到 CLA 并加载符号时、我能够单步执行 CLA 任务1代码。

//
// cla1Isr1 - CLA1 ISR 1.
//
_interrupt void cla1Isr1 ()

   //
   //确认任务1的任务结束中断
   //
   PieCtrlRegs.PIEACK.ALL = M_INT11;

   //
   //取消注释以停止调试器并在此处停止
   //
   asm (" ESTOP0");

 

我在"Disassembly"窗口中看到执行在 C$L1处循环:0xbb58到0xbb5d、等待 CLA 任务完成。 我不确定为什么我看到完成中断、但执行不会通过此循环。 我需要提高 C2000汇编的速度...


       CLA_RunTest():
00bb4f:  AABD       MOVL        *SP++,XAR2
00bb50:  5AAD       MOVZ        AR2、μ@SP
00bb51:  DA84       SubB        XAR2、#4
00bb52:  08AD00D0   ADD         @SP、#208

169        Cla1ForceTask1andWait();

00bb54:  763F0001   IACK        #0x0001
00bb56:  F603       RPT         #3
00bb57:  7700    || NOP          

       C$L1:

00bb58:  761F0050   MOVW        DP、#0x50
00bb5a:  9226       MOV         AL、@0x26
00bb5b:  9001       ANDB        AL、#0x1
00bb5c:  5201       CMPB        AL、#0x1
00bb5d:  61FB       SB          C$L1、EQ

173        索引= 2;
00bb5e:  0202       MOVB        ACC、#2

 

 

请提供任何帮助。 为了了解 CLA 的开发、我将此作为我的第一个示例。 顺便说一下、我看到其他 CLA 示例的行为类似。

谢谢、

Tom

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    基于另一个线程、我安装了 C2000Ware 并导入了 CLA_prime 示例。 这将按预期构建和执行。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Tom、

    感谢您将解决方案发布到您的问题。