TI中文支持网
TI专业的中文技术问题搜集分享网站

请问F28379D怎么实现双核对某一段程序加速

我用是的是F28379D。情况是我在运行主程序的时候,比如官方的IDDK例程,到某一段需要按顺序计算多个矢量的作用时间,这时候我想用双核(或者加上双核的CLA一共4个核)来并行计算,从而提高计算效率。请问我应该怎么实现呢?官方的双核例程都是两个工程做不同的事情,比如CPU1给CPU2提供时钟复位。我能否在某一个主工程中需要CPU2的时候调用CPU2,不需要的时候接着运行主工程呢?

Green Deng:

你好,我觉得你的情况应该更适合使用CLA核进行计算方面的task,CLA本身就是为了浮点运算而设计的,CPU可以通过中断或者软件触发的方式调用CLA进行各种浮点计算任务。计算速度更快的同时,CLA是独立于CPU的一个处理器,不会占用CPU资源。详细的可以参考芯片TRM的Chapter 6. Control Law Accelerator (CLA)部分内容以及TI提供的CLA例程: C:\ti\c2000\C2000Ware_3_01_00_00\device_support\f2837xd\examples\cpu1

Yipeng Tang:

回复 Green Deng:

谢谢你的回复!对于你所说的CLA核进行计算方面的task我是了解的,并且CPU1与CPU1CLA1我都会用。我的问题是能不能在这个基础上,将CPU2与CPU2CLA1也添加进来一起进行并行运算呢?如果可以那么请问我具体应该怎么操作,是额外建立一个工程,还是说我在原来的主工程上就可以使能CPU2和CPU2CLA1来进行工作呢?

Green Deng:

回复 Yipeng Tang:

如果要在同一个工程中使用双CPU的话是需要各自建立一个工程的,并在CPU1的工程中调用CPU2来进行处理。
但如果是在CPU1/2中调用各自核的CLA的话不需要额外建立工程,只需要在CPU1/2的主工程中调用CLA就可以了。
双核CLA的例程官方也有提供,如:C:\ti\c2000\C2000Ware_3_01_00_00\device_support\f2837xd\examples\dual\cla_asin
不知道我回答的是否get到你的点?

Yipeng Tang:

回复 Green Deng:

  我明白你的意思了,要使用到CPU2 就必须新建立一个工程,然后在CPU1工程中通过IPC控制启动CPU2来进行协同工作对吧。我可以这样理解吗请问:如果我想在官方的开发套件工程(比如C:\control_suite\controlSUITE\development_kits\TMDSIDDK_v2.0\IDDK_PM_Servo_F2837x_v2_00_00_00)的基础上在某一段用到CPU2做并行计算,我得新建一个CPU2的工程然后自己实现这个功能是吗? 

 其实我最想知道的是官方是否有这样的例程或者案例可以提供参考,我在controlsuite和C200Ware里面都没有找到类似的例子。

Yipeng Tang:

回复 Green Deng:

我明白了,谢谢你的解答!

Green Deng:

回复 Yipeng Tang:

客气了,祝你后期调试顺利。

赞(0)
未经允许不得转载:TI中文支持网 » 请问F28379D怎么实现双核对某一段程序加速
分享到: 更多 (0)