|
我用的是omapl138开发板。当我运行ad7606_dsp的demo程序的时候,同时在arm端运行watchdog程序,发现一旦打开watchdog设备文件后,dsp端的计时器就停止工作了。dsp端的配置文件是部分内容是这样的
6 d0 C" P* f6 \) G" s. }) Q/* configure SysBios to use the lower half of Timer 1 */
0 L; j# Q6 E0 T/ Z8 \" R7 tvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
' M1 f! p( O; {" {! mvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
5 u- l- `8 @% b! j6 ?; i4 `" |Timer.timerSettings[1].master = true;- h, ~5 i4 G) g; b6 G
Timer.defaultHalf = Timer.Half_LOWER;$ a. \, j4 z8 ?2 S" ]& u
Clock.timerId = 1;
! t9 b6 H1 h( H6 c" [Clock.tickPeriod = 5; //5us: T& s% { u$ O
arm端的watchdog程序和dsp端的计时器发生冲突了么?他们是共用了一个计时器么?这个cpu上一共几个定时器,怎么使用才能避免冲突呢?! H, y4 c4 d; A2 Q/ ^
我将Clock.timerId 分别改成0 、2 、3,结果发现只有改成3的时候才可以,为什么呢?还有,我在使用Clock_create()的时候,我并没有* R7 d- ^$ Z. m9 {, {% R
指定使用哪个timer,难道是默认的使用Clock.timeId指定的timer吗?这样一来不就只能在DSP中使用同一个timer了?我要是想同时使用其他的timer该怎么办呢?
% r! l9 @( o* l% g6 L( Y1 Y& Z; F大神们! |
|