|
|
我用的是omapl138开发板。当我运行ad7606_dsp的demo程序的时候,同时在arm端运行watchdog程序,发现一旦打开watchdog设备文件后,dsp端的计时器就停止工作了。dsp端的配置文件是部分内容是这样的' h8 z' r' n. a. I
/* configure SysBios to use the lower half of Timer 1 */7 N/ T4 N* Q! o3 J: L, {6 ]
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
/ F6 O" ?3 a. Q7 _+ jvar Clock = xdc.useModule('ti.sysbios.knl.Clock');( k6 Z J2 R1 q Q0 P9 P% p; Q8 ?
Timer.timerSettings[1].master = true;
3 [2 } c' J2 ~' j8 P6 oTimer.defaultHalf = Timer.Half_LOWER;. U+ s% x/ Q; s9 z' V' U) y
Clock.timerId = 1;
; w6 }3 q; [; t' V( v/ U: DClock.tickPeriod = 5; //5us! T' e' ]; U) y3 u; n) f, C3 X
arm端的watchdog程序和dsp端的计时器发生冲突了么?他们是共用了一个计时器么?这个cpu上一共几个定时器,怎么使用才能避免冲突呢?9 `4 `% l B; z) q2 m
我将Clock.timerId 分别改成0 、2 、3,结果发现只有改成3的时候才可以,为什么呢?还有,我在使用Clock_create()的时候,我并没有
9 _* e9 f: j5 I2 m9 Z; n7 W) z指定使用哪个timer,难道是默认的使用Clock.timeId指定的timer吗?这样一来不就只能在DSP中使用同一个timer了?我要是想同时使用其他的timer该怎么办呢?
* h% [; {2 Q2 ~谢谢!1 D. |6 ^0 `# P1 A; `" R1 z8 ~+ C
. n: t1 D8 ~; @, ]
4 K9 v8 f i: M5 F \& O7 J$ r( ]+ g) D Y- s
, L* j/ t$ h$ }) d! ?) e
|
|