|
我用的是omapl138开发板。当我运行ad7606_dsp的demo程序的时候,同时在arm端运行watchdog程序,发现一旦打开watchdog设备文件后,dsp端的计时器就停止工作了。dsp端的配置文件是部分内容是这样的( \8 {. w9 X* s' L4 @5 {7 `% d
/* configure SysBios to use the lower half of Timer 1 */" I; F. A- f* K( N- T. K
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
D; j2 }) z1 l5 Z5 |& p' Tvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
6 ?, ~- `0 ~3 C. }/ C+ D* PTimer.timerSettings[1].master = true;
N# J4 X+ v. z+ }9 K( C5 |, ~Timer.defaultHalf = Timer.Half_LOWER;
% k+ E1 Y- m5 X- yClock.timerId = 1;
1 P7 T# y/ W8 N/ V, X: T9 nClock.tickPeriod = 5; //5us8 s+ `8 x0 [, e3 W* m4 P
arm端的watchdog程序和dsp端的计时器发生冲突了么?他们是共用了一个计时器么?这个cpu上一共几个定时器,怎么使用才能避免冲突呢?
0 G3 c, B. I- D2 Q3 Q7 w我将Clock.timerId 分别改成0 、2 、3,结果发现只有改成3的时候才可以,为什么呢?还有,我在使用Clock_create()的时候,我并没有3 k% w( e- b) O" b: k, _
指定使用哪个timer,难道是默认的使用Clock.timeId指定的timer吗?这样一来不就只能在DSP中使用同一个timer了?我要是想同时使用其他的timer该怎么办呢?
$ I8 A0 Z( v2 u4 P e/ _ E谢谢!
5 S) E& j; Y- @! Z2 k5 o0 i) q0 y9 B8 @; j; t
. [: m3 w9 P$ G' ]! y0 M
* r- y" _8 A7 I. s
! t, E+ j% m2 [& Y5 g! l |
|