|
|
我用的是omapl138开发板。当我运行ad7606_dsp的demo程序的时候,同时在arm端运行watchdog程序,发现一旦打开watchdog设备文件后,dsp端的计时器就停止工作了。dsp端的配置文件是部分内容是这样的6 A9 }5 x! \' {- K- m
/* configure SysBios to use the lower half of Timer 1 */
# N+ H6 t7 \1 b3 E: Z2 N, cvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
8 u5 I! q8 ^! ?$ C nvar Clock = xdc.useModule('ti.sysbios.knl.Clock');/ l- i, W* X, p% q8 x' O& H2 L/ Y
Timer.timerSettings[1].master = true;
2 K8 W, ^" @3 |5 l9 d# u2 o' YTimer.defaultHalf = Timer.Half_LOWER;
. W/ s& l- z4 i- d( z- KClock.timerId = 1;% d; D- g3 r) H: p" \5 Z5 ~9 z
Clock.tickPeriod = 5; //5us
3 W' n! K* v: Q N/ S Jarm端的watchdog程序和dsp端的计时器发生冲突了么?他们是共用了一个计时器么?这个cpu上一共几个定时器,怎么使用才能避免冲突呢?7 N$ z( X# b g B- K3 g3 O1 O
我将Clock.timerId 分别改成0 、2 、3,结果发现只有改成3的时候才可以,为什么呢?还有,我在使用Clock_create()的时候,我并没有( r: O5 Q# l. y) H& r* s8 R: e3 s8 }
指定使用哪个timer,难道是默认的使用Clock.timeId指定的timer吗?这样一来不就只能在DSP中使用同一个timer了?我要是想同时使用其他的timer该怎么办呢?
5 U5 K/ }0 _" S/ s: G% b大神们! |
|