herofish 发表于 2012-7-10 01:12:55

s3c2440看门狗的疑惑

先帖上FL的源码,就这个一汇编源文件,功能是让4个LED都亮。
    AREA SAMPLE,CODE,READONLY

    ENTRY                                        ;入口

START                                                ;标号顶格写
       
        LDR        R3,        =0x56000010                ;把GPB的控制寄存器地址保存在R3中
        LDR        R4,        =0x111400                ;00:输入01:为输出10:特殊功能
        STR        R4,                                ;初始化GPB口的控制寄存器
                                                        ;使LED0-LED3对应的管脚为输出
       
        LDR R1,        =0x56000014                ;GPB的DAT寄存器地址
        MOV        R2,        #0x00000                ;低电平亮注意MOV和STR指令的区别       
        STR R2,                                ;点亮LED0-LED3 GPB5 GPB6 GBP8 GBP10
       
    B   START             ;跳回去START,一个死循环

    END

这个程序中没有对看门狗进行任何操作,而datasheet上说复位后看门狗默认是打开的,但是这个程序运行后根本就没出现复位现象,请问这是什么原因啊?和具体的硬件设计有关系吗?

winterw 发表于 2012-7-10 01:41:11

看门狗复位可以通过灯看出来吗?
我觉得你应该稍加改一下,加上一段程序,如果是从START开始执行的就控制LED0,否则用循环一直控制LED1,然后用示波器测试LED0的引脚电压看有没有变化

herofish 发表于 2012-7-10 16:42:39

winterw 发表于 2012-7-10 01:41 static/image/common/back.gif
看门狗复位可以通过灯看出来吗?
我觉得你应该稍加改一下,加上一段程序,如果是从START开始执行的就控制LE ...

如果CPU复位了在DNW(类似超级终端的东东)上会重新打印启动信息的,所以有没有LED都无所谓,主要是通过串口传到DNW上的启动信息来判断的。在s3c2440的手册上说复位后WDTCON寄存器的值是0x8021,我在程序START后面先给WDTCON赋值0X8021,结果CPU复位了。。。这让我怀疑这个CPU有问题还是datasheet有问题!!

s200661524 发表于 2012-7-13 00:32:17

你是用dnw下载的吧,这样既是你不操作看门狗,uboot也关闭了
页: [1]
查看完整版本: s3c2440看门狗的疑惑