|
|
我用的是omapl138开发板。当我运行ad7606_dsp的demo程序的时候,同时在arm端运行watchdog程序,发现一旦打开watchdog设备文件后,dsp端的计时器就停止工作了。dsp端的配置文件是部分内容是这样的
1 O/ h; p3 A% p4 j2 L6 P/* configure SysBios to use the lower half of Timer 1 */9 Y! u" H0 }% W. N: ~
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
7 h1 _# r9 D6 I) Hvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
' M0 C" T0 A& X# d/ hTimer.timerSettings[1].master = true;
& d/ t' z3 K) U( m* c! wTimer.defaultHalf = Timer.Half_LOWER;
8 w4 B$ V, K7 T2 f" A: nClock.timerId = 1;
6 ~) s# p& @3 R C8 QClock.tickPeriod = 5; //5us0 k1 E' O* ]# i/ W. E5 o, v @. R
arm端的watchdog程序和dsp端的计时器发生冲突了么?他们是共用了一个计时器么?这个cpu上一共几个定时器,怎么使用才能避免冲突呢? j" |6 a9 J) [$ {
我将Clock.timerId 分别改成0 、2 、3,结果发现只有改成3的时候才可以,为什么呢?还有,我在使用Clock_create()的时候,我并没有
4 [9 i# H5 S: j5 x1 ]7 X+ N* ~" D指定使用哪个timer,难道是默认的使用Clock.timeId指定的timer吗?这样一来不就只能在DSP中使用同一个timer了?我要是想同时使用其他的timer该怎么办呢?* f2 A6 r2 R3 c& o5 e
谢谢!
! N$ x% i5 ?, x. z& K5 ?, M* X7 [$ A% `' F$ k8 s
; N( u6 `6 n! y% d" Y+ ^* T) b3 R
: @9 \( d- Q9 B8 k, h1 b2 o% q
. h" O2 U- H" d: W, J7 x |
|