Linux嵌入式开发_设置时钟频率
在核心板上若工作的时钟频率不同则无法正常驱动工作,这是很关键的知识点。频率我们可以通过开发板的原理图查看,或者在soc(CPU)的原理图上得到也可以。这里我用的是开发板的原理图,我使用的是TQ210开发板上接到soc的时钟这块有XXT1,XXTO等,soc是靠时钟提供主频率的,若接到这块上面的就代表要与这个频率一致,否则无法正常工作,产生调频的情况。我们在原理图上看下clock这块,可以看到PLL
在核心板上若工作的时钟频率不同则无法正常驱动工作,这是很关键的知识点。
频率我们可以通过开发板的原理图查看,或者在soc(CPU)的原理图上得到也可以。
这里我用的是开发板的原理图,我使用的是TQ210
开发板上接到soc的时钟这块有XXT1,XXTO等,soc是靠时钟提供主频率的,若接到这块上面的就代表要与这个频率一致,否则无法正常工作,产生调频的情况。
我们在原理图上看下clock这块,可以看到PLL这个工作时钟电路是接在这个上面的,就代表开发板的工作时钟频率也是24MHZ
那么接下来我们就到linux内核里去修改时钟频率
我使用的内核版本是TQ提供的Kernel_3.0.8,Linux内核版本是2.4
跟芯片相关的都存在与arch这个里面,如我的开发板是基于三星arm s5pv210这个架构的
我的路径就是:arch/arm/machs5pv210
我们进入到arch/arm/machs5pv210的目录下找到mach-tq210.c这个文件,在这里面修改主频率。
我们搜索init_clocks这个函数,大概在2104行,至少我的代码是这样的,结合你自己的代码去寻找,因为嵌入式开发这一块没有固定的标准,要结合实际情况进行寻找修改,增加自己的动手能力。
24mhz就是24000000,1mhz=1000000HZ ,24mhz就等于24000000
s3c24xx_init_clocks(24000000);
更多推荐
所有评论(0)