|
|
我用的是omapl138开发板。当我运行ad7606_dsp的demo程序的时候,同时在arm端运行watchdog程序,发现一旦打开watchdog设备文件后,dsp端的计时器就停止工作了。dsp端的配置文件是部分内容是这样的& Q. s& w3 ?1 @" e1 `
/* configure SysBios to use the lower half of Timer 1 */
$ M, v+ W; ^% s7 b4 Zvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
0 [+ F$ f5 s3 S4 c$ nvar Clock = xdc.useModule('ti.sysbios.knl.Clock');/ g) c# j8 W' d
Timer.timerSettings[1].master = true;0 t l& j6 a8 I' l3 l
Timer.defaultHalf = Timer.Half_LOWER;7 n6 C- Q% R0 A q" e/ \( u( V; |
Clock.timerId = 1;& T9 M. d+ z* T# H- c/ m7 G
Clock.tickPeriod = 5; //5us
! H H7 p, `' L; I5 d" |arm端的watchdog程序和dsp端的计时器发生冲突了么?他们是共用了一个计时器么?这个cpu上一共几个定时器,怎么使用才能避免冲突呢?6 v& V4 f" x0 g0 D) s* T; O" I& y0 N
我将Clock.timerId 分别改成0 、2 、3,结果发现只有改成3的时候才可以,为什么呢?还有,我在使用Clock_create()的时候,我并没有
& L0 w t: ]; X E1 k指定使用哪个timer,难道是默认的使用Clock.timeId指定的timer吗?这样一来不就只能在DSP中使用同一个timer了?我要是想同时使用其他的timer该怎么办呢?
6 w D) {! ?& _# v, t3 F大神们! |
|