zoukankan      html  css  js  c++  java
  • 时钟初始化

    1.时钟体系的了解

    所用晶振:12M

    PLL的个数:APLL、MPLL、EPLL

    产生的时钟及其用途:

    时钟 应用场合 应用举例 所属PLL
    ACLK 处理器 arm11 APLL
    HCLK AHB总线 LCD、DMA... MPLL
    PCLK APB总线 GPIO、Uart MPLL
    SCLK USB总线 USB EPLL

    2.时钟初始化流程

    注:SYCLK用于arm核

    3.分频系数

    DIVARM设为0,DIVHCLK2设为1,DIVHCLK设为1,DIVPCLK设为3。

    4.设置SYSCLK(APLL、MPLL)

     

    5.汇编代码

    #define CLK_DIV0 0x7e00f020
    #define OTHERS 0x7e00f900
    #define APLL_CON 0x7e00f00c
    #define MPLL_CON 0x7e00f010
    #define CLK_SRC 0x7e00f01c
    
    #define DIV_VAL ((0x0<<0)|(0x1<<9)|(0x1<<8)|(0x3<<12))
    #define PLL_VAL ((1<<31)|(266<<16)|(3<<8)|(1<<0))
    
    init_clock:
        ldr r0,=CLK_DIV0
        ldr r1,=DIV_VAL
        str r1,[r0]
    
        ldr r0,=OTHERS
        ldr r1,[r0]
        bic r1,r1,#0xc0
        str r1,[r0]
    
        ldr r0,=APLL_CON
        ldr r1,=PLL_VAL
        str r1,[r0]
    
        ldr r0,=MPLL_CON
        ldr r1,=PLL_VAL
        str r1,[r0]
    
        ldr r0,=CLK_SRC
        mov r1,#0x03
        str r1,[r0]
        
        mov pc,lr

     

     

     

     

  • 相关阅读:
    指针数组和数组指针
    initializer_list
    main:处理命令行选项
    Synchronized 和Lock区别
    sleep和wait的区别
    什么时候会发生类初始化
    类的加载与ClassLoader的理解
    获取Class类的实例
    元注解
    IO流思维导图
  • 原文地址:https://www.cnblogs.com/boyiliushui/p/5861297.html
Copyright © 2011-2022 走看看