求教mpc8280的linux定时器的寄存器设置
平台是MPC8280 ,linux2.4内核需要写一个定时中断的小测试程序,分驱动层和app层
仔细阅读了手册关于定时器的章节,但英文很烂,许多地方还是不太明了
希望有高手能给指点一下
Timer mode Register
Timer reference Register
Timer Capture Register
Timer Counters Register
Timer Event Register
这几个寄存器的具体作用是什么,就实现简单的定时中断功能,是否只需要设置Counter和mode register
找了一些关于定时器的资料,一般是计数到0时,触发中断。
但在8280的手册上没有找到相应的描述。是否需要和其他寄存器配合使用才能达到目的。
使能中断时,请求中断的中断号是否直接使用手册上给出的中断号。以前写过2.6内核的8313的中断程序,貌似和2.4不太一样。
设置中断屏蔽寄存器SIMR的时候,出现奇怪的问题。默认的SMC1和SMC2是置1的时候,无法置位Timer1,
只能将SMC1和SMC2强制写为0才可以,这个是属于什么情况?
还请各位大牛不吝赐教 TCN是计数器,自增的
TRR是参考的计数,当TCN的值增到TRR的值时,如果TMR位为1就产生中断信号给SUI的Interrupt controller,如果此时的TMR位为1,TCN reset为0,否则free run。
初始化设置TMR寄存器的ORI和FRR位为1,设置TRR寄存器的值
。。。
这么点英文都不想看。:mrgreen:
回复 #2 readkernel 的帖子
呵呵,万分感谢~不是因为不想看英文,读了n多遍了,还是比较疑惑。。。英文太烂,而且以前就没咋读过英文材料。
以前没用过定时器,网上关于定时器的资料太杂了。 实际上 2楼说的对,但是不全,特别是到了中断的时候,在中断函数内部,需要对Timer Event Register的某个位进行清零操作才可,如果有哪位网友不懂的话,可以咨询我,我的资料里面有我的qq
页:
[1]