Thread 中讨论的其他器件:SYSBIOS、 AM5718
工具/软件:TI-RTOS
你(们)好
我在 IDK5718上为 C66 DSP 创建了一个小型 SYSBIOS (V6.46.5.55)程序。 我使用的是 CCS 7.3。
它使用一个任务和一个计时器来运行 TimerFunction()。
每次 TimerFunction()由计时器 A 计数器递增调用。
可用的定时器为 Timer5和 Timer6 (可用性掩码= 0x0030)。
当我使用定时器5运行 TimerFunction()时,计数器递增,但 Task_sleep()永远不会返回。
另一方面,我使用定时器6运行 TimerFunction(),然后 Task_sleep()返回,但计数器保持为0。
在这两种情况下,我都可以看到 SYSBIOS 同时使用两个计时器(5和6),一个用于 TimerFunction(),另一个用于 ti_SysBIOS_KNL_Clock_dotick__i.
结果表明、计时器6不会生成中断。
然后、我看一下计时器6配置:
定时器在溢出模式中启动(TCLR 寄存器= 0x0000'0003);定时器5在这里具有相同的设置。 这似乎是正确的。
当计数器寄存器 TCRR 保持为0时、我检查了计时器输入时钟:
对于计时器5至8、这些计时器通过 IPU_L3_GICLK 和 TIMERj_GCLK (j=5...8)进行配置。
寄存器值为:
CM_IPU_CLKSTCTRL (地址0x4A00 5540):0x00003F02、看起来正确
CM_IPU_TIMER6_CLKCTRL (地址0x4A00 5560):0x0000'0002、这也是正确的(根据芯片勘误表建议 i874、避免出现"TIMER5/6/7/8中断未传播"错误)
附件您找到了我的项目。
您能确认这种行为吗?
计时器6还可以阻止运行什么?
此致、
Markus
e2e.ti.com/.../C66-on-IDK5718-_2D00_-Timer-6-not-working.zip