Thread 中讨论的其他器件:C2000WARE、 controlSUITE
我们已转向代码的第一版、我们将所有 TI 相关编译器和支持文件库更新为最新版本。 在迁移到 C2000Ware 支持文件的过程中、我遇到了一些无法启动并将无限循环挂起的处理器。 它位于 F2837xS_SYSCTRL.c 文件中的 TI 例程 InitSysPLL()中。 这是针对内部振荡器和 DSC 时钟的标准 TI 配置例程。 TI 更新的函数具有针对滑动位监控器的附加测试、这会导致我们的一些电路板无法启动。
我们的配置是使用 INTOSC2和 PLL 来生成193.75MHz SYSCLK。 使用 C2000Ware_1_00_04_00。 这基本上是用于调用函数的代码。
//这是193.75MHz,即200MHz -3.125%。
InitSysPll (INT_OSC2、IMULT_38、FULT_0pt75、PLLCLK_by_2);
在故障电路板上、它会转到以下代码行、然后显示 DSC 由于看门狗计时器事件而复位。
//
//如果 Timer1或 timer2计数器溢出,则停止计时器
//
while (((CpuTimer2Regs.TCR.bit.TIF = 0)&&(CpuTimer1Regs.TCR.bit.TIF = 0));
勘误表直接引用 C2000Ware InitsysPll()代码来解决勘误表,函数正在执行勘误表中要求的所有操作。
我想了解为什么此 TI 功能出现故障、以及如何在未来修复它。 我目前已删除 InitSysPll()例程中的 Slip 位监视器测试,以继续进行,因为它不在以前的 TI controlSUITE 代码库中,我们没有发现任何问题。 我需要使完整的 TI C2000Ware 代码有效、以完全满足勘误建议。