|
|
我用的是omapl138开发板。当我运行ad7606_dsp的demo程序的时候,同时在arm端运行watchdog程序,发现一旦打开watchdog设备文件后,dsp端的计时器就停止工作了。dsp端的配置文件是部分内容是这样的6 u2 E0 }9 |4 Z& ]- V
/* configure SysBios to use the lower half of Timer 1 */8 i! X4 Z5 O, q8 u( q& D
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');; n3 m* F) G! N! b; |. g; k2 ]4 L
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
8 q9 {0 A- S' P, _0 y) e2 {Timer.timerSettings[1].master = true;2 S1 q P! J$ F; L# f+ j
Timer.defaultHalf = Timer.Half_LOWER;, |& ^2 E; u' ?4 ~# |
Clock.timerId = 1;
5 }3 J8 o/ m; m- y! VClock.tickPeriod = 5; //5us
' S/ O. t9 V2 H/ `$ P2 h+ marm端的watchdog程序和dsp端的计时器发生冲突了么?他们是共用了一个计时器么?这个cpu上一共几个定时器,怎么使用才能避免冲突呢?$ ^$ v, O% G: [
我将Clock.timerId 分别改成0 、2 、3,结果发现只有改成3的时候才可以,为什么呢?还有,我在使用Clock_create()的时候,我并没有" r1 @+ O3 J" g+ E1 J" h4 [, b" f
指定使用哪个timer,难道是默认的使用Clock.timeId指定的timer吗?这样一来不就只能在DSP中使用同一个timer了?我要是想同时使用其他的timer该怎么办呢?
# r( B. S% M( U6 M谢谢!8 j/ o Q( o! E# z) v5 V% U% n- c
8 \3 u8 \8 R7 {5 ?. w7 j
; O4 @1 i6 l3 {
" v2 c( s( \" E C3 J
* ?* O4 A' \: {6 F {! n, u' @6 N |
|