嵌入式开发者社区
标题:
定时器资源分配和使用问题
[打印本页]
作者:
importantlife
时间:
2016-8-26 11:17
标题:
定时器资源分配和使用问题
我用的是omapl138开发板。当我运行ad7606_dsp的demo程序的时候,同时在arm端运行watchdog程序,发现一旦打开watchdog设备文件后,dsp端的计时器就停止工作了。dsp端的配置文件是部分内容是这样的
5 B5 `4 y% Z' S) X) f
/* configure SysBios to use the lower half of Timer 1 */
4 Y! |+ x" R& w/ ~; q- j& a
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
7 g- N/ @: F! X. }+ G8 P
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
5 k& r4 L" f: `' I/ B
Timer.timerSettings[1].master = true;
3 Z _1 o( `6 O# f/ `' t `7 `
Timer.defaultHalf = Timer.Half_LOWER;
. h9 X+ j2 n! D s, r* @$ t+ [
Clock.timerId = 1;
- R) G w- T0 j- w% @( v
Clock.tickPeriod = 5; //5us
; i; l0 R9 p% T& W# Q. F+ K: N8 J
arm端的watchdog程序和dsp端的计时器发生冲突了么?他们是共用了一个计时器么?这个cpu上一共几个定时器,怎么使用才能避免冲突呢?
5 v5 C; ] |( `, t
我将Clock.timerId 分别改成0 、2 、3,结果发现只有改成3的时候才可以,为什么呢?还有,我在使用Clock_create()的时候,我并没有
; O! ]( b# l/ j# `
指定使用哪个timer,难道是默认的使用Clock.timeId指定的timer吗?这样一来不就只能在DSP中使用同一个timer了?我要是想同时使用其他的timer该怎么办呢?
" ]- r) g7 @9 y2 Q& l: x% k
谢谢!
' m5 q, }) @% l+ U6 n+ c
& a% b5 y# _2 i- H
. ^/ |0 ?) Y4 m t# _4 c/ P; K
2 H& _" S0 Q% B8 N& k% {
9 ~0 M5 P' \) L" s# ` @+ Z
作者:
希望缄默
时间:
2016-8-29 17:16
CPU 支持四个
/ k2 Y$ k! T2 D* e3 e
ARM Linux
* q; g) ~% q+ t
定时器 0 为系统提供时间基准
! J( V& N/ w9 o
定时器 1 看门狗定时器
3 p6 G8 I# I ?4 @+ d! C+ M
DSP SYS/BIOS
5 E, F4 d7 O# y
Clock.timerId 为系统提供时间基准
d: N/ w* d6 [& ^- \8 N5 P) [
如果定时器 2 不能用可能是被占用了
& R# T; K0 K$ z& N" i
2 T. m# }! U7 H7 ]" \
定时器都是 64位的 可以拆成两个 32位使用
欢迎光临 嵌入式开发者社区 (https://www.51ele.net/)
Powered by Discuz! X3.4