|
|
我用的是omapl138开发板。当我运行ad7606_dsp的demo程序的时候,同时在arm端运行watchdog程序,发现一旦打开watchdog设备文件后,dsp端的计时器就停止工作了。dsp端的配置文件是部分内容是这样的
. {$ ^' v# J) {/ v6 v/* configure SysBios to use the lower half of Timer 1 */! Q9 E" k. w4 z, s8 v: |
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
* ?3 M9 ]+ ]+ D- n& A# \9 r( }( _# mvar Clock = xdc.useModule('ti.sysbios.knl.Clock');- I- H* }' b4 i
Timer.timerSettings[1].master = true;
$ r$ B) s: M* M+ p% NTimer.defaultHalf = Timer.Half_LOWER;
4 r/ `. C" _; _! C- wClock.timerId = 1;0 }/ ]( B7 l2 z6 V% R9 ]( y# q0 y
Clock.tickPeriod = 5; //5us6 S3 X: H8 \$ p. ~' C! O
arm端的watchdog程序和dsp端的计时器发生冲突了么?他们是共用了一个计时器么?这个cpu上一共几个定时器,怎么使用才能避免冲突呢?
$ M& `* {) a% O# p0 H我将Clock.timerId 分别改成0 、2 、3,结果发现只有改成3的时候才可以,为什么呢?还有,我在使用Clock_create()的时候,我并没有7 a4 ]7 h7 }. Q: L% U% P; N
指定使用哪个timer,难道是默认的使用Clock.timeId指定的timer吗?这样一来不就只能在DSP中使用同一个timer了?我要是想同时使用其他的timer该怎么办呢?5 w9 U" v7 C, ^9 ~
谢谢!
/ R3 Q6 d: V7 O- q: h9 w* r; S+ `" `* D. x
6 \1 S+ B# b/ H# \1 `, P% \7 E: W% `5 i5 M* H9 f; i A9 ?9 k
* D0 f8 q" i I+ R* q7 a- s |
|