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.

F28377S的内核和CLA可以同时运行吗,如果可以如何设置

Other Parts Discussed in Thread: CONTROLSUITE

比如我有两个没有时序关系的程序1和程序2,可不可以在内核和CLA同时运行

  • CLA就是设计用来与主CPU C28x并行执行的,否则没有任何意义。

    请参考controlsuite路径下(C:\ti\controlSUITE\device_support\F2837xS\v191\F2837xS_examples_Cpu1)的CLA例程进行CLA的初始化,然后编写CLA的代码就行。

  • 是这样的,如果我要进行八组浮点运算,如果CPU和CLA 各四组,两者同时进行,可以吗,或者说两者可以同时调用FPU?

    还有一个问题,就是CLA的运行是从中断函数调用进去的,那这种时候CPU不会中断或者说这是CLA的中断?

    最近看的有点懵,麻烦解答了

  • Wenhao Wu2 说:

    是这样的,如果我要进行八组浮点运算,如果CPU和CLA 各四组,两者同时进行,可以吗,或者说两者可以同��调用FPU?

    既可以单独在C28x主CPU里处理,也可以单独在CLA里处理,也可以在C28x和CLA里分别处理一部分。

    CLA是完全独立的一个处理器,简单一点,你把带CLA的芯片当作有两个独立的内核。

    C28x主CPU执行浮点运算,是通过调用FPU完全,而CLA是完全独立的内核,它就是一个浮点处理器,所以它是通过自己的内核直接进行浮点运算。

    .

    Wenhao Wu2 说:

    还有一个问题,就是CLA的运行是从中断函数调用进去的,那这种时候CPU不会中断或者说这是CLA的中断?

    "CLA的运行是从中断函数调用进去的",这个描述是错误的。

    CLA的运行是去独立响应一个中断,而不是由C28x主CPU干预。

    比如你产生一个定时器中断,或者ADC中断,以前在只有C28x主CPU的芯片上,它是由C28x直接响应这个中断,通过PIE进入到ISR。

    而CLA是跟C28x主CPU一样的机制,当一个外设或软件中断发生时,你可以选择让C28x主CPU响应,也可以选择让CLA去响应(这需要在CLA程序初始化时进行配置),因为CLA就可以独立响应中断(而且它只能响应中断),此时如果CLA响应了,这个中断就跟C28x主CPU没有任何关系。

    所以你理解成两条通道就对了,当中断产生时,可以选择任意一个通道接收并处理,而另一条不受影响,可以继续做自己的其它事情。

    只是由于C28x是主CPU,而CLA相当于是协处理器,在CLA响应完这个中断后,CLA还可以产生CLA的任务中断让C28x主CPU知道,我已经完成了这个任务,你可以继续通过PIE进行处理,比如来实现两个内核之间的数据交互。

    下面是一个简单的示意图,供你参考。