Other Parts Discussed in Thread: F29H850TU
器件型号: F29H850TU
您好:
我正在使用的器件 F29H850TU 在上 SOM EVM (CPU1 + CPU3) 中运行。
CPU 到外设的配置似乎正确:我可以配置 独立 PWM 和 GPIO 对于 CPU1 和 CPU3、我还可以通过调试器/观察窗口(例如,更改 PWM 周期、切换 GPIO)来控制它们。
但是、我在上看到了异常的运行时行为 CPU3 :
当我调用 driverlib 函数时、例如:
EPWM_setTimeBasePeriod (EPWM1XLINK_BASE、PERIOD_Cnt2);
GPIO_writePin (myGPIO0_TEST_CPU3、1);
中导出 CPU3 main.c (在主循环内部)while(1)、软件看起来“粘住“、主循环不再进程(例如,在内部停止更新的虚拟变量增量)while(1)。
观察结果
- 我有一个 RTDMA 中断 ISR 已配置。 ISR 按预期运行。
- 何时发生、以及 I 暂停 CPU3 、程序计数器始终位于内 RTDMA ISR (不在 NMI 中)。
- 如果我使用、则在停止后 单步执行 、CPU3 能够执行 driverlib 调用并继续。
- 然后按 继续/恢复 、则问题返回:CPU3 再次出现卡滞现象、并且中的代码
while(1)未执行。
我尝试过的
- 编译器优化已禁用 CPU 启动。
- 我测试了
led_ex1_blinky_cpu1_cpu3_multi示例。 即使我添加了额外的代码、该示例也可以正常运行。 - 我将工程设置与示例进行了比较、但到目前为止找不到根本原因。
您能否告知、是什么原因导致 CPU3 仅在调用某些 driverlib API (ePWM/GPIO) 时才停止在主循环中进行进程、而 RTDMA ISR 会继续运行? 我怀疑缺少配置/设置(所有权,保护,中断/确认等)、但我目前卡住了。
此致、
Gökhan μ s