|
我用的是omapl138开发板。当我运行ad7606_dsp的demo程序的时候,同时在arm端运行watchdog程序,发现一旦打开watchdog设备文件后,dsp端的计时器就停止工作了。dsp端的配置文件是部分内容是这样的
' F B5 ~% ]* P$ G4 Q) G1 X) G/* configure SysBios to use the lower half of Timer 1 */
$ }2 V7 Y7 K+ S1 X2 svar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');9 j! N1 P; L& I( o; ~$ I
var Clock = xdc.useModule('ti.sysbios.knl.Clock');1 ^7 q' r8 r |" \+ b K, m
Timer.timerSettings[1].master = true;# f- ?4 F6 }( P! ]6 @* @
Timer.defaultHalf = Timer.Half_LOWER;
3 j( y. O7 i. z# j2 `Clock.timerId = 1;
# Q2 ?7 J3 K3 K) T/ o& z, L. \Clock.tickPeriod = 5; //5us. c, D; U3 ?6 u) g% P7 o% V
arm端的watchdog程序和dsp端的计时器发生冲突了么?他们是共用了一个计时器么?这个cpu上一共几个定时器,怎么使用才能避免冲突呢?* F6 k9 D' X2 T: a- @- l
我将Clock.timerId 分别改成0 、2 、3,结果发现只有改成3的时候才可以,为什么呢?还有,我在使用Clock_create()的时候,我并没有7 i$ G6 Y% ]9 p* e
指定使用哪个timer,难道是默认的使用Clock.timeId指定的timer吗?这样一来不就只能在DSP中使用同一个timer了?我要是想同时使用其他的timer该怎么办呢?
2 y' Q( l/ f) H. R ^( j6 o谢谢!
0 ^" V( d, W! p) E# j% D `
" x6 A+ l- L! o* ^5 U
1 M% U) T! N+ K, k0 F
5 ~" T; m1 i8 b( J# ^3 b1 p1 l! d* l. z7 g5 [# U Z3 L
|
|