嵌入式开发者社区
标题:
定时器资源分配和使用问题
[打印本页]
作者:
importantlife
时间:
2016-8-26 11:17
标题:
定时器资源分配和使用问题
我用的是omapl138开发板。当我运行ad7606_dsp的demo程序的时候,同时在arm端运行watchdog程序,发现一旦打开watchdog设备文件后,dsp端的计时器就停止工作了。dsp端的配置文件是部分内容是这样的
6 x( x4 \) v$ I3 N v/ F
/* configure SysBios to use the lower half of Timer 1 */
, c1 N+ @3 m3 T3 I7 O; |; K. |
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
0 X" z3 G |' V; q6 C1 ?
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
, ^- s' l. j7 |4 \
Timer.timerSettings[1].master = true;
1 G2 _2 C! _) V: ~/ H- T
Timer.defaultHalf = Timer.Half_LOWER;
# E3 d" E( \2 q* d: }& f+ F
Clock.timerId = 1;
% l0 z+ }9 q; T, f8 s/ z3 w
Clock.tickPeriod = 5; //5us
, x/ p+ o" C( [- W% I
arm端的watchdog程序和dsp端的计时器发生冲突了么?他们是共用了一个计时器么?这个cpu上一共几个定时器,怎么使用才能避免冲突呢?
7 }( L- X; M. z u
我将Clock.timerId 分别改成0 、2 、3,结果发现只有改成3的时候才可以,为什么呢?还有,我在使用Clock_create()的时候,我并没有
7 g7 x1 k" E( n* L( U" {
指定使用哪个timer,难道是默认的使用Clock.timeId指定的timer吗?这样一来不就只能在DSP中使用同一个timer了?我要是想同时使用其他的timer该怎么办呢?
0 }9 C _/ P* j; _
谢谢!
" P; _5 J4 p1 b6 [) _0 t# S5 g4 e
; @# O2 C: U" B( f0 r4 d
3 b" Z; K5 t" i/ g* `2 [, ?
) P, r; o% J- v+ C
7 A7 a) P" L; ~# R
作者:
希望缄默
时间:
2016-8-29 17:16
CPU 支持四个
5 G) {- K- M; Q! ^: B5 P3 ?- g
ARM Linux
8 A# }/ |9 j; x+ T& Y0 R" k
定时器 0 为系统提供时间基准
- j8 b6 j# n! ^. r) N8 L. L) Y) C
定时器 1 看门狗定时器
3 @' A1 t) y$ B7 j
DSP SYS/BIOS
- B- ~8 x! k: X5 d1 T
Clock.timerId 为系统提供时间基准
7 [+ o" b$ u" \" o" ?; b
如果定时器 2 不能用可能是被占用了
: n# m: M! v3 _' G: E: P8 W/ g& h
* Q w8 X2 `, x) H7 d: ?% X
定时器都是 64位的 可以拆成两个 32位使用
欢迎光临 嵌入式开发者社区 (https://www.51ele.net/)
Powered by Discuz! X3.4