写一篇技术美文,裸板测试之点亮GPIO的LED灯

本文详述了一种通过控制GPIO的GPBCON寄存器和GPBDAT寄存器来点亮嵌入式系统中LED灯的方法。在理解了寄存器的工作原理后,设置相应的二进制位以使LED灯处于输出状态,并通过编写makefile在Linux环境下完成程序的编译,最终实现所有LED灯的开启。
摘要由CSDN通过智能技术生成
首先拿到一块开发板,就像我现在用的这块TQ2440,arm920t,实在是嵌入式入门的必备之物。本来想移植Uboot,但自从编译成功后一直在板子上跑不起来,于是又转到自己编一个bootloader,后来也因为编译成功而无法运行感到无比头疼,于是只得从最基础的开始测试,首先从GPIO开始。
所需器材:arm开发板一块,jlink一个,当然也可以用jtag。但我的电脑没有并口,于是只能用jlink。

接着是点亮led的一段汇编程序:



.text

.global _start

_start:

LDR   R0,=0x56000010

MOV   R1,#0x00015400

STR   R1,[R0]

LDR   R0,=0x56000014

MOV   R1,#0x00000000

STR   R1,[R0]

MAIN_LOOP:

B     MAIN_LOOP

现在来详细解释一下这些地址,0x56000010,这个为GPBCON寄存器,此寄存器用于选择端口的各引脚功能,接着我们来查手册,

这里写了GPIO的10个引脚,每2个位决定一个引脚的功能。
这里控制LED灯的是GPB5~GPB8,一共4个LED灯,看手册发现当将该位写为01时为输出!于是我们把所

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值