亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        零基礎(chǔ)arm裸板編程入門

        2013-08-20 05:58:36劉光然
        關(guān)鍵詞:功能

        劉光然

        (湖北經(jīng)濟(jì)學(xué)院 電子工程系,湖北 武漢430205)

        1.初識 arm

        學(xué)習(xí)ARM,首先要清楚ARM為何物。

        ARM的全稱Advanced RISC Machines。ARM是微處理器行業(yè)的一家知名企業(yè),設(shè)計了大量高性能、廉價、耗能低的RISC處理器、相關(guān)技術(shù)及軟件。技術(shù)具有性能高、成本低和能耗省的特點。適用于多種領(lǐng)域,比如嵌入控制、消費/教育類多媒體、DSP和移動式應(yīng)用等。ARM公司是專門從事基于RISC技術(shù)芯片設(shè)計開發(fā)的公司,作為知識產(chǎn)權(quán)供應(yīng)商,本身不直接從事芯片生產(chǎn),靠轉(zhuǎn)讓設(shè)計許可由合作公司生產(chǎn)各具特色的芯片,世界各大半導(dǎo)體生產(chǎn)商從ARM公司購買其設(shè)計的ARM微處理器核,根據(jù)各自不同的應(yīng)用領(lǐng)域,加入適當(dāng)?shù)耐鈬娐?,從而形成自己的ARM微處理器芯片進(jìn)入市場。目前,全世界有幾十家大的半導(dǎo)體公司都使用ARM公司的授權(quán),因此既使得 ARM技術(shù)獲得更多的第三方工具、制造、軟件的支持,又使整個系統(tǒng)成本降低,使產(chǎn)品更容易進(jìn)入市場被消費者所接受,更具有競爭力。

        說這么多,只用記住ARM是一個公司名字,也是一種處理器的通稱(運用ARM公司技術(shù),生產(chǎn)的處理器,統(tǒng)稱為ARM處理器)。

        其次弄清楚ARM與單片機(jī)的聯(lián)系與區(qū)別。

        單片機(jī)是屬于微控制器,ARM是微處理器,單片機(jī)更多的是強(qiáng)調(diào)在控制領(lǐng)域的使用,可以使用匯編語言或者c語言編程。而ARM在某種意義上來說它是一種高級的單片機(jī),其各項功能更加強(qiáng)大,編程使用arm匯編語言或者arm匯編語言與c語言混合編程,也就是必須使用匯編語言,增加了開發(fā)難度。

        2.Arm裸板編程

        2.1 Arm裸板編程步驟

        (1)看電路原理圖,確定硬件電路模塊的連接方式;

        (2)查看電路中各個芯片的芯片手冊,了解芯片的工作原理;

        (3)編寫代碼。

        2.2 Arm硬件電路原理圖

        為了讓初學(xué)者能夠順利入門,本文選取了一個簡單的硬件電路,采用ARM芯片點亮三盞LED燈,如圖1所示,3個發(fā)光二極管分別通過3個限流電阻連接到了arm9芯片上的3個管腳,分別是GPF4,GPF5,GPF6。

        發(fā)光二極管的工作原理(只看GPF4這一路):電源VCC(3.3V)到發(fā)光二極管D1,再通過限流電阻,接到arm芯片“GPF4”這個管腳上。只要“GPF4”輸出低電平,D1兩端才會有電流流過,這樣 D1 才會亮。即“GPF4=0”時,D1 亮;“GPF4=1”時,由于LED1兩端電壓一樣,沒有壓差,所以沒電流,則不會亮。

        圖1 :ARM與發(fā)光二極管硬件原理圖

        2.3 查看芯片手冊

        上小節(jié)討論的電路的工作原理,那么如何來控制GPF4管腳的電平呢?這就需要查閱電路中芯片的說明書——芯片手冊,打開芯片手冊s3c2440芯片手冊,搜索GPF4。通過定位找到第九章I/O port,發(fā)現(xiàn)需要配置“配置寄存器”(GPFCON)和“數(shù)據(jù)寄存器”(GPFDAT)這兩個寄存器來達(dá)到控制引腳的目的。

        配置寄存器GPFCON:ARM芯片的同一個管腳可以實現(xiàn)不同的功能,即你給它配置的參數(shù)不一樣,它所對應(yīng)的功能也就不一樣,可以是“輸出”也可以是“輸入”,再或者是其他功能(中斷等)。而芯片手冊告訴我們GPFCON的具體用法如圖2所示:

        圖2 :GPFCON功能表

        如果我們想要GPF4具有輸出功能,以便接下來給管腳輸出高低電平的話,我們就要配置“GPFCON[9:8]”這兩位,使其等于“01”,這樣GPF4功能就是“Output”,也就是輸出功能。

        數(shù)據(jù)寄存器GPFDAT:此寄存器的功能就是讓我們設(shè)置GPF各個管腳的電平,通過查芯片手冊如圖3所示:

        圖3 :GPFDATE寄存器

        芯片手冊上說,當(dāng)引腳被設(shè)置成“輸出引腳”時,“GPFDAT”中的比特0就對應(yīng)于“GPF0”,比特1就對應(yīng)GPF1,比特2就對應(yīng)GPF2…比特7對應(yīng)GPF7。

        假如想GPF4上接的二極管亮的話,我們就要配置比特4,對比特4置數(shù)0。

        通過上面的敘述,我們已經(jīng)明確了在ARM上點亮LED燈的具體操作方法,那我們?nèi)绾斡贸绦驅(qū)崿F(xiàn)上面的操作呢。由于程序是arm匯編語言和c語言混合編程,因此在下一節(jié)詳細(xì)介紹程序代碼。

        3.程序代碼及釋義

        程序包括crt0.S,leds.c,makefile三個文件。

        由于makefile關(guān)于編譯生成二進(jìn)制文件。對于理解arm裸板編程原理暫時忽略。

        首先分析crt0.S.

        1-3行是匯編語言的語法格式,表示匯編的開始。

        第4行把地址0x53000000裝入r0寄存器中,第5行把數(shù)值0裝入寄存器r1中,第6行,把數(shù)值0裝入到地址0x53000000。地址0x53000000是arm處理器中的看門狗寄存器地址,通過給這個寄存器賦值0,關(guān)閉看門狗功能。

        第7行設(shè)置堆棧地址的值為4k,堆棧是向下生長的。

        第8行匯編程序跳至c語言中的main函數(shù)。

        第9-10行表示匯編中的死循環(huán)。

        這個匯編程序的作用就是關(guān)看門狗,設(shè)置堆棧,然后跳到c中的main函數(shù)。

        再來分析leds.c:

        程序解釋如下:

        1-2行是宏定義將GPFCON定義為物理地址0x56000050里面的內(nèi)容。將GPFDAT定義為物理地址0x56000054里面的內(nèi)容。

        3-5行宏定義GPF4_out,GPF5_out,GPF6_out為GPFCON中分別對應(yīng)GPF4,GPF5,GPF6引腳所對應(yīng)的比特位。

        6-9行為一個延時程序。

        10-22行為主函數(shù)。

        第12行定義一個無符號的長整型變量i,為下面輸入GPFDAT中的數(shù)據(jù)服務(wù)。

        第13行用GPFCON這個寄存器配置引腳功能,使得GPF4,GPF5,GPF6引腳的功能為輸出。

        14-18行是一個while循環(huán)。

        第16行,通過設(shè)置GPFDAT,使 GPF4,GPF5,GPF6引腳輸出高電平1,發(fā)光二極管燈滅。

        第17行,通過設(shè)置GPFDAT,使 GPF4,GPF5,GPF6引腳輸出高電平0,發(fā)光二極管燈亮。

        4.結(jié)語

        目前的教材和出版文獻(xiàn)對于講授arm裸板編程入門并沒有一個很好的解決辦法,本文通過一個簡單實例發(fā)光二極管的裸板程序?qū)崿F(xiàn),實現(xiàn)了零基礎(chǔ)的arm裸板編程,降低了學(xué)習(xí)門檻,便于初學(xué)者入門。

        附錄A

        Makefile程序代碼:

        [1]韋東山.嵌入式Linux應(yīng)用開發(fā)完全手冊[M].北京:人民郵電出版社,2008,(8).

        [2]杜春雷.ARM體系結(jié)構(gòu)與編程[M].北京:清華大學(xué)出版社,2003.

        [3]詹榮開.嵌入式系統(tǒng)BootLoader技術(shù)內(nèi)幕[OL].http://www.ibm.com/developerworks/cn/linux/l-btloader/.

        [4]徐海兵.GNU make中文手冊[Z].

        [5]Samsung electronics.S3C2440A USER’S MANUAL[Z].

        [6]GNU Make.Richard M.Stallman,Roland McGrath,Paul D.Smith.

        [7]Arthur Griffith.GCC:The Complete Reference.McGraw-Hill/Osborne.

        [8]葛中海,尤新芳.Protel Dxp2004簡明教程與考證指南[M].北京:電子工業(yè)出版社,2010,(2).

        猜你喜歡
        功能
        拆解復(fù)雜功能
        鐘表(2023年5期)2023-10-27 04:20:44
        也談詩的“功能”
        中華詩詞(2022年6期)2022-12-31 06:41:24
        基層弄虛作假的“新功能取向”
        深刻理解功能關(guān)系
        鉗把功能創(chuàng)新實踐應(yīng)用
        關(guān)于非首都功能疏解的幾點思考
        基于PMC窗口功能實現(xiàn)設(shè)備同步刷刀功能
        懷孕了,凝血功能怎么變?
        媽媽寶寶(2017年2期)2017-02-21 01:21:24
        “簡直”和“幾乎”的表達(dá)功能
        中西醫(yī)結(jié)合治療甲狀腺功能亢進(jìn)癥31例
        久久久亚洲av成人网站| 日本一区二区高清视频| 一区二区三区四区黄色av网站 | 国产91对白在线观看| 中文字幕丰满人妻有码专区| 亚洲一区二区国产激情| 巨茎中出肉欲人妻在线视频| 极品尤物高潮潮喷在线视频| 蜜桃视频免费在线视频| 一区二区在线观看精品在线观看| 国产精品三级av及在线观看| 中文字幕亚洲乱码熟女一区二区| 亚洲AV成人综合五月天在线观看| 日日麻批免费高清视频| 久久久久无码国产精品一区| 无码人妻一区二区三区免费| 粉嫩小泬无遮挡久久久久久| 精华国产一区二区三区| 2020无码专区人妻系列日韩| 久久AV老司机精品网站导航| 免费国产在线精品三区| 五月天中文字幕日韩在线| 天天躁日日躁狠狠久久| 欧美亚洲国产日韩一区二区三区| 亚洲视一区二区三区四区| 麻豆精品导航| 三上悠亚久久精品| 亚洲一区二区精品久久岳| 亚洲高清国产成人精品久久 | 亚洲精品中文字幕无码蜜桃 | 精品少妇一区二区三区四区| 新婚人妻不戴套国产精品| 亚洲国产精品sss在线观看av| 色偷偷女人的天堂亚洲网| 精品人妻69一区二区三区蜜桃| 免费视频爱爱太爽了| 欧美黄色免费看| 亚洲综合偷拍一区二区| 在厨房被c到高潮a毛片奶水| 成年女人毛片免费视频| 国产精品日韩中文字幕|