程序烧写在norflash上面
Makefile
mem_controler.bin : start.s function.c
arm-linux-gcc -g -c -o start.o start.s
arm-linux-gcc -g -c -o function.o function.c
arm-linux-ld -Ttext 0x30000000 -g start.o function.o -o interrupt.elf
arm-linux-objcopy -O binary -S interrupt.elf interrupt.bin
arm-linux-objdump -D -m arm interrupt.elf > interrupt.dis
clean :
rm -f *.o *.bin *.dis
start.s
.text
.global _start
_start:
b reset
b .
b .
b .
b .
b .
b handle_irq
b .
reset:
@shut down the watchdog
ldr r0, =0x53000000
ldr r1, =0x00000000
str r1, [r0]
@init the stack address
ldr r1, =4096
ldr r0, =0x40000000
add sp, r1, r0
bl init_led
bl init_sdram
@reset the stack pointer
ldr sp, =0x34000000 @change stack to the end of sdram
msr cpsr_c, #0xd2
ldr sp, =0x33F00000 @change t