2440刷linux程序,Linux下程序简单编写_TQ2440第一裸板程序

本文介绍如何在S3C2440单板上使用ARM汇编语言实现四个LED灯的闪烁效果。具体步骤包括开发环境配置、编写汇编代码、制作Makefile文件以及编译过程等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开发环境

系统: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

06bda7098fb11f6e77fd8a77c332999a.png

把1_led.bin下载到dram中运行0b1331709591d260c1c78e86d0c51c18.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值