|
我用的是omapl138开发板。当我运行ad7606_dsp的demo程序的时候,同时在arm端运行watchdog程序,发现一旦打开watchdog设备文件后,dsp端的计时器就停止工作了。dsp端的配置文件是部分内容是这样的
* g, e; b) I; K* I+ T/* configure SysBios to use the lower half of Timer 1 */! D1 Z, ^3 ]* p. ]# U9 \2 ]
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
* E5 H( K/ ]" pvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
- @) G: c/ H, i$ l* M4 `Timer.timerSettings[1].master = true;9 G& k9 G. F4 X# }# {; y, \" i
Timer.defaultHalf = Timer.Half_LOWER;5 U6 e7 { J/ d6 `9 I7 H! r
Clock.timerId = 1;
, S! K2 ~+ |7 k9 VClock.tickPeriod = 5; //5us* X2 T+ e# S; Z8 h% C
arm端的watchdog程序和dsp端的计时器发生冲突了么?他们是共用了一个计时器么?这个cpu上一共几个定时器,怎么使用才能避免冲突呢?/ P5 F2 E+ q: I1 k) h) j$ F4 Z6 T0 J3 [
我将Clock.timerId 分别改成0 、2 、3,结果发现只有改成3的时候才可以,为什么呢?还有,我在使用Clock_create()的时候,我并没有* P0 j: d, f* A5 {2 s0 i
指定使用哪个timer,难道是默认的使用Clock.timeId指定的timer吗?这样一来不就只能在DSP中使用同一个timer了?我要是想同时使用其他的timer该怎么办呢?# x0 N- u) a, v0 ~% o. ~, U
谢谢!; E5 R; K4 o8 e7 n
! Z7 k9 U6 A* T" y# e" t- G6 ?' g: r l" j, }: B. v
4 ]$ {; |2 e5 ^# m/ f# j
+ E- K$ w( |1 P$ I* G& A" e0 S& T |
|