Chinaunix首页 | 论坛 | 博客
  • 博客访问: 486569
  • 博文数量: 398
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 14
  • 用 户 组: 普通用户
  • 注册时间: 2013-08-21 16:02
个人简介

嵌入式屌丝

文章分类

全部博文(398)

文章存档

2013年(398)

我的朋友

分类: 嵌入式

2013-08-21 16:43:51

The follow  are the sourece file:


led.s:

.text
.global _start
_start:
      LDR   R0,=0X56000010       ;<-------------- 
      MOV   R1,# 0X00000400      ;对GOBCON5即led1配置为输出
      STR   R1,[R0]              ;--------------->
MAIN_LOOP:
      LDR   R0,=0X56000014       ;<---------------
      MOV   R1,# 0X00000000      ;点亮GPBDAT5即led1
      STR   R1,[R0]              ;---------------->
     
      BL    DELAY                ;延时bl与MOV PC,LR  组合使用
 
      MOV   R1,# 0X00000020      

      STR   R1,[R0]              ;灭掉GPBDAT5即led1
      
      BL    DELAY

 

      B     MAIN_LOOP           


DELAY:
      MOV   R3,#0X2000
DELAY_0:
      SUB   R3,R3,#1
      CMP   R3,#0
      BNE   DELAY_0      ;R3与0比较大于0则跳到delay_0执行
      MOV   PC,LR

 

make  file:

led.bin:led.s
 arm-linux-gcc -g -c -o led.o led.s
 arm-linux-ld -Ttext 0x0000000 -g led.o -o led_elf
 arm-linux-objcopy -O binary -S led_elf led.bin
clean:
 rm -f led.bin led_elf *.o
 通过简单的bne循环实现延时,复杂的流水灯不在话下
led.zip

阅读(267) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~