工具/软件:TI-RTOS
您好!
我的应用的主要目标是在几毫秒内以高采样率读取一组 SPI 传感器、并对这些数据做出决定。
我已经在硬件中断发布的任务中实现了这一点、并且通常我的传感器读取循环每扫描以~15uSec 的速度运行。
由于我的总体传感器读取持续时间(10ms)长于我的时钟节拍周期、时钟模块会中断、增加~35us (默认情况下每个时钟节拍或1ms)
如果我将"节拍"模式设置为"不必要的时钟周期将被抑制"、我的应用程序会短暂工作、但 MCU 会在短时间后停止工作。
我在 HWI 或任务中看不到栈溢出
-没有任何 HWI 例外
-HeapTrack 未显示任何问题
执行分析显示程序进入"未知"状态。 我看到的最接近的提示是程序的暂停、其中信标计数溢出看起来已经发生、 信标计数在 ROV 中为0或1。 有时、在 ROV 窗口中、BIOS 选项卡"CAN for errors"将显示、
'Viewinit 代码中捕获到异常:"c:/ti/tirtos_tivac_2_16_00_08/products/uia_2_00_05_50/packages/ti/uia/loggers/LoggerStopMode.xs、第231行:无法从 null 读取属性"enabled"。'
如何解决此类错误? 用于 MSP430处理器/wiki 的 SYS/BIOS 具有我找到的有关时钟周期抑制的最多信息、似乎表明可以抑制的最长周期小于1个周期持续时间? 如果我也将时钟节拍模式设置为动态、则会在"empty" TI-RTOS 新项目中发生此问题。
使用'Clock_tickStop();'和'Clock_tickStart();'在我第一次尝试时不起作用,但重新安装 CCS 后,他们现在似乎起到了作用。 使用时是否有注意事项? 是否存在忽略滴答的限制、如果是、它是累积的? 我是否应该尝试增加节拍持续时间并仅捕获节拍之间的数据、或者我是否从根本上以另一种方式退出了我的方法?
对于愚蠢的问题和其他新的错误、我深表歉意、感谢您抽出宝贵的时间。
RTOS:2.16.0.08
XDCtools:3.32.0.06