|
我用的是omapl138开发板。当我运行ad7606_dsp的demo程序的时候,同时在arm端运行watchdog程序,发现一旦打开watchdog设备文件后,dsp端的计时器就停止工作了。dsp端的配置文件是部分内容是这样的: t7 u* l1 F# d2 i
/* configure SysBios to use the lower half of Timer 1 */* T# ]5 Z% s7 u) Q
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
6 f/ Y- [( Q/ p- o* U# O* vvar Clock = xdc.useModule('ti.sysbios.knl.Clock');% V2 U b9 |7 b# C# G! T% i3 z D: t
Timer.timerSettings[1].master = true;
$ h) x# l2 _' O, DTimer.defaultHalf = Timer.Half_LOWER;/ @, f- X, z- ^0 Y7 b) _
Clock.timerId = 1;
6 a0 G# W; [+ u: e6 g) j1 @2 {1 \+ [Clock.tickPeriod = 5; //5us5 D! E5 T6 a7 w! R* K
arm端的watchdog程序和dsp端的计时器发生冲突了么?他们是共用了一个计时器么?这个cpu上一共几个定时器,怎么使用才能避免冲突呢?: P$ x J6 P7 g
我将Clock.timerId 分别改成0 、2 、3,结果发现只有改成3的时候才可以,为什么呢?还有,我在使用Clock_create()的时候,我并没有. b3 u: N5 ~4 c5 F* { p
指定使用哪个timer,难道是默认的使用Clock.timeId指定的timer吗?这样一来不就只能在DSP中使用同一个timer了?我要是想同时使用其他的timer该怎么办呢?+ e) e4 ?# | z! Z' w( Y1 X
大神们! |
|