|  | 
 
| uclinux-2.4.24-uc0支持44B0X开发板----Timer5的设置问题 
 在include/asm-armnommu/arch-S3C44B0X/time.h头文件中,有setup_timer()函数,原先的代码如下:
 /* TODO: THE, 2003-08-13, do timer setup like in eCos */
 #define S3C44B0X_TIMER5_PRESCALER 16
 
 extern __inline__ void setup_timer (void)
 {
 ......
 period = (CONFIG_ARM_CLK/S3C44B0X_TIMER5_PRESCALER)/HZ;
 outl(period, S3C44B0X_TCNTB5);
 
 tmod=0;
 tmod |= S3C44B0X_TCON_T5_MAN_UPDATE;
 outl(tmod, S3C44B0X_TCON);
 
 /* initialize the timer period and prescaler */
 outl((5-1) << 16, S3C44B0X_TCFG0);
 outl((0x3 <<20), S3C44B0X_TCFG1); /* prescale */
 ......
 }
 可以看出,TCFG0应该是prescale,而TCFG1是mux divider,现在prescale = 4, mux divider = 16, 那么period不就应该是
 ((CONFIG_ARM_CLK / 4) /16) / HZ, 而现在只是(CONFIG_ARM_CLK / 16)/HZ。这对么?
 所以我加上了除以4的代码。在60MHz的频率下,BogoMips = 37.37。
 | 
 |