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.

如何形象的理解CLA的协处理器??

Other Parts Discussed in Thread: CONTROLSUITE

求具体程序,不要单纯的解释说明,给我们新手更利于理解

  • CLA就是一个中断处理内核,以前用C28来响应,现在可以配置由CLA来响应。

    首先是配置触发源

    Cla1Regs.MPISRCSEL1.bit.PERINT7SEL = CLA_INT7_ADCINT7;// 如使用ADCINT7触发。

    其次是入口地址,即任务的执行函数地址,跟中断向量类似:

    Cla1Regs.MVECT7 = (Uint16) (&Cla1Task7 - &Cla1Prog_Start)*sizeof(Uint32);//这里配置了任务7的函数地址
    Cla1Regs.MVECT8 = (Uint16) (&Cla1Task8 - &Cla1Prog_Start)*sizeof(Uint32);

    再则是将CLA的代码从flash中复制到CLA的RAM中,且将RAM分配给CLA全权使用。备注,CLA只能在CLA RAM中执行

    memcpy((uint16_t *)&Cla1funcsLoadStart,(uint16_t *)&Cla1funcsRunStart, (unsigned long)&Cla1funcsLoadSize);
    Cla1Regs.MMEMCFG.bit.PROGE = 1;

    然后你就可以写CLA 的任务函数了,可以是汇编的.asm文件,也可以是C语言的.cla文件。

    具体例程,查看

    汇编任务函数C:\ti\controlSUITE\device_support\f2803x\v128\DSP2803x_examples_ccsv5\cla_adc_fir

    C的任务函数C:\ti\controlSUITE\device_support\f2803x\v128\DSP2803x_examples_cla_ccsv5\acos

    Eric