码迷,mamicode.com
首页 > 系统相关 > 详细

嵌入式linux——点亮led灯(二)

时间:2018-10-17 00:28:20      阅读:295      评论:0      收藏:0      [点我收藏+]

标签:.text   一个   code   str   clean   寄存器   地址   objc   现象   

  刚才在jz2440板子上写了一个点亮中间led的程序,前前后后十几分钟才好。最终代码

.text
.global _start

_start:
/* 在这个程序中,完成点亮中间的led灯D11
 *  GPF5 从原理图得知,低电平点亮
 * GPFCON  0x56000050 
 * GPFDAT  0x56000054
 
 */
    ldr r0, =0x56000050
    ldr r1, =0x400
    str r1, [r0]

    mov r0, #0
    ldr r1, =0x56000054
    str r0, [r1]
halt:
    b halt

makefile如下

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

这个点灯程序还是比较简单的,在原理图上找到led连接的io口,在看一下高低电平点亮。

然后,往配置寄存器地址里面写配置io口的配置输出。往数据寄存器地址写入输出高低电平,即可。

在makefile文件中,用arm-linux-gcc编译器:.s -> .o -> .elf -> .bin 就有了bin文件可以烧到板子上看一下现象。

 

嵌入式linux——点亮led灯(二)

标签:.text   一个   code   str   clean   寄存器   地址   objc   现象   

原文地址:https://www.cnblogs.com/tech-zyl/p/9801039.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!