歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Linux下程序簡單編寫_TQ2440第一裸板程序

Linux下程序簡單編寫_TQ2440第一裸板程序

日期:2017/3/1 9:55:41   编辑:Linux編程

開發環境
系統:Ubuntu 12.04
單板:tq2440
編譯器:arm-linux-gcc-4.4.3
搭建開發環境詳見ubuntu 12.04開發環境配置。
使用命令:mkdir,vi,make,
目標:實現tq2440單板上4個led燈閃爍
第一個程序很簡單,用匯編實現。硬件如下:
nLED_1——>GPB5
nLED_2——>GPB6
nLED_3——>GPB7
nLED_4——>GPB8
根據s3c2440手冊編寫代碼,包括2個文件1_led.s和Makefile.

一、編寫源碼
1:文件·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

2:文件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

二、編譯
www.linuxidc.com@linuxidc:~$ cd /home/change/Si/tq2440/1_led/
www.linuxidc.com@linuxidc:~/Si/tq2440/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
www.linuxidc.com@linuxidc:~/Si/tq2440/1_led$ ls
1_led.bin 1_led.dis 1_led_elf 1_led.o 1_led.s Makefile

把1_led.bin下載到dram中運行

Copyright © Linux教程網 All Rights Reserved