嵌入式开发者社区

标题: 定时器资源分配和使用问题 [打印本页]

作者: importantlife    时间: 2016-8-26 11:17
标题: 定时器资源分配和使用问题
我用的是omapl138开发板。当我运行ad7606_dsp的demo程序的时候,同时在arm端运行watchdog程序,发现一旦打开watchdog设备文件后,dsp端的计时器就停止工作了。dsp端的配置文件是部分内容是这样的
6 V6 _. ~8 o, }4 f6 ]/* configure SysBios to use the lower half of Timer 1 */+ P5 S( R! _( B: f. o* A+ h
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
+ H  m- P( n: Qvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
( L4 W$ b9 Q1 FTimer.timerSettings[1].master = true;
% ?) ]: m  [# h6 j7 d8 `( fTimer.defaultHalf = Timer.Half_LOWER;
# _4 o9 C) h6 T: Z% `8 DClock.timerId = 1;& L; r: }7 ^+ V$ U  b: N
Clock.tickPeriod = 5; //5us
7 p$ p2 Y4 h" U- f4 i: Rarm端的watchdog程序和dsp端的计时器发生冲突了么?他们是共用了一个计时器么?这个cpu上一共几个定时器,怎么使用才能避免冲突呢?
, p# t' l* ~; E我将Clock.timerId 分别改成0 、2 、3,结果发现只有改成3的时候才可以,为什么呢?还有,我在使用Clock_create()的时候,我并没有( |1 v+ b1 }! M
指定使用哪个timer,难道是默认的使用Clock.timeId指定的timer吗?这样一来不就只能在DSP中使用同一个timer了?我要是想同时使用其他的timer该怎么办呢?
7 O5 i& |6 X; M谢谢!
, L: ^' i) I( c: J0 \# X( a3 ?: ]( x# I6 X

  P  R8 t% N3 e- ~
* G" v$ D  z3 g- u: @$ L; `

9 }$ R7 T) T$ b3 G6 {  I5 j( c3 S
作者: 希望缄默    时间: 2016-8-29 17:16
CPU 支持四个
' @- ]6 i. F) Y) q0 q: @1 c1 XARM Linux! c; ?7 {0 t& O& e# ~8 n
定时器 0 为系统提供时间基准
1 C8 C* }- O6 d! a  F定时器 1 看门狗定时器, r, V3 x3 ?: ~& V
DSP SYS/BIOS
4 J3 |' Q8 n# z# }! e% YClock.timerId 为系统提供时间基准
( F. f3 O' v# O+ M: }! M如果定时器 2 不能用可能是被占用了
, t( b$ }2 q; k: F5 M- k1 c. O# w2 {, g/ J
定时器都是 64位的 可以拆成两个 32位使用




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