嵌入式开发者社区

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

作者: importantlife    时间: 2016-8-29 10:47
标题: 定时器问题
我用的是omapl138开发板。当我运行ad7606_dsp的demo程序的时候,同时在arm端运行watchdog程序,发现一旦打开watchdog设备文件后,dsp端的计时器就停止工作了。dsp端的配置文件是部分内容是这样的4 X# A6 M% _' q- N
/* configure SysBios to use the lower half of Timer 1 *// R+ p* w: b0 A2 i* Q
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');# S5 J! c: H# I
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
* n5 u" V' ~  W4 E- kTimer.timerSettings[1].master = true;0 l/ X' {* L; y
Timer.defaultHalf = Timer.Half_LOWER;
5 T2 r  V7 ^- H: qClock.timerId = 1;
' O7 g! m; D1 T$ rClock.tickPeriod = 5; //5us$ ]9 R3 j% @1 K
arm端的watchdog程序和dsp端的计时器发生冲突了么?他们是共用了一个计时器么?这个cpu上一共几个定时器,怎么使用才能避免冲突呢?; k( x5 j" z* F, V2 q0 D: y
我将Clock.timerId 分别改成0 、2 、3,结果发现只有改成3的时候才可以,为什么呢?还有,我在使用Clock_create()的时候,我并没有
+ }4 ?, w1 E/ j6 o/ f0 G$ A7 b指定使用哪个timer,难道是默认的使用Clock.timeId指定的timer吗?这样一来不就只能在DSP中使用同一个timer了?我要是想同时使用其他的timer该怎么办呢?
" o& b8 V& g, p) `1 U+ h5 I大神们!
作者: 希望缄默    时间: 2016-8-29 17:16
CPU 支持四个% x3 Q$ k( V' z- Z8 N
ARM Linux3 _2 }2 ]" G& d: ~
定时器 0 为系统提供时间基准
- o, `& Z3 T2 t7 p3 ~定时器 1 看门狗定时器9 n' Q  q9 N& V4 d1 P* F1 A$ Z" o6 n
DSP SYS/BIOS. Y% n- @% s7 l
Clock.timerId 为系统提供时间基准" l& t4 h+ e( G- F" q' w+ C
如果定时器 2 不能用可能是被占用了# }( [" V4 H4 {2 N5 n5 ~
( l. N& t, {# 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:136 n$ z3 I/ G6 l
是不是timer2为dsp系统提供时间基准?因为一旦使用timer2,dsp的sys/bios系统就启动不了了 ...

6 Y/ p1 R$ Y0 K8 r( a1 M* OClock.timerId = 1; 这个配的就是系统使用的




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