uboot源码(3 关闭看门狗和中断)

    xiaoxiao2021-03-25  85

    关闭看门狗,关中断

    /* turn off the watchdog */ #if defined(CONFIG_S3C2400) # define pWTCON 0x15300000 # define INTMSK 0x14400008 /* Interupt-Controller base addresses */ # define CLKDIVN 0x14800014 /* clock divisor register */ #elif defined(CONFIG_S3C2410) # define pWTCON 0x53000000 # define INTMSK 0x4A000008 /* Interupt-Controller base addresses */ # define INTSUBMSK 0x4A00001C # define CLKDIVN 0x4C000014 /* clock divisor register */ #endif #if defined(CONFIG_S3C2400) || defined(CONFIG_S3C2410) ldr r0, =pWTCON mov r1, #0x0 str r1, [r0] /* * mask all IRQs by setting all bits in the INTMR - default */ mov r1, #0xffffffff ldr r0, =INTMSK str r1, [r0] # if defined(CONFIG_S3C2410) ldr r1, =0x3ff ldr r0, =INTSUBMSK str r1, [r0] # endif /* FCLK:HCLK:PCLK = 1:2:4 */ /* default FCLK is 120 MHz ! */ ldr r0, =CLKDIVN mov r1, #3 str r1, [r0] #endif /* CONFIG_S3C2400 || CONFIG_S3C2410 */

    看门狗寄存器清零

    ldr r0, =pWTCON @看门狗的地址赋值给R0 mov r1, #0x0 @将R1寄存器赋值为0 str r1, [r0] @R1寄存器的值传送到寄存器看门狗

    禁止中断

    和看门狗语法类似地,将中断掩码寄存器INTMSK全部设置为1,中断服务被禁止;将子中断掩码寄存器INTSUBMSK地11位设置为1,对应的中断服务停止。

    三种总线时钟

    s3c2410有CPU的FCLK,AHB总线时钟HCLK, APB总线时钟PCLK。

    时钟分频控制寄存器CLKDIVN的后2位是HCLK相对于FLCK的分频和PCLK对HCLK的分频。最大分频为1:2:4,最小分频为1:1:1。

    转载请注明原文地址: https://ju.6miu.com/read-17346.html

    最新回复(0)