|
我用的是omapl138开发板。当我运行ad7606_dsp的demo程序的时候,同时在arm端运行watchdog程序,发现一旦打开watchdog设备文件后,dsp端的计时器就停止工作了。dsp端的配置文件是部分内容是这样的
$ w2 p- x( A5 H( \; w7 h6 {/* configure SysBios to use the lower half of Timer 1 */: ?1 u$ S' [$ R9 N$ M% _
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
! p- ?$ S; R, I# Yvar Clock = xdc.useModule('ti.sysbios.knl.Clock');9 s, Y9 F- A. P+ K& J2 @' L, Y
Timer.timerSettings[1].master = true;& Z j3 X: b6 Q9 U: |6 I
Timer.defaultHalf = Timer.Half_LOWER;
- |- ]4 E% O, D. w7 t" Y$ ~/ @Clock.timerId = 1;
& ?* F+ k) \( j5 x( }Clock.tickPeriod = 5; //5us
; }7 b, G( d4 I; `arm端的watchdog程序和dsp端的计时器发生冲突了么?他们是共用了一个计时器么?这个cpu上一共几个定时器,怎么使用才能避免冲突呢?" r" S6 J9 J4 s0 h# [. D; _
我将Clock.timerId 分别改成0 、2 、3,结果发现只有改成3的时候才可以,为什么呢?还有,我在使用Clock_create()的时候,我并没有
8 y' s9 `8 C, u3 }) I, f. K% |指定使用哪个timer,难道是默认的使用Clock.timeId指定的timer吗?这样一来不就只能在DSP中使用同一个timer了?我要是想同时使用其他的timer该怎么办呢?
6 O0 @' _, `( u+ k3 w- D: E) A谢谢!
- Y( O* V, j* G/ v! x! i) d! o. W5 x9 K, Y/ q
, b7 `( g4 m, D7 P P, a
1 A; ^9 g% q+ Q
" H% T( T( o, a# z |
|