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.

28069 CLA寄存器设置问题

Other Parts Discussed in Thread: CONTROLSUITE

Cla1Regs.MMEMCFG.bit.RAM0CPUE=1;

怎么无法将这个寄存器设为1啊

我初始化设置CLA寄存器 用表达式观察窗口或存储器地址访问窗口观察 这位总是0 我想在cpu也访问CLA ramp0

感觉这条指令不起作用 且也加了EALLOW 指令了

  • 楼主参考一下下面这个历程:

    C:\ti\controlSUITE\device_support\f2806x\v130\F2806x_examples\cla_adc_fir_flash

    void init_cla()

    {

      //

      // This code assumes the CLA clock is already enabled in

      // the call to InitSysCtrl();

      //

      // EALLOW: is needed to write to EALLOW protected registers

      // EDIS: is needed to disable write to EALLOW protected registers

      //

      // Initalize the interrupt vectors for Task 7 (CLA FIR Filter)

      // and for Task 8 (FIR filter initalization)

      //

      // The symbols used in this calculation are defined in the CLA

      // assembly code and in the CLAShared.h header file

      //

      EALLOW;

      Cla1Regs.MVECT7 = (Uint16) (&Cla1Task7 - &Cla1Prog_Start)*sizeof(Uint32);

      Cla1Regs.MVECT8 = (Uint16) (&Cla1Task8 - &Cla1Prog_Start)*sizeof(Uint32);

      //

      // Task 7 has the option to be started by either EPWM7_INT or ADCINT7

      // In this case we will allow ADCINT7 to start CLA Task 7

      //

      Cla1Regs.MPISRCSEL1.bit.PERINT7SEL = CLA_INT7_ADCINT7;

      //

      // Copy the CLA program code from its load address to the CLA program memory

      // Once done, assign the program memory to the CLA

      //

      // Make sure there are at least two SYSCLKOUT cycles between assigning

      // the memory to the CLA and when an interrupt comes in

      //

      memcpy(&Cla1funcsRunStart, &Cla1funcsLoadStart, (Uint32)&Cla1funcsLoadSize);    

      Cla1Regs.MMEMCFG.bit.PROGE = 1;

      //

      // Enable the IACK instruction to start a task

      // Enable the CLA interrupt 8 and interrupt 7

      //    

      Cla1Regs.MCTL.bit.IACKE = 1;            

      Cla1Regs.MIER.all = (M_INT8 | M_INT7);

      //

      // Force CLA task 8 using the IACK instruction

      // Task 8 will initalize the filter input delay

      // line to zero (X[0] - X[4]).

      //

      // No need to wait, the task will finish by the time

      // we configure the ePWM and ADC modules

      //

      Cla1ForceTask8();

    }

  • 请确保当你查看时,在debug视图下的焦点(也就是你的光标)是在CLA内核上而不是在C28x上。

  • 这一位是可读可写的,不应该写不进去啊!您用Expression看的时候是realtime模式么?

    您可以在程序中做判断,比如如果这个位设置为1了,那么某个IO口拉高。。

  • 这是在初始化执行的程序 我设了断点 单步执行后 通过Expression和Memory直接对寄存器地址中的内容进行观察 就是写不进去

  • CLA Enable了么?

    要在Configuration中允许CLA 功能。