找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2425|回复: 0
收起左侧

三星2440 ARM初始化

[复制链接]
ID:113276 发表于 2016-4-10 17:32 | 显示全部楼层 |阅读模式
一、利用三星已经写好的初始化文件
1。先见项目文件夹
2。.建立项目保存在新建文件夹中
3。将ARM三星写好的INIT文件夹中的INC和SRC两个文件夹拖入新建文件夹中。
4。建立C文件,如LCD1602.c,编写void xmain()函数,或void xxxx()函数
5。添加SRC中的2440init到项目中来。
6。将2440init中的相应主函数入口修改为LCD1602.c中的函数xmain,这一点很重要,这样其他函数可通过添加头文件编写,否则没法执行。见下图






二、编写自己的初始化
1。先建项目文件夹
2。再建立项目并保存在新建文件夹中(路径用英文)
3。建立 自己的初始化函数init.s。初始化文件一定要用汇编语言。至少需要下列代码(这个跟重要)
                    MPORT   name                    AREA    Init,CODE,READONLY
                    ENTRY  
                    bl  name
                    end
   注意:name一定要是主函数名,其他函数可以按照C文件的一般编写方法编写,如下列程序代码:
#include"2440addr.h"    //定义了各个特殊功能寄存器地址和名称,要使用必须调用该头文件
/*=== 如果不调用该头文件,必须把要使用的定义名称和地址语句在主程序前声明
#define rGPBCON    (*(volatile unsigned *)0x56000010)//Port B control
#define rGPBDAT    (*(volatile unsigned *)0x56000014)//Port B data
#define rGPBUP     (*(volatile unsigned *)0x56000018)//Pull-up control */   
/*  自定义简单延迟程序  */
int name(int times)
{
    int i;
    for(i=0;i<times;i++);
    return 0;
}

/*  主程序  */
void xmain(void)     //主函数名称与主函数入口地址对应,在2440init.s中有定义
{                    //不能随意写成main,或者Main等,要查看在2440init.s文件(见下图)


        rGPBCON |=0x3fc00;  //GPB5-8  able output,先让11 1111 11xx xxxx xxxx
        rGPBCON &=0x157ff;  //  00-in 01-out          01   0101 01xx xxxx xxxx
                                         //                             P8   P6P7 P5P4 P3P2 P1P0
                                               //                        G    G G  G x       x x  x x
while(1)
    {

             rGPBDAT|=0x1e0;//GPB8 output 0           1  111x xxxx
             rGPBDAT&=0xeff;//                                 0  111x xxxx
             delay(5);//调用汇编语言编写的延时程序

             rGPBDAT|=0x1e0;//GPB7 output 0           1  111x xxxx
             rGPBDAT&=0xf7f;//                                 1  011x xxxx
             delay(5);//调用汇编语言编写的延时程序


             rGPBDAT|=0x1e0;//GPB6 output 0           1  111x xxxx
             rGPBDAT&=0xfbf;//                                 1  101x xxxx      
             delay(5);//调用汇编语言编写的延时程序

             rGPBDAT|=0x1e0;//GPB5 output 0           1  111x xxxx
             rGPBDAT&=0xfdf;//                                 1  110x xxxx      
             delay(5);//调用汇编语言编写的延时程序


    }
}

也可继续按照下列步骤再添加
4。用添加头文件的方式把自己需要的子函数以头文件.h的方式编写,需要几个编写几个
5。编写自己的主函数,主义主函数的名称要用初始化函数中的名称。
6。将以上文件添加到项目中来。





回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表