本帖最后由 silverviolet 于 2019-12-19 22:50 编辑
ARM修改时钟
https://www.cnblogs.com/Wayne123/p/9816117.html
上面是原链接的详细过程,对于其中一段不明,有请懂行的兄弟解释解析,不胜感激。
/* 设置CPU工作于异步模式 ** 如果不作此设置,当HDIVN不是0时,CPU会采用HCLK的频率而不是采用FCLK的频率 */ mrc p15,0,r0,c1,c0,0 orr r0,r0,#0xc0000000 // #R1_nF:OR:R1_iA等价于#0xc0000000 mcr p15,0,r0,c1,c0,0 /* 设置MPLL的PMS,使得FCLK=400MHz ** m = MDIV+8 = 92+8=100 ** p = PDIV+2 = 1+2 = 3 ** s = SDIV = 1 ** FCLK = 2*m*Fin/(p*2^s) = 2*100*12/(3*2^1)=400MHz */ ldr r0,=0x4C000004 ldr r1,=(92<<12)|(1<<4)|(1<<0) str r1,[r0]
就其中(92<<12)|(1<<4)|(1<<0) ,92左移12位啥情况,92不是10进制数吗? |