标签:.text 一个 code str clean 寄存器 地址 objc 现象
刚才在jz2440板子上写了一个点亮中间led的程序,前前后后十几分钟才好。最终代码
.text .global _start _start: /* 在这个程序中,完成点亮中间的led灯D11 * GPF5 从原理图得知,低电平点亮 * GPFCON 0x56000050 * GPFDAT 0x56000054 */ ldr r0, =0x56000050 ldr r1, =0x400 str r1, [r0] mov r0, #0 ldr r1, =0x56000054 str r0, [r1] halt: b halt
makefile如下
all: arm-linux-gcc -c -o led_on.o led_on.S arm-linux-ld -Ttext 0 led_on.o -o led_on.elf arm-linux-objcopy -O binary -S led_on.elf led_on.bin arm-linux-objdump -D led_on.elf > led_on.dis clean: rm *.bin *.o *.elf
这个点灯程序还是比较简单的,在原理图上找到led连接的io口,在看一下高低电平点亮。
然后,往配置寄存器地址里面写配置io口的配置输出。往数据寄存器地址写入输出高低电平,即可。
在makefile文件中,用arm-linux-gcc编译器:.s -> .o -> .elf -> .bin 就有了bin文件可以烧到板子上看一下现象。
标签:.text 一个 code str clean 寄存器 地址 objc 现象
原文地址:https://www.cnblogs.com/tech-zyl/p/9801039.html