|  | 
 
| 
请教powerpc高手,我在初始化GTM(全局定时器)时出错,初始化代码如下
×
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册  /* Init Global Timer1 */
 GTM_regs = ioremap(GTM_BASE,GTM_REGS_RANGE);
 if(GTM_regs == NULL)
 {
 printk(KERN_ALERT"ioremap error.\n");
 iounmap((void *)GTM_regs);
 }
 else
 printk(KERN_INFO"GTM_regs = 0x%.8lx \n",(unsigned long)GTM_regs);
 GTM_Write_U8 (GTM_regs,GTCFR1,0x02); /* Reset GTM1 */
 GTM_Write_U8 (GTM_regs,GTCFR2,0x46);
 GTM_Write_U16(GTM_regs,GTPSR1,39);
 GTM_Write_U16(GTM_regs,GTMDR1,0x3800+249); /* Prescale = 40*250 = 10000 */
 GTM_Write_U16(GTM_regs,GTEVR1,0xc000); /* Clear the previous events */
 GTM_Write_U16(GTM_regs,GTRFR1,33333); /* 1s/(3ns*10000) = 33333 */
 GTM_Write_U8 (GTM_regs,GTCFR1,0x82); /* Enable GTM1 */
 
 该初始化过程有什么问题吗?老是不对,中间几个寄存器的读回值都不对。是不是初始化的顺序有问题?
 
 望高手不吝赐教,或者贴一段正确的定时器初始化代码,小弟在网上实在找不到。
 | 
 |