S3C2440裸机程序开发点亮LED

与学习单片机一样,学习arm裸机开发的第一个程序,点亮lED灯;

我们使用三星的S3C2440fl2440开发板做实验

电路图如下:



主要寄存器:



各寄存器详情:



程序流程:

1.设置GPBCON对应位为output工作模式。

2.设置GPBUP对应位上拉电阻有效。

3.设置CPBDATA对应为有效电平。


附:

Led灯汇编代码

GPBCONREG EQU 0x56000010
 GPBDATREG EQU 0x56000014
 GPBUPREG EQU 0x56000018
 
 
 	AREA Init, CODE,READONLY
 	ENTRY
 	
 Start 
 
    LDR R0, = GPBCONREG
    LDR R1,= 0xffddd7ff
    STR R1,[R0]
    
    LDR R0,=GPBUPREG
    LDR R1,=0xfffffa9f
    STR R1,[R0]
 
    LDR R0, = GPBDATREG
    LDR R1, =0xfffffa9f
    STR R1,[R0]
     
    END

C语言代码(启动代码略):

#include "def.h"
 #include "option.h"
 #include "2440addr.h"     
 #include "2440lib.h"
 #include "2440slib.h" 
 	
 void main()
 {
 	
 	rGPBCON=(0x1<<5)+(0x1<<6)+(0x1<<8)+(0x1<<10);
 	rGPBUP=0x0;
 	rGPBDAT=(~(0x1<<5))\
 			&(~(0x1<<6))\
 			&(~(0x1<<8))\
 			&(~(0x1<<10));
 }


版权声明:本文为博主原创文章,未经博主允许不得转载。

原文地址:https://www.cnblogs.com/will1990/p/4951542.html