|
|
我用的是omapl138开发板。当我运行ad7606_dsp的demo程序的时候,同时在arm端运行watchdog程序,发现一旦打开watchdog设备文件后,dsp端的计时器就停止工作了。dsp端的配置文件是部分内容是这样的
+ v: [2 o q/ n/ ]/* configure SysBios to use the lower half of Timer 1 */$ {5 r. i% m1 y( x
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
& _7 ^" u& _4 b. p8 P3 K6 uvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
. U$ p% w( X/ N4 z# UTimer.timerSettings[1].master = true;: u/ a, i& ^' l1 d; T
Timer.defaultHalf = Timer.Half_LOWER;
7 L c8 [2 E* q' ~/ v0 B/ O4 xClock.timerId = 1;
% T0 x9 R+ C; T) YClock.tickPeriod = 5; //5us5 Z7 s- u! z1 ~* R
arm端的watchdog程序和dsp端的计时器发生冲突了么?他们是共用了一个计时器么?这个cpu上一共几个定时器,怎么使用才能避免冲突呢?3 _% ~; X8 w- @/ r: p f
我将Clock.timerId 分别改成0 、2 、3,结果发现只有改成3的时候才可以,为什么呢?还有,我在使用Clock_create()的时候,我并没有1 ^. P4 D1 B/ K4 D# q; a, y
指定使用哪个timer,难道是默认的使用Clock.timeId指定的timer吗?这样一来不就只能在DSP中使用同一个timer了?我要是想同时使用其他的timer该怎么办呢?, l) _( w7 ^& c4 |9 @/ v
谢谢!
1 p6 |/ O, V; H8 g# e6 R0 d1 }- ^9 Q0 s/ i$ o
+ y3 e8 k# F8 s
' s: V" A2 D$ M% P: C
% m' }2 c7 V3 |" {% e |
|