嵌入式Linux ARM 汇编点亮一个LED的流程

 嵌入式Linux交叉开发环境

         开发主机(Host)

         目标机(Target)

         连接介质

嵌入式Linux ARM 汇编点亮一个LED的流程_第1张图片

嵌入式Linux ARM 汇编点亮一个LED的流程_第2张图片

嵌入式Linux ARM 汇编点亮一个LED的流程_第3张图片

嵌入式Linux ARM 汇编点亮一个LED的流程_第4张图片

嵌入式Linux ARM 汇编点亮一个LED的流程_第5张图片

汇编程序: 

    .text

    @设置LED灯的配置寄存器 GPX2CON7 为输出状态
    ldr r0,=0x11000c40
    ldr r1,[r0]
    bic r1,#0xf0000000
    orr r1,#0x10000000
    str r1,[r0]

loop:
    @设置LED灯输出高电平  GPX2DAT
    ldr r0,=0x11000c44
    ldr r1,[r1]
    orr r1,#0x80
    str r1,[r0]
    
    bl delayis

    @ 设置LED灯输出低电平
    ldr r0,=0x11000c44
    ldr r1,[r0]
    ldr r1,#0x80
    str r1,[r0]

    bl delayis
    b loop

delayis:
    ldr r4,=0x1fffffff

delayis_loop:
    sub r4,r4,#1
    cmp r4,#0
    bne delayis_loop
    mov pc,lr

    .end

Makefile :

CROSS = arm-none-linux-gnueabi-
CC=$(CROSS)gcc
LD=$(CROSS)ld
OBJCOPY=$(CROSS)objcopy

all:led.s
    $(CC) -g -c -o led.o led.s
    $(LD) led.o -Ttext 0x40001000 -o led.elf
    $(OBJCOPY) -O binary -S led.elf led.bin
    $(CROSS)objdump -D led.elf > led.dis

clean:
    rm -f *.o *.elf *.bin *.dis

环境变量 :

export PATH=/home/linux/gcc-4.6.4/bin:$PATH

 

你可能感兴趣的:(ARM)