Other Parts Discussed in Thread: CC1314R10
器件型号: CC1314R10
晚上好、
我正在调试 CC1314R10 上 FreeRTOS 的代码端口。 代码会运行、但性能欠佳。 它由两个任务组成、一个任务为以太网提供服务、另一个任务为对讲机提供服务。
我已经设置了几个 DIO、以便使用逻辑分析仪实时跟踪发生的情况。
从切换中可以看出、协议正在运行、但代码中存在 SoM 暂停。
我已经跟踪了这一点,我发现在不规则的间隔,所有活动在任何一个 DIO 的停止 40 ms,表明没有任何任务正在执行。 现在、我在代码中使用一个“延迟计时器“、用于检测加入网络的情况。 该计时器不会在 3ms 内发送、等待加入消息、而不会阻止任务执行。 奇怪的是,这发生在不规则的间隔,但“暂停“持续 40 mS +/- 50 us 左右。
我最初的假设是,我在某处创建了一个(几乎)无止境的循环,但逻辑分析仪显示,所有活动都停止了所述的 40mS。 我没有参考这个大小的计时器。
最糟糕的“时序问题“是以太网数据包的传输、该数据包被分为 6 个段、
并且可以验证为约 1.7ms。
FreeRTOS 配置显示 tickrate 为 1000ul、即每周期一毫秒(默认)
你能给我一个关于发生了什么,或者我应该研究什么来解决这个问题的想法吗?
Gullik