主题 : mini2440使用minitool下载裸机程序时时钟初始化 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 124044
精华: 0
发帖: 4
金钱: 20 两
威望: 4 点
综合积分: 8 分
注册时间: 2016-04-02
最后登录: 2016-09-29
楼主  发表于: 2016-08-08 12:18

 mini2440使用minitool下载裸机程序时时钟初始化

使用minitool下载裸机程序时发现跑的很慢,PLL似乎没有启用,于是使用如下代码设置时钟为400M,但发现未起作用:请问如何解决?以下为时钟相关寄存器地址
LOCKTIME                                    EQU     0x4c000000        
MPLLCON                                 EQU                   0x4c000004       
CLKDIVN                                  EQU                   0x4c000014
CAMDIVN                                          EQU                   0x4c000018

clock_init                                                            ; 时钟初始化代码
    ; 设置变频锁定时间
    ldr r0, =LOCKTIME
    ldr r1, =0x00ffffff
    str r1, [r0]

    ; 设置分频比FCLK:HCLK:PCLK=1:4:8
    ; 由于CAMDIVN[9]位初始值为0,寄存器CAMDIVN未使用,这儿不用再设置其值
    ldr r0, =CLKDIVN
    mov r1, #0x05
    str r1, [r0]

    ; 修改CPU总线模式
    mrc   p15, 0, r1, c1, c0, 0
    orr    r1, r1, #0xc0000000
    mcr     p15, 0, r1, c1, c0, 0

    ldr r0, =MPLLCON
    ldr r1, =0x5c011                                ; MPLL = 400MHz
str r1, [r0]
;后面进入主程序