嵌入式开发者社区

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

作者: importantlife    时间: 2016-8-29 10:47
标题: 定时器问题
我用的是omapl138开发板。当我运行ad7606_dsp的demo程序的时候,同时在arm端运行watchdog程序,发现一旦打开watchdog设备文件后,dsp端的计时器就停止工作了。dsp端的配置文件是部分内容是这样的. R! C3 x4 n( h9 |" w% u' [2 p
/* configure SysBios to use the lower half of Timer 1 */
4 Q/ m4 Y. x5 K& \, Mvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');/ i# U9 R6 O: f2 U( Q0 U+ ?
var Clock = xdc.useModule('ti.sysbios.knl.Clock');! H/ n! J6 E. s' v5 U6 q& i/ r
Timer.timerSettings[1].master = true;
8 H7 F! b, t9 F" }# M) k: c. J5 pTimer.defaultHalf = Timer.Half_LOWER;
5 w2 D6 f6 j$ e$ B) B6 NClock.timerId = 1;1 ^( i" ?) t+ @1 M& o8 V7 I& d
Clock.tickPeriod = 5; //5us
9 \+ C1 _# F6 Q% E$ warm端的watchdog程序和dsp端的计时器发生冲突了么?他们是共用了一个计时器么?这个cpu上一共几个定时器,怎么使用才能避免冲突呢?
5 c; t; R. \1 [3 Z0 ^我将Clock.timerId 分别改成0 、2 、3,结果发现只有改成3的时候才可以,为什么呢?还有,我在使用Clock_create()的时候,我并没有
7 a0 m  O3 X7 Y# E. ~指定使用哪个timer,难道是默认的使用Clock.timeId指定的timer吗?这样一来不就只能在DSP中使用同一个timer了?我要是想同时使用其他的timer该怎么办呢?
- l/ l- C, J* L9 X大神们!
作者: 希望缄默    时间: 2016-8-29 17:16
CPU 支持四个
! _& q# H/ o% z' o2 K) eARM Linux
1 J% I; R6 c6 V' t8 ^定时器 0 为系统提供时间基准
+ M4 X0 ^3 ~2 T. Q, C定时器 1 看门狗定时器
7 y+ l8 P* Z1 h2 gDSP SYS/BIOS
* j' F% L9 c9 p2 V7 t. UClock.timerId 为系统提供时间基准9 q) o% v. h, _2 w! A8 A; U9 Z
如果定时器 2 不能用可能是被占用了6 L3 ~( v+ K! F' `

2 S1 U3 L  V% V1 ^9 T, f+ x4 I; ^3 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% b8 R# y0 d* l! i  Q1 {
是不是timer2为dsp系统提供时间基准?因为一旦使用timer2,dsp的sys/bios系统就启动不了了 ...
; D; J; }4 F# M! a4 x& t+ P" k
Clock.timerId = 1; 这个配的就是系统使用的




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