|
|
我用的是omapl138开发板。当我运行ad7606_dsp的demo程序的时候,同时在arm端运行watchdog程序,发现一旦打开watchdog设备文件后,dsp端的计时器就停止工作了。dsp端的配置文件是部分内容是这样的8 |5 }6 P$ G4 I2 |2 o6 C5 o4 c$ e
/* configure SysBios to use the lower half of Timer 1 */0 r! ]/ ~5 x. B
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');* p/ L) b2 w) z) h1 x/ M
var Clock = xdc.useModule('ti.sysbios.knl.Clock'); ~6 h) O+ U5 h) c
Timer.timerSettings[1].master = true;+ Q1 U$ {% d" R) R) P4 l
Timer.defaultHalf = Timer.Half_LOWER;
+ x# o" c# g9 Y: a1 LClock.timerId = 1;
) S& b7 B# L4 r. F& [8 y! RClock.tickPeriod = 5; //5us4 R! @$ s6 w e2 L% B; [, T1 A. ?
arm端的watchdog程序和dsp端的计时器发生冲突了么?他们是共用了一个计时器么?这个cpu上一共几个定时器,怎么使用才能避免冲突呢?5 l1 Y# M F6 C* ~8 Z
我将Clock.timerId 分别改成0 、2 、3,结果发现只有改成3的时候才可以,为什么呢?还有,我在使用Clock_create()的时候,我并没有 a7 z( o, b" f$ `- L8 R; [
指定使用哪个timer,难道是默认的使用Clock.timeId指定的timer吗?这样一来不就只能在DSP中使用同一个timer了?我要是想同时使用其他的timer该怎么办呢?
, o1 W# c3 O% o; l. C$ i N1 I谢谢!
( a+ k! v/ i3 Z+ a0 M4 V
7 ^3 T$ \' W2 O# ?3 c9 u7 i+ Y8 I' @* }5 Q6 Y2 y
! q% R2 E% C. A$ y/ c! W. d
' U6 S/ j& z' f |
|