嵌入式开发者社区
标题:
定时器资源分配和使用问题
[打印本页]
作者:
importantlife
时间:
2016-8-26 11:17
标题:
定时器资源分配和使用问题
我用的是omapl138开发板。当我运行ad7606_dsp的demo程序的时候,同时在arm端运行watchdog程序,发现一旦打开watchdog设备文件后,dsp端的计时器就停止工作了。dsp端的配置文件是部分内容是这样的
- z1 Y$ B% ~3 y7 q/ W5 D
/* configure SysBios to use the lower half of Timer 1 */
" S: y1 A3 n& {% t
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
8 @* C* Z1 P% n! Q2 e3 J* D
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
b1 o1 ^9 o& I' J% [! h% J! u4 [
Timer.timerSettings[1].master = true;
" U2 J2 D7 w- }" a1 a! u# J
Timer.defaultHalf = Timer.Half_LOWER;
4 D8 v. T |3 z! B. b0 ]
Clock.timerId = 1;
$ R: H$ ] q9 F0 H
Clock.tickPeriod = 5; //5us
3 a3 d& n0 {% K1 P R, V
arm端的watchdog程序和dsp端的计时器发生冲突了么?他们是共用了一个计时器么?这个cpu上一共几个定时器,怎么使用才能避免冲突呢?
# o" N$ C- W' n- J
我将Clock.timerId 分别改成0 、2 、3,结果发现只有改成3的时候才可以,为什么呢?还有,我在使用Clock_create()的时候,我并没有
) ?' e! \" Z' `' J$ ?, F' p; c
指定使用哪个timer,难道是默认的使用Clock.timeId指定的timer吗?这样一来不就只能在DSP中使用同一个timer了?我要是想同时使用其他的timer该怎么办呢?
% n, x& }' i" `. ^' v6 o+ ]8 b
谢谢!
- R8 ^9 R3 y9 k
" ^8 k+ n9 x/ ^4 i
$ l, Y4 D7 n5 s- h
% j$ h( }1 g" j' Y! Y
' G- F- R" C) P" V& V( h( p
作者:
希望缄默
时间:
2016-8-29 17:16
CPU 支持四个
9 w1 W9 w: J7 G0 a! c
ARM Linux
+ h. N2 I4 ^: _5 i
定时器 0 为系统提供时间基准
n- w+ B8 Q$ N2 I# }
定时器 1 看门狗定时器
" b+ b- H- f! N$ U! m2 P
DSP SYS/BIOS
3 P3 C7 O- ~( i9 d( H' B7 d
Clock.timerId 为系统提供时间基准
9 [0 Q, X+ }: }
如果定时器 2 不能用可能是被占用了
+ Q. \) q( k; U ~
# l/ S" R9 h, f
定时器都是 64位的 可以拆成两个 32位使用
欢迎光临 嵌入式开发者社区 (https://www.51ele.net/)
Powered by Discuz! X3.4