JZ2440的第一个电灯程序

第一个点灯程序

使用编译命令

arm-linux-gcc -c -o led_on.o Start.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

原理图

n表示低电坪有效

这里表示低电平有效
在这里插入图片描述
在这里插入图片描述
接到I/O口的GPF4、GPF5、GPF6
在这里插入图片描述

对应JZ2440

1、配置位输出引脚
2、再配置

在这里插入图片描述
GPFCON 控制寄存器
GPFDAT 数据寄存器
在这里插入图片描述
GPF4[9:8] 设置成 输出引脚 0b01

在这里插入图片描述
GPFDAT[4]= 1:输出高电平 0:输出低电平

点亮第一个灯需要设置

1、地址0x56000050设置成值位0x100 设置GPF4 输出引脚
2、地址0x56000054设置成值为0x0 设置GPFDAT[4] =0x00低电平
下面是汇编代码

.text
.global _start

_start:
/*
配置GPF4位输入引脚
把0x100写入到地址0x56000050
*/
    ldr r1,=0x56000050
    ldr r0,=0x100
    str r0,[r1]
/*
配置GPF4位输出高电平
把0写入到地址0x56000054
*/
    ldr r1,=0x56000054
    ldr r0,=0x00  
    str r0,[r1]
halt:
 b halt

1、arm-linux-gcc -c -o led_on.o Start.s
先生成.o文件
2、arm-linux-ld -Ttext 0 led_on.o -o led_on.elf
链接.o文件
3、arm-linux-objcopy -O binary -S led_on.elf led_on.bin
生成.bin文件
生成bin文件之后就可下载烧录
进入.bin文件夹,输入

oflash 0 1 1 0 0 led_on.bin 

当出现下面成功的情况,重新开机
在这里插入图片描述

总结 还可以把编译的命令放到Makefile中

all:
	arm-linux-gcc -c -o led_on.o Start.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
clean:
	rm -rf *.bin *.o *.elf

作业

1、修改Start.s 点亮LED2
2、直接修改led_on.bin点亮LED2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值