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.

dm6467T关于TSK_sleep导致算法调用不能返回。



我用的是bios_5_41_00_06,我在以前的算法包调用函数中添加了TSK_sleep函数,在之前的5.33.03版本上是没有问题的。 是不是cfg文件设置的问题还是什么问题

  • 我也在我的系统中发现同样的问题,我的Linux内核是2.6.32,从TI官网上下载的。

    我查了TI的手册,DM6467T有两个Timer,一个是Timer0一个是Timer1。

    在Linux内核启动阶段,发现只启动了Timer0,Timer1处于unused状态

    在DVSDK(3.10.00.19)的Bios(5.41.00.06)的Config目录下找到了bios_DM6467.tci文件,发现CLK设定里面,TIMERSELECT设的是1。

    因此我想问以下几个问题:

    1.Timer0和Timer1各自的用途都是什么?

    2.在DSP端TSK_sleep不能返回,是不是因为Linux内核阶段没有使能Timer1,而DSP端用的却是Timer1,最后造成了TSK_sleep不能返回?

    3.如果不改BIOS里面的设定,即仍然用Timer1,那么只能在Linux内核里面改动,是否可以这么做?如果可以,又应该如何改动呢?

  • 请先通过ROV确认 systemTick 再增加. 在 KNL 模块中.

  • 如果你想确认timer0和timer1是否都已经配置,请对比其寄存器的设置。

  • ROV是什么?烦请老师解释一下

    现在的情况是,Timer1肯定是处于unused状态,肯定没有使能

    我发现在内核里时钟有两个选项要设定:ClockEvent和ClockSource,且设定的T0_BOT和T0_TOP,

    我想知道ClockEvent和ClockSource都是干什么的?

    我对比了一下MVL(2.6.18)的设定,ClockEvent和ClockSource,设定的是T1_TOP和T0_TOP

    在2.6.32里面,这两个参数是不是只要改成和2.6.18的一致,就OK了?如果不止这些,又该做哪些配置呢?

  • 是否需要在内核开启timer1

  • 我使用PRD_getticks() 这个函数,来获取当前的数值来比较 没有变化是否就证明systemTick 没有增加?

  • 已经解决,很戏剧化的结果, ti的bios里面默认是timer1,但是内核是禁止的timer1,只使能了timer0.,但是ti的bios

    里面的例子是配置的timer0.你说麻烦不,何不直接默认timer0,然后直接在算法包的cfg文件中选择了timer0.搞定,谢谢以上同仁的帮助