嵌入式开发者社区

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

作者: importantlife    时间: 2016-8-29 10:47
标题: 定时器问题
我用的是omapl138开发板。当我运行ad7606_dsp的demo程序的时候,同时在arm端运行watchdog程序,发现一旦打开watchdog设备文件后,dsp端的计时器就停止工作了。dsp端的配置文件是部分内容是这样的
& k) v7 y6 z7 B. G/* configure SysBios to use the lower half of Timer 1 */( Q' M7 Z& }. ^9 B' X( [
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
" t' F1 ~3 J# x% @- {var Clock = xdc.useModule('ti.sysbios.knl.Clock');/ u4 L' y2 r$ u
Timer.timerSettings[1].master = true;* ~9 i! Z3 d/ K5 C/ \
Timer.defaultHalf = Timer.Half_LOWER;' C# r) `2 \4 [6 E: U( k- N
Clock.timerId = 1;
! f0 C& ?0 C' W- R: D! ?$ I0 LClock.tickPeriod = 5; //5us: ~9 K0 I7 R5 S4 P5 M$ q% h+ }
arm端的watchdog程序和dsp端的计时器发生冲突了么?他们是共用了一个计时器么?这个cpu上一共几个定时器,怎么使用才能避免冲突呢?
; B1 f3 I" S1 ?/ G我将Clock.timerId 分别改成0 、2 、3,结果发现只有改成3的时候才可以,为什么呢?还有,我在使用Clock_create()的时候,我并没有
, U; n( h& q1 Y4 g+ m指定使用哪个timer,难道是默认的使用Clock.timeId指定的timer吗?这样一来不就只能在DSP中使用同一个timer了?我要是想同时使用其他的timer该怎么办呢?
. W/ ^! Q) ?7 W( U( O大神们!
作者: 希望缄默    时间: 2016-8-29 17:16
CPU 支持四个( s7 X1 ]6 {4 n, J. @
ARM Linux
  k4 S8 k! E; [/ _0 s定时器 0 为系统提供时间基准
# ]" Z; r0 F$ ?$ Z定时器 1 看门狗定时器
% G8 y# f, ~: s$ U/ W, ~DSP SYS/BIOS
7 }; Z5 j0 G! d* M- O) lClock.timerId 为系统提供时间基准
+ O+ G2 M+ ?( |0 y如果定时器 2 不能用可能是被占用了
; F1 b9 A$ r) ?" ^' C
9 G' c) P  W6 y7 I0 A5 Z8 j9 W$ P0 X定时器都是 64位的 可以拆成两个 32位使用
作者: importantlife    时间: 2016-8-30 09:13
是不是timer2为dsp系统提供时间基准?因为一旦使用timer2,dsp的sys/bios系统就启动不了了
作者: 希望缄默    时间: 2016-8-30 13:43
importantlife 发表于 2016-8-30 09:130 P0 s" C4 C( }' X$ t
是不是timer2为dsp系统提供时间基准?因为一旦使用timer2,dsp的sys/bios系统就启动不了了 ...
5 t% F) k: |+ ?/ ]5 C) c7 f
Clock.timerId = 1; 这个配的就是系统使用的




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