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.
大家好,
在我们基于 FreeRTOS 的应用中,我们有一个用于 I2C 的专用 RTOS 线程和一个用于 PWM 电机控制的线程。 使用 CC3235SFMODS 打开定制板上的 PWM 驱动程序后,I2C 任务在 I2C_OPEN (I2C 打开)上崩溃。 在 I2C_OPEN ()之前关闭 PWM 无法解决错误。 其他任务继续正常运行。 软重启后(重置_N 被拉低),程序将在 FreeRTOS/Vendors/ti/SimpleLink_CC32xx/v2_10_00_04/kernel/FreeRTOS/startup/startup_cc32xx_CCS.c - faultISR()停止。 我们的代码基于 SimpleLink CC32xx SDK 2.10.00.04,因为它已经包含在亚马逊 FreeRTOS 中,但我们使用的 CC3235 SP 从2.40.00.05开始。
在 LP-CC3235MOD 上尝试相同的代码时,如果没有连接任何设备 I2C 从属设备,该代码将不会进入故障状态,并按预期继续。
当 PWM 不是定制板上代码的一部分时,I2C_OPEN 不会触发 faultISR()。 请参见下图,了解 I2C 工作时 I2C 读取的捕获。
-
我们的 PWM 引脚连接到 GPIO10和 GPIO 11,而我们的 SDA (连接到 GPIO15)和 SCL (连接到 GPIO14)均具有10万个下拉至3V3的10万个。
这些是其他人遇到的一些类似问题,但没有一个问题能解决。
作为故障排除步骤,我们如何追踪故障?
有关其他信息,我们使用 TI RTOS 尝试了相同的过程。 调用 PWM_CLOSE 后,I2C 驱动程序似乎特别失败。 在这种情况下,任务同样会崩溃,并且在软重置后 ,从 simplelink_cc32xx_sdk_2_40_01_01/kernel/tirtos/packages /ti/SysBIOS/系列/arm/m3/HWI.c 调用 void HWI_激发 处理程序(UINT *exstack, UINT LR)
您好,Ajay,
该 SDK 似乎相当陈旧,自那时以来,此问题可能已经得到解决。 如果您尝试使用最新的 SDK,您是否仍然看到此问题? 您可以在启动板上尝试一个简单的项目。