S3C2440硬件编程实例


S3C2440硬件编程实例——GPIO(一)汇编程序:

  1. @******************************************************************************  
  2.   
  3. @ 功能:LED点灯程序,点亮LED1-4  
  4.   
  5. @******************************************************************************         
  6.   
  7.               
  8.   
  9. .text  
  10.   
  11. .global _start  
  12.   
  13. _start:       
  14.   
  15.             LDR     R0,=0x56000010      @ R0设为GPBCON寄存器。此寄存器  
  16.   
  17.                                         @ 用于选择端口B各引脚的功能:  
  18.   
  19.                                         @ 是输出、是输入、还是其他  
  20.   
  21.                                         @ GPB5-8对应LED1-4  
  22.   
  23.             MOV     R1,#0x00015400          
  24.   
  25.             STR     R1,[R0]             @ 设置GPB5-8为输出口,   
  26.   
  27.                                         @位[11:10]=0b01,[13:12]=0b01,[115:14]=0b01,[17:16]=0b01  
  28.   
  29.             LDR     R0,=0x56000014      @ R0设为GPBDAT寄存器。此寄存器  
  30.   
  31.                                         @ 用于读/写端口B各引脚的数据  
  32.   
  33.             MOV     R1,#0x00000000      @ 此值改为0x000000F0,  
  34.   
  35.                                         @ 可让LED1熄灭  
  36.   
  37.             STR     R1,[R0]             @ GPB5-8输出0,LED1-4点亮  
  38.   
  39. MAIN_LOOP:  
  40.   
  41.             B       MAIN_LOOP   

 


使用如下命令进行编译和连接:

arm-linux-gcc -g -c -o led_on.o led_on.S
arm-linux-ld -Ttext 0x0000000 -g led_on.o -o led_on_elf

  • 1
  • 2
  • 3
  • 下一页
【内容导航】
第1页:GPIO(一)汇编程序 第2页:GPIO(二)C程序
第3页:一些细节

相关内容