uboot-step 4 关闭看门狗和中断

uboot-step 4 关闭看门狗和中断

什么是看门狗

在嵌入式系统中,不可避免的会碰到系统运行时出错的问题,有时候为了使系统能够自动的进行复位,就引入了看门狗的概念,实际上它就是一个计数器,到了一定的值后就会复位cpu,在程序中我们需要在计数器增加到这个值之前对这个计数器做一个复位清零的工作,俗称喂狗,使程序继续运行

为什么关闭看门狗

在系统初始化的时候,由于我们并没有进行喂狗的工作,为了防止看门狗一直复位cpu,因此我们需要先将其关闭

如何关闭看门狗

通过查询芯片手册,我们很容易的可以找到看门狗(watchdog)的控制方法,如下图:

watchdog.png
#define pWTCON 0x7e004000

disable_watchdog:


    ldr r0, =pWTCON

    mov r1, #0x0

    str r1, [r0]

    mov pc, lr

关闭中断

当系统初始化未完成的时候,开启中断也没有什么用,因为我们并没有中断处理程序,因此我们需要关闭中断,防止中断影响系统的初始化
中断的关闭是通过向中断使能清零寄存器写1来完成的,具体如下图:


vic.png
vicclose.png
disable_interrupt:
    mvn r1,#0x0
    ldr r0,=0x71200014
    str r1,[r0]

    ldr r0,=0x71300014
    str r1,[r0]
    mov pc, lr

此去经年

zhaiyk@sina.cn

August 1, 2016

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容