“Thread:SysBIOS”中讨论的其它部件
大家好,
在我们基于 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万个。
这些是其他人遇到的一些类似问题,但没有一个问题能解决。
- https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/938725/cc3235sf-after-initializing-pwm-parameters-i-am-unable-to-read-or-write-using-the-i2c-module/3476354?tisearch=e2e-sitesearch&keymatch=cc3235sf%2525252520ic2%2525252520dies%2525252520after%2525252520pwm#34763542。
- https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/991156/cc3230sf-error-while-use-i2c-and-pwm-both-modules
- https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/945590/cc3235sf-pwm-and-i2c-interfering-with-each-others
作为故障排除步骤,我们如何追踪故障?