mini2440 时钟频率的配置

S3C2440的频率设置通过设置三个寄存器就可以完成,LOCKTIME取默认值0x00ffffff,CLKDIVN配置FCLK:HCLK:PCLK三者的比例,详细参考数据手册,对于MPLLCON寄存器,[19:12]为MDIV,[9:4]为PDIV,[1:0]为SDIV。有如下计算公式:MPLL(FCLK) = (m * Fin)/(p * 2^s)  其中: m = MDIV + 8, p = PDIV + 2 。

 

注意:手册中提到当HDIVN = 1时,CPU bus mode需要从原来的“fast bus mode”改为“asynchronous bus mode”,所以用到__asm{}这个汇编块,因为在mmu_init()中已经对其进行过初始化,在使用时调用过mmu_init()后无需加这个模块了。如果没有调用mmu_init(),就必须加这个操作了。

 

把改函数添加到timer0 interrupt中就可以实验beep每隔一秒响一次。

 

void clock_init()

{

rLOCKTIME = 0x00ffffff;

rCLKDIVN = 0x03;

 

//以下在mmu_init()函数中已经对其初设置这里无需设置

 

rMPLLCON = 0x5c0040;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值