嵌入式开发者社区

标题: 定时器问题 [打印本页]

作者: importantlife    时间: 2016-8-29 10:47
标题: 定时器问题
我用的是omapl138开发板。当我运行ad7606_dsp的demo程序的时候,同时在arm端运行watchdog程序,发现一旦打开watchdog设备文件后,dsp端的计时器就停止工作了。dsp端的配置文件是部分内容是这样的; T1 e. S4 y3 ~/ }. i
/* configure SysBios to use the lower half of Timer 1 */" M; j" \, z3 j% O% A, r
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
/ Y& L% K; J+ r- D9 v+ L, tvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
+ l; R8 [4 t9 L, r* V0 {4 LTimer.timerSettings[1].master = true;
  O4 R7 ^! ~( G+ KTimer.defaultHalf = Timer.Half_LOWER;
6 H) j' d* U) c' S6 d2 `9 L) N; WClock.timerId = 1;# q7 o4 C) K# J# ?
Clock.tickPeriod = 5; //5us
2 q0 G( M- A' g1 g8 Narm端的watchdog程序和dsp端的计时器发生冲突了么?他们是共用了一个计时器么?这个cpu上一共几个定时器,怎么使用才能避免冲突呢?$ j& c1 C0 F# I8 b$ g
我将Clock.timerId 分别改成0 、2 、3,结果发现只有改成3的时候才可以,为什么呢?还有,我在使用Clock_create()的时候,我并没有
6 V' ~: ?* }6 |5 q# H指定使用哪个timer,难道是默认的使用Clock.timeId指定的timer吗?这样一来不就只能在DSP中使用同一个timer了?我要是想同时使用其他的timer该怎么办呢?& K! Z9 b; D3 p: m
大神们!
作者: 希望缄默    时间: 2016-8-29 17:16
CPU 支持四个, S! M/ N2 H% T5 F: C
ARM Linux
$ {" ~% a7 o2 |. r( E定时器 0 为系统提供时间基准2 b8 z7 M) [( d: [( {- e2 F: L
定时器 1 看门狗定时器. ]5 d$ K8 T' s& ~& O0 P% H  ?6 k! C2 e+ }
DSP SYS/BIOS
: D# ?3 G" z; ~% v: D4 g0 r; \Clock.timerId 为系统提供时间基准
5 c& l! ?& X9 \5 R如果定时器 2 不能用可能是被占用了
' M8 l7 x0 o% a' ?/ h0 y
* Z1 K! w$ J  P2 T- {定时器都是 64位的 可以拆成两个 32位使用
作者: importantlife    时间: 2016-8-30 09:13
是不是timer2为dsp系统提供时间基准?因为一旦使用timer2,dsp的sys/bios系统就启动不了了
作者: 希望缄默    时间: 2016-8-30 13:43
importantlife 发表于 2016-8-30 09:13: D0 w8 D2 t- K$ y. a
是不是timer2为dsp系统提供时间基准?因为一旦使用timer2,dsp的sys/bios系统就启动不了了 ...
) Z0 S" p/ C. K
Clock.timerId = 1; 这个配的就是系统使用的




欢迎光临 嵌入式开发者社区 (https://www.51ele.net/) Powered by Discuz! X3.4