999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

零基礎arm裸板編程入門

2013-08-20 05:58:36劉光然
關鍵詞:功能

劉光然

(湖北經濟學院 電子工程系,湖北 武漢430205)

1.初識 arm

學習ARM,首先要清楚ARM為何物。

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

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

其次弄清楚ARM與單片機的聯系與區別。

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

2.Arm裸板編程

2.1 Arm裸板編程步驟

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

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

(3)編寫代碼。

2.2 Arm硬件電路原理圖

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

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

圖1 :ARM與發光二極管硬件原理圖

2.3 查看芯片手冊

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

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

圖2 :GPFCON功能表

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

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

圖3 :GPFDATE寄存器

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

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

通過上面的敘述,我們已經明確了在ARM上點亮LED燈的具體操作方法,那我們如何用程序實現上面的操作呢。由于程序是arm匯編語言和c語言混合編程,因此在下一節詳細介紹程序代碼。

3.程序代碼及釋義

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

由于makefile關于編譯生成二進制文件。對于理解arm裸板編程原理暫時忽略。

首先分析crt0.S.

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

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

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

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

第9-10行表示匯編中的死循環。

這個匯編程序的作用就是關看門狗,設置堆棧,然后跳到c中的main函數。

再來分析leds.c:

程序解釋如下:

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

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

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

10-22行為主函數。

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

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

14-18行是一個while循環。

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

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

4.結語

目前的教材和出版文獻對于講授arm裸板編程入門并沒有一個很好的解決辦法,本文通過一個簡單實例發光二極管的裸板程序實現,實現了零基礎的arm裸板編程,降低了學習門檻,便于初學者入門。

附錄A

Makefile程序代碼:

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

[2]杜春雷.ARM體系結構與編程[M].北京:清華大學出版社,2003.

[3]詹榮開.嵌入式系統BootLoader技術內幕[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].北京:電子工業出版社,2010,(2).

猜你喜歡
功能
拆解復雜功能
鐘表(2023年5期)2023-10-27 04:20:44
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
基層弄虛作假的“新功能取向”
當代陜西(2021年21期)2022-01-19 02:00:26
深刻理解功能關系
鉗把功能創新實踐應用
關于非首都功能疏解的幾點思考
基于PMC窗口功能實現設備同步刷刀功能
懷孕了,凝血功能怎么變?
媽媽寶寶(2017年2期)2017-02-21 01:21:24
“簡直”和“幾乎”的表達功能
中西醫結合治療甲狀腺功能亢進癥31例
主站蜘蛛池模板: 国产精品亚洲а∨天堂免下载| 国产中文在线亚洲精品官网| 精品国产三级在线观看| 人妻少妇乱子伦精品无码专区毛片| 久久毛片网| 亚洲综合亚洲国产尤物| 国产乱子伦视频在线播放| 欧美亚洲一区二区三区导航| 97se亚洲综合在线天天| 日韩中文精品亚洲第三区| 成人日韩欧美| 国产一区二区精品福利| 91美女视频在线| 久久青草精品一区二区三区| 国产乱人乱偷精品视频a人人澡| 99国产在线视频| 中文字幕久久亚洲一区| 亚洲国产午夜精华无码福利| 国产自在线播放| 99激情网| 久久情精品国产品免费| 亚洲第一在线播放| 久久精品人人做人人爽| 热99re99首页精品亚洲五月天| 国产精品极品美女自在线| 人妻中文字幕无码久久一区| 国产精品视频猛进猛出| v天堂中文在线| 免费播放毛片| www.av男人.com| 欧美一区二区精品久久久| 亚洲欧洲一区二区三区| 2021亚洲精品不卡a| 亚洲一区毛片| 国产精品国产主播在线观看| 男女男免费视频网站国产| 国产成人在线无码免费视频| 青青草91视频| 精品久久久无码专区中文字幕| 91美女视频在线观看| 欧美a级在线| 国产欧美日韩在线一区| 欧美丝袜高跟鞋一区二区| 欧美日韩高清在线| 国产理论精品| 精品人妻AV区| 久久香蕉国产线| a欧美在线| 四虎国产精品永久一区| 丁香五月婷婷激情基地| 一本大道香蕉高清久久| 国产日韩AV高潮在线| 九九九久久国产精品| 毛片国产精品完整版| 免费在线视频a| 亚洲天堂首页| 99热这里只有精品久久免费| 无码网站免费观看| 国产亚卅精品无码| 九九线精品视频在线观看| 亚洲人成影视在线观看| 狠狠色综合网| 精品视频一区二区三区在线播| 亚洲无限乱码一二三四区| 欧美福利在线| 中文字幕日韩欧美| 91亚洲精品国产自在现线| 国产精品亚洲一区二区三区在线观看| 亚洲美女久久| 伊伊人成亚洲综合人网7777| 91www在线观看| 91在线精品麻豆欧美在线| 99视频国产精品| 99热国产这里只有精品无卡顿"| 92午夜福利影院一区二区三区| 国产精品自在自线免费观看| 热思思久久免费视频| 麻豆精品在线视频| 福利片91| 国产自在线播放| 免费精品一区二区h| 色网站在线免费观看|