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.
谢谢 Lori、
这解决了我的问题、但我只提出了一些更相关的问题、即
--如果我运行 CLA 和主 CPU,那么我如何使工作同步?
-在以上示例中、每次调用 CLA_Task1时、主 CPU 执行 CLA_Task1 ISR、其中数据由 CPU_1收集。 是否有任何方法可以避免 ISR、以便主 CPU 可以在没有 CLA 中断的情况下工作。
----是否有更多方法将数据提供给主 CPU。 例如、我在 CLA 中创建一个数组、然后将其地址传递给 MAIN_CPU?
--当我使用 CLA 时,我内存不足。 我正在使用全部8个 LS RAM。 我可以通过添加其他存储器来进一步增加它吗?
--我想使用 DMA 存储数据。 使用 CLA 时、该平台是否有任何 DMA 示例?
此致、
Bilal
注意:我将您的新问题分为一个新主题。 这有助于我们跟踪问题和解决方案。 将来、您可以选择"提出相关问题"或"提出新问题"-这将非常有用、并将帮助 TI 跟踪问题和解决方案。 遗憾的是、有时会错过已解决问题的后续问题。
Bilal、
我认为以下资源将对您有所帮助。 前两个示例位于 TMS320F280049C 的产品文件夹中
问:如果我运行 CLA 和主 CPU、那么我如何使工作同步?
答:CLA 任务在触发时运行。 触发可由主 CPU 或外设产生。 有关外设列表、请参阅特定器件的技术参考手册。
在示例(cla_ex1_adc_fir)中、CLA 任务8由 CPU 触发、任务1的触发源是 ADC。 在代码中查找以下行:
CLA_setTriggerSource (CLA_task_1、CLA_TRIGGER_ADCA1); CLA_setTriggerSource (CLA_task_8、CLA_trigger_software); CLA_enableTasks (CLA1_base、(CLA_TASKFLAG_1 | CLA_TASKFLAG_8)); CLA_enableIACK (CLA1_base); CLA_forceTasks (CLA1_base、CLA_TASKFLAG_8);
Q:在上面的示例中、每次 CLA_Task1被调用时、主 CPU 执行一个 CLA_Task1 ISR、其中数据由 CPU_1收集。 是否有任何方法可以避免 ISR、以便主 CPU 可以在没有 CLA 中断的情况下工作。
答:是的、在 CPU 级别、您不会启用 CLA 任务结束中断。 即注释掉此行:
INTERRUPT_ENABLE (INT_CLA1_1);
问: 还有什么方法可以将数据提供给主 CPU。 例如、我在 CLA 中创建一个数组、然后将其地址传递给 MAIN_CPU?
答:可以使用任何通过存储器传递值的方案。 由您来定义。
问: 当我使用 CLA 时、内存不足。 我正在使用全部8个 LS RAM。 我可以通过添加其他存储器来进一步增加它吗?
答: 请参阅特定器件数据手册中的存储器映射部分。 在这里、您将找到可为 C28x、CLA 或两者配置的存储器块。
问:我想使用 DMA 存储数据。 使用 CLA 时、该平台是否有任何 DMA 示例?
答:请参阅特定器件数据手册中的存储器映射。 在这里、您可以找到每个主器件可以访问的存储器块:C28x、CLA 和 DMA。
注:
技术参考手册(TRM)中存在错误。 它提到了 DMA 到 CLA 的消息 RAM。 F28004x 器件上不存在此功能。 我已提交一个 TT 以更正文档。 数据手册内存映射正确。
此致
Lori
谢谢 Bilal。 Sal 似乎正在回答另一个线程上的相关问题。 我将结束本主题、让讨论继续进行。 如果我误解了、只需在该主题上发帖、它就会重新打开。
此致
Lori