移植linux2.6.22到s3c2440的两个问题,望指教

1.现在linux内核能正常启动,串口也正常了,但是启动中发现输出的CPU时钟频率为200HZ,我在UBOOT中设置的是400HZ,于是我在内核中找到了s3c244x_init_clocks函数,在里面调用了s3c2410_get_pll函数,发现在s3c2410_get_pll函数中,内核计算FCLK的公式是用的s3c2410的公式计算,所以频率计算出来是200HZ,其他的比例仍然读出是1:4:8,于是我吧那个公式修改正确了,结果发现启动内核的时候串口无法正常显示了,请问这个问题因该怎么解决,移植没有找到设置串口波特率的地方。
    2.移植了UDA声卡驱动,能正常发出声音了,但是我用QTOPIA2.0里面自带的播放器播放音乐,发现声音很卡,播放器播放速度很慢,就是正常时件过了2到3秒播放器才走一秒,不知道这里是和声卡驱动有关还是程序本身问题。
    以上两个问题,网上搜了很多也没找到合适的解决方法,请有过相关经验的朋友指出关键点,谢谢。

作者: sydnash   发布时间: 2010-09-20

2410中配置的arm9的cpu最高运行的频率为203Mhz,并且串口的波特率好像是根据晶振的频率通过倍频,分频的操作计算得到的,跟cpu的频率好像也有些关连,里面的时钟的计算公式如果你没有看懂的话建议不要乱修改,否则会导致很多的硬件由于频率改变而出现工作不正常的情况。话说串口波特率我没有仔细的找过,声卡驱动也没有移植,就搞了内核,网卡,LCD和touch

作者: shenhao0129   发布时间: 2010-09-20

我也是刚学,不是很清楚,我要移植的平台是2440,但是他公式好像是用的2410,我不知道这里读出来的频率是怎么映像串口波特率的,因为我修改了公示之后串口无法正常显示,还有,虽然公式是错的,但是也证明我硬件电路上本身的频率是正确的,这让我很纳闷到底那里修改之后会对哪些东西又影响。

作者: sydnash   发布时间: 2010-09-20