嵌入式开发者社区

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

作者: importantlife    时间: 2016-8-29 10:47
标题: 定时器问题
我用的是omapl138开发板。当我运行ad7606_dsp的demo程序的时候,同时在arm端运行watchdog程序,发现一旦打开watchdog设备文件后,dsp端的计时器就停止工作了。dsp端的配置文件是部分内容是这样的* j# K; y, |% n( ]
/* configure SysBios to use the lower half of Timer 1 */( M! e6 k7 U- E( U  T; x
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
9 E0 I1 o: P6 Z# w2 x! m3 R2 mvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
0 w( f  ?# Q8 n' G) ITimer.timerSettings[1].master = true;
8 u: Y' U7 b2 m+ JTimer.defaultHalf = Timer.Half_LOWER;  N6 c8 |6 j4 U/ Y
Clock.timerId = 1;' A# M7 F" t1 H1 Z& ]1 }
Clock.tickPeriod = 5; //5us3 ]7 s& t$ G3 y5 `$ Y
arm端的watchdog程序和dsp端的计时器发生冲突了么?他们是共用了一个计时器么?这个cpu上一共几个定时器,怎么使用才能避免冲突呢?
% E. E. f, z) j1 L$ u8 ?1 W我将Clock.timerId 分别改成0 、2 、3,结果发现只有改成3的时候才可以,为什么呢?还有,我在使用Clock_create()的时候,我并没有# m" g5 F5 j  w, \
指定使用哪个timer,难道是默认的使用Clock.timeId指定的timer吗?这样一来不就只能在DSP中使用同一个timer了?我要是想同时使用其他的timer该怎么办呢?% f; C2 j6 _1 E. K
大神们!
作者: 希望缄默    时间: 2016-8-29 17:16
CPU 支持四个
2 m" i# \5 k0 ]. N6 x/ q4 K9 vARM Linux
4 u, {# u) z/ Q8 N定时器 0 为系统提供时间基准
# _# ^/ Y; N* C' {! |/ t, y$ }, @$ R定时器 1 看门狗定时器
9 t& ^0 V0 O7 {( A0 }( ADSP SYS/BIOS
; |4 ]1 i1 M3 W/ W/ C1 T* k; TClock.timerId 为系统提供时间基准
/ @1 E; v+ s  T* e6 s$ h如果定时器 2 不能用可能是被占用了  Y  B/ _% u1 P3 C  U6 Z6 n8 h
/ n6 J. P4 G- q% G; a; M; S. q
定时器都是 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( h( f$ b+ S! i# b" x* I
是不是timer2为dsp系统提供时间基准?因为一旦使用timer2,dsp的sys/bios系统就启动不了了 ...
/ ]; f) A- R2 M, w1 |: C4 w
Clock.timerId = 1; 这个配的就是系统使用的




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