0
回答
嵌入式新手,烧写LED灯程序问题
终于搞明白,存储TCO原来是这样算的>>>   

用C语言点亮TQ2440的LED1、LED2、LED3、灯。

启动文件LED1.S

.text
.global _start
_start:
        ldr     r0, =0x53000000
        mov     r1, #0x0
        str     r1,[r0]
        ldr     sp, =1024*4
        bl      main

halt_loop:
        b       halt_loop



C语言

#define GPBCON          (*(volatile unsigned long *)0x56000010)
#define GPBDAT          (*(volatile unsigned long *)0x56000014)
#define GPB5_out        (1<<(5*2))
#define GPB6_out        (1<<(6*2))
#define GPB7_out        (1<<(7*2))
void wait(unsigned long dly)
{
        for(;dly>0;dly--);
}

int main(void)
{
        unsigned long i = 0;
        GPBCON = GPB5_out|GPB6_out|GPB7_out;
        while(1){
                wait(30000);
                GPBDAT = (~(i<<5));
                if(++i == 8)
                i = 0;
        }
        return 0;
}



Makefile文件

led1.bin : led1.c led1.S
        arm-linux-gcc $(CFLAGS) -c -o led1s.o led1.S
        arm-linux-gcc $(CFLAGS) -c -o led1.o led1.c
        arm-linux-ld -Ttext 0x0000000 led1.o led1s.o -o led1_elf
#       arm-linux-ld -Tled1.lds led1s.o led1.o -o led1_elf
        arm-linux-objcopy -O binary -S led1_elf led1.bin
        arm-linux-objdump -D -m arm led1_elf > led1.dis
clean:
        rm -f led1.dis led1.bin led1_elf *.o
~



芯片资料

看门狗地址是

0x53000000

用DNW软件通过这样下载

下载进去开发板就重启是怎么回事啊?求解答。

<无标签>
举报
田大大周
发帖于2年前 0回/148阅
顶部