jx_plj 发表于 2011-3-23 21:26:52

cpu总是自动复位

我的板子下完程序后老是自动复位 我就下了一个跑马灯的程序 前面几次下了还是好的 后面就自动复位了我也不知道为啥 求各位大神赐教呀!!!下面是出错现象以及我的源程序 求哪位大虾赐教呀
/*
        本实验接口说明

        GPB5------ LED0
        GPB6------ LED1
        GPB7------ LED2
        GPB8------ LED3
*/
/*------------------------地址声明---------------------------*/

#define GPBCON (*(volatile unsigned *)0x56000010)
#define GPBDAT (*(volatile unsigned *)0x56000014)
#define GPBUP (*(volatile unsigned *)0x56000018)

#define uchar unsigned char
#define uint unsigned int

/*------------------------------------------------------------/
函数名称:        Delay
功能描述:        延时函数
传    参:        int x
返 回 值:        无
-------------------------------------------------------------*/
void Delay(int x)
{
        int k, j;
        while(x)
        {
                for (k=0;k<=0xff;k++)
                        for(j=0;j<=0xff;j++);
                       
                x--;
        }
}
/*************************************************************
函数名称:LedMain
功能描述:入口程序
传          参:无
返 回 值:int 0
*************************************************************/

int ledMain()
{
        int i=10;
        GPBCON = 0x3D57FF;
        GPBDAT = ((1<<5)|(1<<6)|(1<<7)|(1<<8));
        //GPBDAT |= 0x1;
        GPBUP= 0x000;
       
        while(--i)
        {
                GPBDAT = ~(1<<5);        //LED0亮
                Delay(10);
                GPBDAT = ~(1<<6);
                Delay(10);
                GPBDAT = ~(1<<7);
                Delay(10);
                GPBDAT = ~(1<<8);
                Delay(10);
        }
    return 0;       
}
下面是init.s
    AREA |DATA|,CODE,READONLY
ENTRY
ldr r13, =0x1000
IMPORT ledMain
b ledMain

END
下面是usb下载终端显示的现象

Now, Downloading

RECEIVED FILE SIZE:   194 (0KB/S, 1S)

## Starting application at 0x0C000000 ...

undefined instruction

pc : [<0c000004>]    lr : [<33d0c0c8>]

sp : 33cbd728ip : fffffffffp : 33cbd992

r10: 33cbd892r9 : 00000000r8 : 33cbffdc

r7 : 33cbd992r6 : 00000002r5 : 33cbd848r4 : 0c000000

r3 : 00000002r2 : 50000000r1 : 33cbd848r0 : 00000001

Flags: nZCvIRQs onFIQs offMode SVC_32

Resetting CPU ...

shufexiu 发表于 2011-3-24 00:54:31

把看门狗关闭

splive231 发表于 2011-3-24 03:12:46

楼上正解关狗

jx_plj 发表于 2011-3-24 11:08:17

ldr        r0,=0x53000000       ;watch dog disable
ldr        r1,=0x0
str        r1,
这样关看门狗有问题吗 为什么总是提示unknown opcode 在上面第一行那里??

shufexiu 发表于 2011-3-24 11:10:03

:)

jx_plj 发表于 2011-3-24 12:59:27

上面那个unknown opcode的问题解决了 像上面那样我把看门狗关掉了 为什么还是不停的复位 重启呀??

jx_plj 发表于 2011-3-24 14:08:19

谢谢各位的回复 我找到问题所在呀就是在串口调试工具里的地址设置错了 我改回0x30000000就好了 谢谢各位

shufexiu 发表于 2011-3-24 14:15:34

代码看不出问题,是不是下载地址又错拉............

jx_plj 发表于 2011-3-24 19:34:29

现在好了 谢谢超级版主哦!
页: [1]
查看完整版本: cpu总是自动复位