S3C2440A has 130 multi-functional input/output port pins and there are eight ports as shown below: - Port A(GPA): 25-output port - Port B(GPB): 11-input/out port - Port C(GPC): 16-input/output port - Port D(GPD): 16-input/output port - Port E(GPE): 16-input/output port - Port F(GPF): 8-input/output port - Port G(GPG): 16-input/output port - Port H(GPH): 9-input/output port - Port J(GPJ): 13-input/output port 端口控制描述 端口控制寄存器(GPACON-GPJCON) 端口数据寄存器(GPADAT-GPJDAT) 端口上拉寄存器(GPBUP-GPJUP) 复用控制寄存器 外部中断控制寄存器 假设,有4个LED灯,分别接在GPF0~GPF3上,低电平点亮 GPF有7个I/O口,三组寄存器GPFCON,GPFDAT,GPFUP //包含头文件区 #include "2440addr.h" //系统文件 #include "2440lib.h" #include "def.h" #include "uart.h" void Main(){ //步,设置系统时钟 memcpy((unsigned char *)0x0,(unsigned char *)0x30000000,1000); //调用2440lib.c中的函数 SetSysFclk(FCLK_200M);//设置系统时钟为200M ChangeClockDivider(1,1);//设置分频为1:2:4 CalcBusClk(); //计算总线频率 //第二步:初始化串口 Uart_Select(0); Uart_Init(0,115200); //第三步:配置GPF寄存器 rGPFCON = (rGPFCON | 0xffff) & 0xffffff55; //设置GPF为输出口 rGPFUP &= 0xfff0; //使能上拉 rGPFDAT = 0xff; //初始化 //第四步:进入大循环 while(1){ rGPFDAT = 0xFE; //点亮 } }
编译工程,点击工具栏上的【make】按钮开始编译,如果没有错误,就可以下载到开发板上运行,这时,就需要使用AXD工具。点击【Debug】工具按钮,运行AXD。需要指定HJTAG工具连接到开发板上,选择【Options】菜单下载的【ConfigureTarget】,在弹出的ChooseTarget对话框中添加HJTAG的配置文件(H-JTAG安装目录下的H-JTAG.dll文件),点击【Configure】按钮,完成H-JTAG的配置使用AXD进行调试时,在NandFlash中不应该有其他的程序,否则,会使运行不正常!应先擦除NandFlash。
在调试之前,应该对SDRAM进行配置,因为程序是要下载到内存中运行的,因此,首先需要对SDRAM进行正确配置,选择【Options】菜单下的【Configure Interface】,在弹出的对话框中选择【Session File】标签页,勾选【Run Configuration Script】复选框,加入2440init.txt配置脚本文件。重启AXD如果电脑没有并口,也可以使用J-Link连接到开发板。首先,需要安装J-Link的驱动,然后添加J-Link的配置文件(JLinkRDI.dll),方法同上。