久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3060|回復: 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。將以上文件添加到項目中來。





分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91亚洲精品久久久电影 | 91精品国产91久久久久青草 | 中文在线一区二区 | 国产视频线观看永久免费 | 国产一区二区免费 | 亚洲欧美一区二区三区在线 | 日韩精品一区二区三区四区 | 国产在线精品一区二区三区 | 亚洲免费网| 免费在线观看一区二区 | 精品国产乱码久久久久久丨区2区 | 久久久国产精品一区 | 天天精品在线 | 日韩久久久久久 | 一区二区三区在线看 | 亚洲国产一区在线 | 看毛片网站 | a级毛片国产 | www日本高清| 午夜网站视频 | 欧美日韩黄色一级片 | 成人午夜电影在线观看 | 天堂色网 | 久久精品青青大伊人av | 久久一区二区精品 | 正在播放国产精品 | 亚洲一区中文字幕 | 国产精品久久久久久久久免费丝袜 | 国产乱码精品一区二区三区中文 | 免费视频一区二区 | 欧美精品乱码久久久久久按摩 | 黄色a视频 | 香蕉婷婷 | 亚洲国产激情 | 天堂久 | 亚洲成av人影片在线观看 | av在线播放国产 | 国产在线精品一区 | 国产精品免费av | 国产专区视频 | 亚洲精品视频一区二区三区 |