|
|
我用的是omapl138开发板。当我运行ad7606_dsp的demo程序的时候,同时在arm端运行watchdog程序,发现一旦打开watchdog设备文件后,dsp端的计时器就停止工作了。dsp端的配置文件是部分内容是这样的
8 c, a: A6 X' W" R/* configure SysBios to use the lower half of Timer 1 */
1 u$ J3 Z I, F8 Jvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
( ?8 b, ~8 w& Q* C- j- s) Z6 Pvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
; n. P! ?4 e, ]# B, C$ z: m6 R' S" ?Timer.timerSettings[1].master = true;6 z0 z8 o& p$ X; Z* z
Timer.defaultHalf = Timer.Half_LOWER;
, k) {% \6 f( yClock.timerId = 1;* Z' u( L% V$ J
Clock.tickPeriod = 5; //5us- ~1 `7 \! w3 G; L
arm端的watchdog程序和dsp端的计时器发生冲突了么?他们是共用了一个计时器么?这个cpu上一共几个定时器,怎么使用才能避免冲突呢?
) h, b, S+ `* `我将Clock.timerId 分别改成0 、2 、3,结果发现只有改成3的时候才可以,为什么呢?还有,我在使用Clock_create()的时候,我并没有
( E9 b. |9 h6 A9 M6 }' k$ h指定使用哪个timer,难道是默认的使用Clock.timeId指定的timer吗?这样一来不就只能在DSP中使用同一个timer了?我要是想同时使用其他的timer该怎么办呢?
6 g% V0 M1 I! |谢谢!
% ?) T! ^0 t( J* T# i2 k: h) o+ ~& V7 U/ j7 B0 j* s' B9 ?9 F! ~
8 E6 Z8 k% y- I* B; `2 F- C6 }7 h+ B
4 u4 U) \ e1 {( b( w: ~; g |
|