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.

[参考译文] AM6548:AM6548:ICSSG PRU 任务管理器任务交换不起作用

Guru**** 2553450 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1021298/am6548-am6548-icssg-pru-task-manager-task-swapping-is-not-work

器件型号:AM6548

我的任务管理器不工作。

 此 讨论的症状与 此相同- https://e2e.ti.com/support/processors-group/processors/f/processors-forum/882551/am6548-icssg-pru-task-manager

我在 c 中实现了我的代码、但解决方案是汇编。

如何启用  TSEN?  这是一个寄存器吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    下面是我设置任务管理器的代码。

    /* disable swap mode */
    CT_TM_PRU1.global_cfg_bit.tasks_mgr_mode = 0x0;
    
    /* disable TS2_S0*/
    CT_TM_PRU1.global_cfg_bit.ts2_en_s0 = 0x0;
    CT_TM_PRU1.global_cfg_bit.ts1_en_s0 = 0x0;
    
    /* TS2_S0 set source event as IEP1 cmp0*/
    CT_TM_PRU1.ts2_gen_cfg1_bit.ts2_gen_s0_mx = 40;
    CT_TM_PRU1.ts1_gen_cfg1_bit.ts1_gen_s0_mx = 40;
    
    /* TS2_S0 set subroutine as Send_Pulse_task*/
    CT_TM_PRU1.ts2_pc_s0_bit.ts2_pc_s0 = (uint32_t)Send_Pulse_task;
    CT_TM_PRU1.ts1_pc_s0_bit.ts1_pc_s0 = (uint32_t)Send_Pulse_task;
    
    /* enable TS2_S0*/
    CT_TM_PRU1.global_cfg_bit.ts2_en_s0 = 0x1;
    CT_TM_PRU1.global_cfg_bit.ts1_en_s0 = 0x1;
    
    /* set TASKS_MGR_MODE=General_HW */
    CT_TM_PRU1.global_cfg_bit.tasks_mgr_mode = 0x2;

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、葡萄园:

    您可以帮助回答此问题吗?

    BR RIO

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    附加注释:

    1.我的 PRU 编译器 v2.3.3、 TSEN 指令将导致构建失败。

    2.任务管理器不能在第一次设置寄存器中工作。  它将在重新启动我的代码后开始运行。

    3.在我的子例程完成并返回到后台任务之后,PC 很奇怪。 (可能是由重新启动的代码引起的)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    是否可以提供完整的代码和构建环境以便我可以在我的末尾复制? 正如您所说的、它确实可以在汇编语言中工作、甚至 AM65上的 MAC 也在使用它、因此这一点没有问题。

    此致

    葡萄园

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Vineyet、

    附件是我的整个代码。

    如果有任何建议、请告诉我。

    e2e.ti.com/.../PRUTest.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Hi Stamp、

    我们在内部讨论了这一点、无法支持 PRU 上的任何自定义 C 或汇编代码/开发。 接下来、我们将仅支持现有的基于以太网的固件、这些固件已通过 TI.com 上的 SDK 发布。

    此致

    葡萄园