歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

micro2440第一個裸板程序LED

開發環境:

系統:Ubuntu 10.04.4

單板:micro2440

編譯器:arm-linux-gcc-4.3.2

搭建開發環境詳見Ubuntu 10.04.4開發環境配置。http://www.linuxidc.com/Linux/2013-04/83609.htm

目標:實現micro2440單板上4個led燈閃爍

第一個程序很簡單,用匯編實現。硬件如下:

nLED_1——>GPB5

nLED_2——>GPB6

nLED_3——>GPB7

nLED_4——>GPB8

根據s3c2440手冊編寫代碼,包括2個文件1_led.s和Makefile.

文件·1_led.s:

.text
.global _start
_start: 
 ldr r0,=0x56000010
 mov r1,#0x00015400
 str r1,[r0]
 ldr r0,=0x56000014
loop: mov r1,#0x00000000
 str r1,[r0]
 bl delay
 mov r1,#0x00000ff0
 str r1,[r0]
 bl delay
 b loop

delay:
 mov r4,#100
del1: mov r5,#1000
del2: sub r5,r5,#1
 nop
 cmp r5,#1
 bne del2
 sub r4,r4,#1
 nop
 cmp r4,#1
 bne del1
 mov pc,lr

文件Makefile:

1_led.bin:1_led.s
 arm-linux-gcc -g -c -o 1_led.o 1_led.s
 arm-linux-ld -Ttext 0x00000000 -g 1_led.o -o 1_led_elf
 arm-linux-objcopy -O binary -S 1_led_elf 1_led.bin
 arm-linux-objdump -D 1_led_elf > 1_led.dis
clean:
 rm -f 1_led.bin *.o 1_led_elf 1_led.dis

linuxidc@linuxidc:~$ cd /home/linuxidc/Si/micro2440/1_led/
 
linuxidc@linuxidc:~/Si/micro2440/1_led$ make
 arm-linux-gcc -g -c -o 1_led.o 1_led.s
 arm-linux-ld -Ttext 0x00000000 -g 1_led.o -o 1_led_elf
 arm-linux-objcopy -O binary -S 1_led_elf 1_led.bin
 arm-linux-objdump -D 1_led_elf > 1_led.dis
 linuxidc@linuxidc:~/Si/micro2440/1_led$ ls
 1_led.bin  1_led.dis  1_led_elf  1_led.o  1_led.s  Makefile

Copyright © Linux教程網 All Rights Reserved