diff --git a/driver/board_driver/01-led/led.s b/driver/board_driver/01-led/led.s index 1de7c1f..18bf2fd 100644 --- a/driver/board_driver/01-led/led.s +++ b/driver/board_driver/01-led/led.s @@ -1,17 +1,12 @@ - - -.global _start +.global _start @ 声明入口为_start _start: - ldr sp, =0x40000000 - b main + ldr sp, =0x40000000 @ 设置栈指针(根据硬件调整地址) -main: - ldr r0, =0x40000000 - ldr r1, =0x00000001 - str r1, [r0] - ldr r0, =0x40000000 - ldr r1, =0x00000000 - str r1, [r0] - b main + @ 这里写你的LED操作代码(示例:往寄存器写值) + ldr r0, =0x40000000 @ 假设LED寄存器地址是0x40000000 + ldr r1, =0x01 @ 要写入的值(点亮LED) + str r1, [r0] @ 把r1的值写入r0指向的地址 +loop: + b loop @ 死循环(防止程序跑飞) \ No newline at end of file diff --git a/driver/board_driver/01-led/makefile b/driver/board_driver/01-led/makefile index 58ce346..d3aed86 100644 --- a/driver/board_driver/01-led/makefile +++ b/driver/board_driver/01-led/makefile @@ -1,7 +1,15 @@ -led:led.s - arm-linux-gnueabihf-gcc -c -nostdlib led.s - arm-linux-gnueabihf-gcc -o led led.o + +CC = arm-linux-gnueabihf-gcc +CFLAG = -c -nostdlib +LDFLAGS = -nostdlib + + +led:led.o + $(CC) $(LDFLAGS) led.o -o led + +led.o:led.s + $(CC) $(CFLAG) led.s -o led.o clean: rm -f *.o