|
我用的是omapl138开发板。当我运行ad7606_dsp的demo程序的时候,同时在arm端运行watchdog程序,发现一旦打开watchdog设备文件后,dsp端的计时器就停止工作了。dsp端的配置文件是部分内容是这样的
7 W9 X9 H# a( l) Y3 Q# r! h) u/* configure SysBios to use the lower half of Timer 1 */
" J0 o8 n; S" B$ N1 B1 bvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
. ]# _: f1 C: y- ^, evar Clock = xdc.useModule('ti.sysbios.knl.Clock');
% |! h1 C, l5 YTimer.timerSettings[1].master = true;
: {9 k2 C# y, ]. ~8 i+ gTimer.defaultHalf = Timer.Half_LOWER;
- E& Z3 m# v3 X2 D& LClock.timerId = 1;
. b0 n# j; m H( A0 qClock.tickPeriod = 5; //5us
0 ?: W& r9 @, u$ b- k) Uarm端的watchdog程序和dsp端的计时器发生冲突了么?他们是共用了一个计时器么?这个cpu上一共几个定时器,怎么使用才能避免冲突呢?
* v$ r5 Y% E. h. |3 Z我将Clock.timerId 分别改成0 、2 、3,结果发现只有改成3的时候才可以,为什么呢?还有,我在使用Clock_create()的时候,我并没有
p1 ^2 m9 m D6 h4 ]" y( H指定使用哪个timer,难道是默认的使用Clock.timeId指定的timer吗?这样一来不就只能在DSP中使用同一个timer了?我要是想同时使用其他的timer该怎么办呢?
1 Z9 g& A- P. c! k8 b: U谢谢!
1 j7 O. [+ M9 x+ Z M2 e( q
& R+ y8 i* u( n& K9 G% ?: X0 ]
8 v) M; a* o1 l: [7 x& q; t0 s/ F' T$ U6 E% x5 A9 T
8 r; T- Y! t) k, P |
|