与学习单片机一样,学习arm裸机开发的第一个程序,点亮lED灯;
我们使用三星的S3C2440,fl2440开发板做实验
电路图如下:
主要寄存器:
各寄存器详情:
程序流程:
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));
}