Chinaunix首页 | 论坛 | 博客
  • 博客访问: 188466
  • 博文数量: 54
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 2018
  • 用 户 组: 普通用户
  • 注册时间: 2013-03-31 23:14
文章存档

2014年(2)

2013年(52)

分类: 嵌入式

2013-04-03 16:00:35

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

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