嵌入式實(shí)驗(yàn)指導(dǎo)書(計(jì)算機(jī)專業(yè)適用)_圖文_第1頁
嵌入式實(shí)驗(yàn)指導(dǎo)書(計(jì)算機(jī)專業(yè)適用)_圖文_第2頁
嵌入式實(shí)驗(yàn)指導(dǎo)書(計(jì)算機(jī)專業(yè)適用)_圖文_第3頁
嵌入式實(shí)驗(yàn)指導(dǎo)書(計(jì)算機(jī)專業(yè)適用)_圖文_第4頁
嵌入式實(shí)驗(yàn)指導(dǎo)書(計(jì)算機(jī)專業(yè)適用)_圖文_第5頁
已閱讀5頁,還剩76頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、計(jì)算機(jī)專業(yè)適用嵌入 式 系實(shí)驗(yàn)指導(dǎo)書信息科學(xué)與工程學(xué)院2008年4月統(tǒng)目 錄目 錄 . 2第一章 嵌入式系統(tǒng)開發(fā)與應(yīng)用概述 . 31.1 嵌入式系統(tǒng)開發(fā)與應(yīng)用 . 31.2 基于ARM 的嵌入式開發(fā)環(huán)境概述 . 3第二章 Embest ARM實(shí)驗(yàn)教學(xué)系統(tǒng) . . 52.1 教學(xué)系統(tǒng)介紹 . 52.2 教學(xué)系統(tǒng)安裝 . 102.3 教學(xué)系統(tǒng)的硬件電路 . . 112.4 集成開發(fā)環(huán)境使用說明 . 12第三章 嵌入式軟件開發(fā)基礎(chǔ)實(shí)驗(yàn) . 263.1 ARM匯編指令實(shí)驗(yàn)一 . 263.2 C語言程序?qū)嶒?yàn)一 . 32第四章 基本接口實(shí)驗(yàn) . . 364.1 存儲器實(shí)驗(yàn) . . 364.2 I/O 接口

2、實(shí)驗(yàn) . 464.3 數(shù)碼管顯示實(shí)驗(yàn) . 53第五章 人機(jī)接口實(shí)驗(yàn) . . 575.1 液晶顯示實(shí)驗(yàn) . 575.2 5x4 鍵盤控制實(shí)驗(yàn) . 705.3 觸摸屏控制實(shí)驗(yàn) . 74第六章 實(shí)時(shí)操作系統(tǒng)實(shí)驗(yàn) . 836.1 uC/OS-II應(yīng)用實(shí)驗(yàn) . . 83第一章 嵌入式系統(tǒng)開發(fā)與應(yīng)用概述1.1 嵌入式系統(tǒng)開發(fā)與應(yīng)用以嵌入式計(jì)算機(jī)為技術(shù)核心的嵌入式系統(tǒng)是繼網(wǎng)絡(luò)技術(shù)之后,又一個(gè)IT 領(lǐng)域新的技術(shù)發(fā)展方向。由于嵌入式系統(tǒng)具有體積小、性能強(qiáng)、功耗低、可靠性高以及面向行業(yè)具體應(yīng)用等突出特征,目前已經(jīng)廣泛地應(yīng)用于軍事國防、消費(fèi)電子、信息家電、網(wǎng)絡(luò)通信、工業(yè)控制等各個(gè)領(lǐng)域。嵌入式的廣泛應(yīng)用可以說是無所不

3、在。就我們周圍的日常生活用品而言,各種電子手表、電話、手機(jī)、PDA 、洗衣機(jī)、電視機(jī)、電飯鍋、微波爐、空調(diào)器都有嵌入式系統(tǒng)的存在,如果說我們生活在一個(gè)充滿嵌入式的世界,是毫不夸張的。據(jù)統(tǒng)計(jì),一般家用汽車的嵌入式計(jì)算機(jī)在24個(gè)以上,豪華汽車的在60個(gè)以上。ARM 系列處理器核是英國先進(jìn)RISC 機(jī)器公司(Advanced RISC Machines,ARM )的產(chǎn)品。ARM 公司自成立以來,一直以IP(Intelligence Property提供者的身份向各大半導(dǎo)體制造商出售知識產(chǎn)權(quán),而自己從不介入芯片的生產(chǎn)銷售,它提供一些高性能、低功耗、低成本和高可靠性的RISC 處理器核、外圍部件和系統(tǒng)級

4、芯片的應(yīng)用解決設(shè)計(jì)方案。ARM 處理器核具有低功耗、低成本等卓越性能和顯著優(yōu)點(diǎn),越來越多的芯片廠商早已看好ARM 的前景。目前非常流行的ARM 芯核有ARM7TDMI ,ARM720T ,ARM9TDMI ,ARM920T ,XScale 等。此外,ARM 芯片還獲得了許多實(shí)時(shí)操作系統(tǒng)(Real Time Operating System供應(yīng)商的支持,比較知名的有:Windows CE、uCLinux 、VxWorks 、uC/OS等。ARM 公司具有完整的產(chǎn)業(yè)鏈,ARM 的全球合作伙伴主要為半導(dǎo)體和系統(tǒng)伙伴、操作系統(tǒng)伙伴、開發(fā)工具伙伴、應(yīng)用伙伴、ARM 技術(shù)共享計(jì)劃 (ATAP ),ARM

5、的緊密合作伙伴已發(fā)展為122家半導(dǎo)體和系統(tǒng)合作伙伴、50家操作系統(tǒng)合作伙伴,35家技術(shù)共享合作伙伴, 并在2002年在上海成立中國全資子公司。早在1999年,ARM 就已突破1.5億個(gè),市場份額超過了50%,而在最新的市場調(diào)查表明,在2001年度里,ARM 占據(jù)了整個(gè)32、64位嵌入式微處理器市場的75%,在2002年度里,占據(jù)了整個(gè)32、64位嵌入式微處理器市場的79.5%,全世界已使用了20多億個(gè)ARM 核。ARM 已經(jīng)成為業(yè)界的龍頭老大, “每個(gè)人口袋中裝著ARM ”, 是毫不夸張的。因?yàn)閹缀跛械氖謾C(jī)、移動(dòng)設(shè)備、PDA 幾乎都是用具有ARM 核的系統(tǒng)芯片開發(fā)的。1.2 基于ARM 的嵌

6、入式開發(fā)環(huán)境概述作為嵌入式系統(tǒng)應(yīng)用的ARM 處理器,其應(yīng)用軟件的開發(fā)屬跨平臺開發(fā),因此需要一個(gè)交叉開發(fā)環(huán)境。交叉開發(fā)是指在一臺通用計(jì)算機(jī)上進(jìn)行軟件的編輯編譯,然后下載到嵌入式設(shè)備中進(jìn)行運(yùn)行調(diào)試的開發(fā)方式。用來開發(fā)的通用計(jì)算機(jī)可以選用比較常見的PC 機(jī)、工作站等,運(yùn)行通用的Windows 或Unix 操作系統(tǒng)。開發(fā)計(jì)算機(jī)一般稱宿主機(jī),嵌入式設(shè)備稱為目標(biāo)機(jī),在宿主機(jī)上編譯好的程序,下載到目標(biāo)機(jī)上運(yùn)行,交叉開發(fā)環(huán)境提供調(diào)試工具對目標(biāo)機(jī)上運(yùn)行的程序進(jìn)行調(diào)試。交叉開發(fā)環(huán)境一般由運(yùn)行于宿主機(jī)上的交叉開發(fā)軟件(最少必須包含編譯調(diào)試模塊 、宿主機(jī)到目標(biāo)機(jī)的調(diào)試通道組成。運(yùn)行于宿主機(jī)上的交叉開發(fā)軟件最少必須包含

7、編譯調(diào)試模塊,其編譯器為交叉編譯器。作為宿主機(jī)的一般為基于x86體系的桌上型計(jì)算機(jī),而編譯出的代碼必須在ARM 體系結(jié)構(gòu)的目標(biāo)機(jī)上運(yùn)行,這就是所謂的交叉編譯了。在宿主機(jī)上編譯好目標(biāo)代碼后,通過宿主機(jī)到目標(biāo)機(jī)的調(diào)試通道將代碼下載到目標(biāo)機(jī),然后由運(yùn)行于宿主機(jī)的調(diào)試軟件控制代碼在目標(biāo)機(jī)上運(yùn)行調(diào)試。為了方便調(diào)試開發(fā),交叉開發(fā)軟件一般為一個(gè)整合編輯、編譯匯編鏈接、調(diào)試、工程管理及函數(shù)庫等功能模塊的集成開發(fā)環(huán)境IDE (Integrated Development Environment)。模擬開發(fā)環(huán)境建立在交叉開發(fā)環(huán)境基礎(chǔ)之上,是對交叉開發(fā)環(huán)境的補(bǔ)充。這時(shí),除了宿主機(jī)和目標(biāo)機(jī)之外,還需要提供一個(gè)在宿主機(jī)

8、上模擬目標(biāo)機(jī)的環(huán)境,使得開發(fā)好的程序直接在這個(gè)環(huán)境里運(yùn)行調(diào)試。軟件模擬不可能完全代替真正的硬件環(huán)境,這種模擬調(diào)試只能作為一種初步調(diào)試,主要是用作用戶程序的模擬運(yùn)行,用來檢查語法、程序的結(jié)構(gòu)等簡單錯(cuò)誤,用戶最終還必須在真實(shí)的硬件環(huán)境中實(shí)際運(yùn)行調(diào)試,完成整個(gè)應(yīng)用的開發(fā)。評估電路板,也稱作開發(fā)板,一般用來作為開發(fā)者學(xué)習(xí)板、實(shí)驗(yàn)板,可以作為應(yīng)用目標(biāo)板出來之前的軟件測試、硬件調(diào)試的電路板。尤其是對應(yīng)用系統(tǒng)的功能沒有完全確定、初步進(jìn)行嵌入式開發(fā)且沒有相關(guān)開發(fā)經(jīng)驗(yàn)的非常重要。開發(fā)評估電路板并不是ARM 應(yīng)用開發(fā)必須的,對于有經(jīng)驗(yàn)的工程師完全可以自行獨(dú)立設(shè)計(jì)自己的應(yīng)用電路板和根據(jù)開發(fā)需要設(shè)計(jì)實(shí)驗(yàn)板。選購合適于

9、自己實(shí)際應(yīng)用的開發(fā)板可以加快開發(fā)進(jìn)度,可以減少自行設(shè)計(jì)開發(fā)的工作量。很多初學(xué)者認(rèn)為嵌入式開發(fā)必須采用嵌入式操作系統(tǒng)。實(shí)際上,一個(gè)嵌入式應(yīng)用是否采用嵌入式操作系統(tǒng),采用哪種嵌入式操作系統(tǒng)完全由項(xiàng)目的復(fù)雜程度、實(shí)時(shí)性要求、應(yīng)用軟件規(guī)模、目標(biāo)板硬件資源以及產(chǎn)品成本等因素決定。嵌入式操作系統(tǒng)一般可以提供內(nèi)存管理、多任務(wù)管理、外圍資源管理,給應(yīng)用程序設(shè)計(jì)帶來很多好處,但嵌入式操作系統(tǒng)同時(shí)也會占用一定的系統(tǒng)資源,并且要在用戶自己的目標(biāo)板上運(yùn)行起來,并基于操作系統(tǒng)來設(shè)計(jì)自己的應(yīng)用程序,也會相應(yīng)地帶來很多新的問題。所以對于不太復(fù)雜的應(yīng)用完全可以不用操作系統(tǒng),而對于應(yīng)用軟件規(guī)模較大的場合,采用操作系統(tǒng)則可以省掉

10、很多麻煩。一般來說一套具備最基本功能的交叉開發(fā)環(huán)境是ARM 嵌入式開發(fā)必不可少的,至于嵌入式實(shí)時(shí)操作系統(tǒng)、評估板等其他開發(fā)工具則可以根據(jù)應(yīng)用軟件規(guī)模和開發(fā)計(jì)劃選用。第二章 Embest ARM實(shí)驗(yàn)教學(xué)系統(tǒng)2.1 教學(xué)系統(tǒng)介紹Embest ARM教學(xué)系統(tǒng)包括Embest IDE集成開發(fā)環(huán)境,Embest JTAG 仿真器,F(xiàn)lash 編程器,Embest Arm EduKit II開發(fā)板、各種連接線、電源適配器以及實(shí)驗(yàn)指導(dǎo)書等?;緦?shí)驗(yàn)?zāi)P褪疽鈭D如2-1所示: 圖 2-1 實(shí)驗(yàn)?zāi)P褪疽鈭D1)Embest IDE開發(fā)環(huán)境界面如圖2-2 所示 圖2-2 Embest IDE開發(fā)環(huán)境軟件界面2)Emb

11、est IDE主要特征Embest IDE可在Windows 98、2000、NT 及XP 等操作系統(tǒng)上運(yùn)行,主要支持ARM 系列處理器。對于ARM 系列處理器,Embest IDE目前支持ARM7以及ARM9系列。Embest IDE for ARM主要特性如下: 支持開發(fā)語言:C 和匯編。 界面友好,使用方便:類似MS Visual Studio的用戶界面。 工程管理器:圖形化的工程管理工具,負(fù)責(zé)應(yīng)用源程序的文件組織和管理,提供編譯、鏈接、庫文件的設(shè)置窗口,可在一個(gè)工作區(qū)中同時(shí)管理多個(gè)應(yīng)用軟件和庫工程。 源碼編輯器:標(biāo)準(zhǔn)的文本編輯功能,支持語法關(guān)鍵字、關(guān)鍵字色彩顯示等。IDE 同時(shí)提供了高

12、效的Find in Files引擎,可迅速查找定位指定的字符串信息。 編譯工具:集成著名優(yōu)秀自由軟件GNU 的GCC 編譯器,并經(jīng)過優(yōu)化和嚴(yán)格測試,運(yùn)行在Win32環(huán)境;同時(shí)兼容ARM SDT2.51編譯器,可以方便ARM SDT 及ADS 的用戶在Embest IDE下編譯工程代碼。IDE 提供了圖形化的編譯器開關(guān)設(shè)置界面,用戶可以簡單、直觀、快捷地完成工程編譯選項(xiàng)設(shè)置。編譯信息的輸出,條理清晰,可迅速定位產(chǎn)生語法錯(cuò)誤的源文件行。 調(diào)試器:提供對ARM AXD 調(diào)試器的支持,可以方便使用Embest JTAG 仿真器調(diào)試ARM SDT 及ADS 環(huán)境的工程代碼。源碼級調(diào)試,提供了圖形和命令行

13、兩種調(diào)試方式,可進(jìn)行斷點(diǎn)設(shè)置、單步執(zhí)行、異常處理,可查看修改內(nèi)存、寄存器、變量等,可查看函數(shù)棧,可進(jìn)行反匯編等。支持ARM/Thumb指令調(diào)試。 調(diào)試設(shè)備:Embest JTAG仿真器,連接到主機(jī)的通信接口可以是DB25的LPT 口、USB 接口或Ethernet 接口,另外一端是IDC 插頭,連接到目標(biāo)板的JTAG 接口。用戶可以使用Embest IDE配合Embest JTAG仿真器進(jìn)行應(yīng)用軟件的開發(fā),Embest IDE 同時(shí)也支持一些國內(nèi)外常用的Jtag Cable線。 脫機(jī)調(diào)試:Embest IDE for ARM帶ARM 指令集模擬器,用戶可以在PC 上模擬調(diào)試ARM 應(yīng)用軟件。

14、豐富的例程:提供ADI 、Atmel 、Samsung 、Cirrus Logic、OKI 、Philips 、Sharp等多家公司ARM 處理器的調(diào)試程序示例和使用說明。 聯(lián)機(jī)幫助:中、英文兩種版本的在線幫助文檔。在嵌入式軟件開發(fā)時(shí),完成設(shè)計(jì)和編碼后,即開始調(diào)試程序,這是軟件開發(fā)的第三步。Embest IDE的調(diào)試功能包括: 斷點(diǎn)功能:斷點(diǎn)設(shè)置、斷點(diǎn)屏蔽、斷點(diǎn)取消、條件斷點(diǎn)、查看斷點(diǎn)列表。 程序的單步執(zhí)行。 變量監(jiān)視功能:隨程序運(yùn)行同步更新變量,變量值即時(shí)修改。 寄存器即時(shí)查看與修改。 提供外圍寄存器編輯器,可查看編輯ARM 處理器的外圍寄存器定義 存儲器查看與修改,存儲器內(nèi)容顯示格式定制。

15、 堆棧顯示。 同時(shí)提供圖形界面操作和命令行操作方式。 支持被調(diào)試代碼的多種顯示模式,能以源碼的形式、匯編的形式、混合的形式來顯示程序。 提供外圍寄存器細(xì)節(jié)屬性窗口,調(diào)試過程中可動(dòng)態(tài)修改外圍寄存器單元的配置 具有與MS Visual Studio類似的調(diào)試菜單功能:Go ,Stop ,Reset ,Step into,Step over,Step out,Run to Cursor等。 程序的上載和下載。JTAG 仿真器也稱為JTAG 調(diào)試器,是通過ARM 芯片的JTAG 邊界掃描口進(jìn)行調(diào)試的設(shè)備。JTAG 仿真器連接比較方便,通過現(xiàn)有的JTAG 邊界掃描口與 ARM CPU 核通信,屬于完全非

16、插入式(即不使用片上資源 調(diào)試,它無需目標(biāo)存儲器,不占用目標(biāo)系統(tǒng)的任何端口,而這些是駐留監(jiān)控軟件所必需的。另外,由于JTAG 調(diào)試的目標(biāo)程序是在目標(biāo)板上執(zhí)行,仿真更接近于目標(biāo)硬件,因此,許多接口問題,如高頻操作限制、AC 和DC 參數(shù)不匹配,電線長度的限制等被最小化了。使用集成開發(fā)環(huán)境配合JTAG 仿真器進(jìn)行開發(fā)是目前采用最多的一種調(diào)試方式。Embest JTAG 仿真器如下圖所示。 (a )Embest Emulator for ARM (b ) Embest PowerICE for ARM(c )Embest UnetICE for ARM圖 2-3 Embest JTAG 仿真器圖Em

17、best JTAG 仿真器目前分為三種類型,包括標(biāo)準(zhǔn)型(Embest Emulator for ARM),增強(qiáng)型(Embest PowerICE for ARM)和通用型(Embest UnetICE for ARM),主要區(qū)別在于下載調(diào)試的速度不同。其中Embest Emulator for ARM,Embest PowerICE for ARM根據(jù)采用打印機(jī)并口(LPTx )與主機(jī)通訊,即仿真器一端是一個(gè)DB25的接口,用于連接計(jì)算機(jī)的并行口,另外一端是20針的IDC 插頭,用于連接目標(biāo)板。Embest UnetICE for ARM 則可以使用USB 接口或Ethernet RJ45接口

18、與主機(jī)通訊,分別使用USB 線或交叉網(wǎng)線與主機(jī)USB 或RJ45接口相連。Embest JTAG 仿真器面板上面都有三只指示燈,對當(dāng)前的工作狀態(tài)做出指示。當(dāng)用戶程序編寫完之后,需要把程序生成的二進(jìn)制執(zhí)行文件燒寫到開發(fā)板的Flash 存儲器中觀察實(shí)際運(yùn)行結(jié)果。英蓓特公司提供了一套完善的Flash 編程器,用戶可以直接使用該編程器對開發(fā)板上的Flash 進(jìn)行讀寫(使用時(shí)需要配合前面提到的Embest JTAG 仿真器)。其運(yùn)行界面如圖2-4所示: 圖2-4 Flash編程器界面Flash 編程器的主要特征: 支持所有基于ARM7和ARM9核的處理器, 如ATMEL 公司AT91系列,SAMSUNG

19、公司S3C 系列等。用戶也可以通過選擇自定義(USER ->DEFINE,來定義編程使用的CPU 類型。 支持大多數(shù)廠家生產(chǎn)的FLASH 芯片, 如AMD 公司AM29系列,INTEL 公司28系列,SST 公司293949系列。英蓓特公司可免費(fèi)提供新Flash 芯片型號支持。 支持對FLASH 進(jìn)行空白檢查、擦除、編程、文件校驗(yàn)、計(jì)算校驗(yàn)和、保護(hù)、上載。 支持8位、16位和32位讀寫訪問寬度。 支持Windows 98、2000、NT 及XP 操作系統(tǒng)。Embest Arm EduKit II開發(fā)板是實(shí)驗(yàn)系統(tǒng)的主要硬件平臺,它是英蓓特公司開發(fā)的一款全功能ARM 開發(fā)板,基于Samsun

20、g 公司的S3C44B0X 處理器(ARM7TDMI,資源豐富。硬件系統(tǒng)包含了嵌入式系統(tǒng)開發(fā)應(yīng)用所需的大部分設(shè)備,如串口、以太網(wǎng)口、USB 口、音頻輸出、LCD 及TSP 觸摸屏、4*4的小鍵盤、固態(tài)硬盤、大容量的Flash 和SDRAM 等等。用戶不僅可以在該硬件平臺上完成實(shí)驗(yàn)系統(tǒng)提供的實(shí)驗(yàn)例子,還可以參考該平臺設(shè)計(jì)自己的目標(biāo)系統(tǒng)。該硬件平臺如下圖所示: 圖2-5 實(shí)驗(yàn)系統(tǒng)硬件平臺Embest Arm EduKit II開發(fā)板的基本資源如下: 電源:外部5V 電源供電或者由USB 接PC 供電, 電源指示LED 以及500mA 保險(xiǎn)絲 1M ×16bit Flash 4×

21、1M ×16bit SDRAM 4Kbit IIC BUS的串行EEPROM 2個(gè)串口,其中一個(gè)為簡單接口,一個(gè)為全接線接口,可跳接RS232 MODEM 復(fù)位開關(guān) 兩個(gè)中斷按鈕,兩個(gè)LED 外部IDE 硬盤接口,LCD 及TSP 觸摸屏接口 20針JTAG 接口 USB 連接器,4×4鍵盤接口 4個(gè)2×20PIN CPU擴(kuò)展接口 10M 以太網(wǎng)接口,8段數(shù)碼管 MICROPHONE 輸入口 IIS 音頻信號輸出口,可接雙聲道SPEAKER 固態(tài)硬盤16M ×8bit 320*240 帶觸摸功能的顯示屏實(shí)驗(yàn)系統(tǒng)除了提供以上的組件以外,還提供了各種連接時(shí)候

22、需要的電纜線。包括直通網(wǎng)線,USB 線,串口線,并口線和兩根JTAG 線(分別是20針和14針接口)。實(shí)驗(yàn)系統(tǒng)還提供一個(gè)5V 電源適配器(Embest Arm EduKit II實(shí)驗(yàn)板用2.2 教學(xué)系統(tǒng)安裝Embest ARM教學(xué)系統(tǒng)包括Embest IDE集成開發(fā)環(huán)境, Flash 編程器,Embest JTAG 仿真器,Embest EduKit II開發(fā)板、各種連接線及電源適配器。其中Embest IDE和Flash 編程器是屬軟件平臺部分,其余屬于硬件平臺部分。本章主要介紹如何安裝實(shí)驗(yàn)系統(tǒng)的軟件平臺、如何搭建和如何進(jìn)行軟件平臺與硬件平臺的連接。軟件平臺的搭建包括兩個(gè)部分1 Embest

23、 IDE集成開發(fā)環(huán)境的安裝2 Embest Flash編程器的安裝軟件安裝完畢后,請?jiān)敿?xì)閱讀相關(guān)軟件說明及軟件使用手冊。下面介紹如何進(jìn)行軟件平臺和硬件平臺的連接。 實(shí)驗(yàn)軟件平臺和硬件平臺的連接如圖2-1所示,PC 端與仿真器通過實(shí)驗(yàn)系統(tǒng)提供的并口線連接,仿真器和開發(fā)板通過一根20針的JTAG 線連接。其中需要注意:1 開發(fā)板使用5V DC電源供電,建議使用實(shí)驗(yàn)系統(tǒng)提供的變壓器2 仿真器側(cè)面的Jtag 跳線撥到20位置3 硬件平臺最好預(yù)先參照Embest EduKit II用戶手冊(在Embest ARM教學(xué)系統(tǒng)光盤中)進(jìn)行基本硬件檢測2.3 教學(xué)系統(tǒng)的硬件電路EMBEST ARM EDUKIT

24、 教學(xué)試驗(yàn)平臺是一款功能強(qiáng)大的32位的嵌入式開發(fā)板,里面采用了SAMSUNG 公司的以ARM7TDMI-S 為內(nèi)核的處理器S3C44B0X, 同時(shí)可以兼容S3C2410, 具有JTAG 調(diào)試等功能。板上提供了一些鍵盤、LED 和串口等一些常用的功能模塊,并且具有IDE 硬件接口,CF 存儲卡接口、以太網(wǎng)接口和SD 卡接口等等,對用戶在32位ARM 嵌入式領(lǐng)域進(jìn)行開發(fā)試驗(yàn)非常方便。 使用CPU 擴(kuò)展接口, 可以使用SAMSUNG 公司的S3C44B0X 和S3C2410; 系統(tǒng)核心板包括SDRAM 、CPU 、核心電壓模塊、實(shí)時(shí)時(shí)鐘、系統(tǒng)跳線、系統(tǒng)時(shí)鐘、核心板接口等; SDRAM 用量與CPU

25、有關(guān),2410采用64M ,44B0采用8/16M兼容芯片為HY57V561620或HY57V641620; 完全自主設(shè)計(jì)的軟硬件系統(tǒng),可以支持JTAG 仿真技術(shù),支持ADS 、SDT 和IDE等集成環(huán)境開發(fā); 具有2/4M兼容的 Nor Flash和8/16/32/64/128M兼容的Nand Flash; 兩個(gè)以太網(wǎng)口,一個(gè)為44B0和4510專用,另外一個(gè)為MII 接口的CPU 專用,用到的芯片分別是CS8900A 和RTL8201; 具有USB 接口電路; 具有串行口2個(gè),可以跟上位機(jī)進(jìn)行通訊; 內(nèi)部包含采用UDA1341TS 芯片的音頻電路模塊,方便進(jìn)行音頻調(diào)試試驗(yàn); 內(nèi)部包含IIC

26、 器件,采用支持IIC 的EEPROM-AT24C08; 顯示部分包括STN/TFT兼容接口的彩色LCD 、LED 指示燈和6個(gè)數(shù)碼管; 采用變阻器形式的ADC 數(shù)據(jù)采集電路; 提供實(shí)時(shí)時(shí)鐘控制試驗(yàn); 提供觸摸屏接口電路; 4×4鍵盤,可以擴(kuò)展至64鍵,使用芯片SD7218; 用PWM 控制的蜂鳴器電路,可以發(fā)出不同頻率的聲音; 提供用I/O控制的跑馬燈試驗(yàn); 提供由MAX485控制的RS422和RS485接口電路; 提供CAN 接口電路,方便組裝現(xiàn)場總線; 具有IDE 硬盤接口、CF 存儲卡接口、SD 卡接口和PS2接口; WDT 控制電路,提供SPI 接口; 包含紅外線接口模塊;

27、 具有采用擴(kuò)展子板形式的GPRS 模塊電路和GPS 模塊電路;11EMBEST ARM EDVKIT 教學(xué)試驗(yàn)平臺主要功能模塊如下: 圖2-13 ARM 開發(fā)板功能模塊2.4 集成開發(fā)環(huán)境使用說明在Windows 98/NT/2000/XP環(huán)境中運(yùn)行Embest IDE for ARM (主應(yīng)用程序?yàn)镋mbestIDE.exe )后,即進(jìn)入Embest IDE集成開發(fā)環(huán)境。Embest IDE集成開發(fā)環(huán)境主界面見下圖。12圖2-27 Embest IDE主界面圖Embest IDE集成開發(fā)環(huán)境的主框架窗口由標(biāo)題欄、菜單條、工具條、工程管理窗口、源文件窗口、輸出窗口和狀態(tài)條等組成。標(biāo)題欄顯示當(dāng)前

28、打開的文件名。工程管理窗口用于顯示當(dāng)前打開工程的有關(guān)信息,包括工程的文件組成等內(nèi)容。源文件窗口用于文本編輯器進(jìn)行C 、匯編等源文件的編輯以及調(diào)試時(shí)的源代碼執(zhí)行跟蹤。輸出窗口輸出編譯信息、調(diào)試信息、命令行輸入輸出和輸出一些查詢結(jié)果信息等。主框架窗口的最底端為狀態(tài)欄,用于顯示關(guān)于菜單條、工具條等的簡單說明信息以及文本編輯器中當(dāng)前光標(biāo)所在的行列號等。用戶可以通過鼠標(biāo)拖動(dòng),將菜單條、工具條、工程管理窗口、源文件窗口和輸出窗口等隨意更換順序和位置,也可以隱藏其中的某些窗口。在調(diào)試過程中,可以根據(jù)需要打開和關(guān)閉寄存器窗口、函數(shù)棧窗口、變量窗口、存儲器窗口、數(shù)據(jù)觀察窗口以及反匯編窗。1. 工程管理介紹在Em

29、best IDE集成開發(fā)環(huán)境中,工程是一個(gè)非常重要的概念,它是用戶組織一個(gè)應(yīng)用的所有源文件、設(shè)置編譯鏈接選項(xiàng)、生成調(diào)試信息文件和最終的目標(biāo)Bin 文件的一個(gè)基本結(jié)構(gòu)。一個(gè)工程管理一個(gè)應(yīng)用的所有源文件、庫文件、其它輸入文件,并根據(jù)實(shí)際情況進(jìn)行相應(yīng)的編譯鏈接設(shè)置,一個(gè)工程須生成一個(gè)相對應(yīng)的目錄,以進(jìn)行文件管理。Embest IDE工程管理提供以下功能: 將所有源文件組成一個(gè)有機(jī)整體,實(shí)現(xiàn)一個(gè)具體的應(yīng)用。在工程管理窗口中可方便地管理組成工程的所有源文件(見下圖 。以工程為單位定義設(shè)置應(yīng)用程序的各選項(xiàng),包括目標(biāo)處理器和調(diào)試設(shè)備的選擇與設(shè)置,調(diào)試相關(guān)信息的配置,以及編譯、匯編、鏈接等選項(xiàng)的設(shè)置等。系統(tǒng)提

30、供一個(gè)專門的對話框來設(shè)置這些選項(xiàng)。13 圖2-28 工程管理窗及右鍵菜單提供build 菜單和工具按鈕,讓用戶輕松進(jìn)行工程的編譯、鏈接。編譯、鏈接信息輸出到輸出窗口中的Build 標(biāo)簽窗中(見下圖 ,編譯鏈接出現(xiàn)的錯(cuò)誤,通過鼠標(biāo)左鍵雙擊錯(cuò)誤信息提示行來定位相應(yīng)的源文件行。 圖2-29 編譯鏈接輸出子窗口一個(gè)應(yīng)用工程編譯鏈接后根據(jù)編譯器的設(shè)置生成相應(yīng)格式的調(diào)試信息文件,調(diào)試通過的程序轉(zhuǎn)換成二進(jìn)制格式的可執(zhí)行文件后最終在目標(biāo)板上運(yùn)行。2. 工程的創(chuàng)建工程是置于工作區(qū)中管理的,因此在創(chuàng)建一個(gè)工程的同時(shí),會創(chuàng)建一個(gè)工作區(qū)。操作過程: 1 點(diǎn)擊菜單項(xiàng)File > New Workspace,系統(tǒng)彈

31、出一個(gè)對話框,如下圖所示。 圖2-30 創(chuàng)建一個(gè)新工程 142 在Project name 框中輸入新建工程名,Location 框中輸入該工程要保存的目錄路徑,或點(diǎn)擊選擇要保存的目錄路徑。3 點(diǎn)擊OK 按鈕,將創(chuàng)建一個(gè)新工程,并同時(shí)創(chuàng)建一個(gè)與工程名相同的工作區(qū)。此時(shí)在工作區(qū)窗口將打開該工作區(qū)和工程。 3. 建立一個(gè)新的源文件點(diǎn)擊菜單項(xiàng)File > New ,系統(tǒng)彈出一個(gè)新的、沒有標(biāo)題的文本編輯窗,輸入光標(biāo)位于窗口中第一行,用戶即可編輯輸入源文件代碼。 默認(rèn)情況下,在用戶編輯輸入時(shí),按C 語法來進(jìn)行顏色加亮顯示。編輯完后,保存該文件。4. 工程中文件的加入選擇Project 菜單中Add

32、 To Project>Files 命令,或單擊工程管理窗口中的相應(yīng)右鍵菜單命令,彈出文件選擇對話框,在工程目錄下使用CTRL 鍵同時(shí)選擇要加入的源文件: 圖2-31 加入源文件到工程中5. 設(shè)置活動(dòng)工程在一個(gè)工作區(qū)中可以存在幾個(gè)同時(shí)打開的工程,但只有一個(gè)工程處于活動(dòng)狀態(tài),處于活動(dòng)狀態(tài)的工程才可以作為調(diào)試工程。在工作區(qū)窗口中,處于活動(dòng)狀態(tài)的工程,其工程圖標(biāo)將顯示為加亮彩色。如圖2-32所示。 圖2-32 彩色圖標(biāo)及右鍵菜單設(shè)置活動(dòng)工程15在工作區(qū)窗口中,選中要設(shè)置為活動(dòng)狀態(tài)的工程,點(diǎn)擊鼠標(biāo)右鍵,彈出右鍵菜單,選擇Save as Active Project項(xiàng),可將該工程設(shè)置為活動(dòng)狀態(tài),如

33、圖2-32所示.選擇菜單項(xiàng)Project > Settings或快捷鍵Alt+F7,彈出工程設(shè)置對話框。在工程設(shè)置對話框中,選擇相應(yīng)的配置頁面可對處理器、仿真器、調(diào)試器、編譯器和匯編器等作配置。如對處理器Processor 設(shè)置對話框,如圖2-33,其它設(shè)置類同。 圖2-33 處理器配置對話框 圖2-54 工程build 菜單和工具條完成工程的設(shè)置后,就可以對工程進(jìn)行編譯鏈接了。用戶可以通過選擇主窗口Build 菜單項(xiàng)或Build 工具條按鈕,編譯相應(yīng)的文件或工程,同時(shí)將在輸出窗的Build 子窗口中輸出有關(guān)信息。如果在編譯鏈接過程中,出現(xiàn)任何錯(cuò)誤,包括源文件語法錯(cuò)誤和其它錯(cuò)誤時(shí),編譯鏈

34、接操作立刻終止,并在輸出窗的Build 子窗口中提示錯(cuò)誤,如果是語法錯(cuò)誤,用戶可以通過鼠標(biāo)左鍵雙擊錯(cuò)誤提示行,來定位引起錯(cuò)誤的源文件行。Embest IDE for ARM包含ARM 模擬器,支持脫離目標(biāo)板的ARM 應(yīng)用模擬調(diào)試,是開發(fā)人員進(jìn)行在線調(diào)試前的開發(fā)輔助工具。在線調(diào)試時(shí),首先將集成環(huán)境與JTAG 仿真器連接,點(diǎn)擊Debug > Remote Connect 菜單項(xiàng)可激活連接,然后點(diǎn)擊Download 菜單將目標(biāo)文件下載到目標(biāo)系統(tǒng)的指定存儲區(qū)中。如果在工程設(shè)置對話框調(diào)試選項(xiàng)中設(shè)置了自動(dòng)下載選項(xiàng),Embest IDE中的調(diào)試器會在與仿真器連接后自動(dòng)進(jìn)行下載,文件下載后即可進(jìn)行在線仿

35、真調(diào)試。1. 斷點(diǎn)和單步調(diào)試器可以控制目標(biāo)程序的運(yùn)行和停止,并反匯編正在調(diào)試的二進(jìn)制代碼,同時(shí)可通過設(shè)置斷點(diǎn)來控制程序的運(yùn)行,輔助用戶更快的調(diào)試目標(biāo)程序。Embest IDE的調(diào)試器可以在源程序、反匯編程序、以及源程序匯編程序混合模式窗口中設(shè)置和刪除斷點(diǎn)。設(shè)置斷點(diǎn)的有以下幾種方法:1. 將鼠標(biāo)指向源程序行左邊需設(shè)定斷點(diǎn)處,鼠標(biāo)形狀會變成手形指針,然后單擊鼠標(biāo)左鍵,這時(shí),程序行左邊會出現(xiàn)紅色圓形含黃色條的斷點(diǎn)標(biāo)志。2. 將光標(biāo)設(shè)置在需要設(shè)置斷點(diǎn)的代碼行處,按F9快捷鍵。3. 將光標(biāo)設(shè)置在需要設(shè)置斷點(diǎn)的代碼行處,點(diǎn)擊Debug 菜單,選取Toggle Breakpoint菜單項(xiàng)。第一次設(shè)置的斷點(diǎn)均

36、為有效斷點(diǎn),設(shè)置了有效斷點(diǎn)的源程序界面如圖2-55所示,青色圈處為有效斷點(diǎn)標(biāo)志: 圖2-55 有效斷點(diǎn)標(biāo)志在源程序窗,若在一條非執(zhí)行語句設(shè)斷點(diǎn),Embest IDE不會做出任何響應(yīng)。斷點(diǎn)狀態(tài)分為有效和無效狀態(tài),程序不會在無效狀態(tài)的斷點(diǎn)停止。無效斷點(diǎn)的源程序界面如圖2-56所示,青色圈處為無效斷點(diǎn)標(biāo)志: 圖2-56 無效斷點(diǎn)標(biāo)志當(dāng)程序運(yùn)行到有效斷點(diǎn)處時(shí),會停止在有效斷點(diǎn)處,其界面如圖2-57所示:圖2-57 停止在斷點(diǎn)處的程序界面用戶可使用斷點(diǎn)列表來查詢所有斷點(diǎn)信息和狀態(tài)。點(diǎn)擊Debug 菜單,選取“Breakpoint ”菜單項(xiàng),即可彈出斷點(diǎn)列表對話框,斷點(diǎn)列表對話框如圖2-58所示: 圖2-

37、58 斷點(diǎn)列表對話框界面在斷點(diǎn)列表對話框點(diǎn)擊Delete 按鈕將會刪除當(dāng)前選擇的斷點(diǎn),點(diǎn)擊Delete ALL按鈕將刪除當(dāng)前列表中所有斷點(diǎn),點(diǎn)擊View Code 按鈕將顯示當(dāng)前所選擇斷點(diǎn)對應(yīng)的源文件,如果是匯編斷點(diǎn)并且不對應(yīng)任何源文件,點(diǎn)擊View Code 按鈕將沒有任何反應(yīng),雙擊某一斷點(diǎn)行或者點(diǎn)擊Modify 按鈕,將可修改斷點(diǎn)信息,修改界面如圖2-59所示: 圖2-59 斷點(diǎn)信息修改界面若要設(shè)置斷點(diǎn)條件屬性,點(diǎn)擊斷點(diǎn)信息修改窗口的Advanced 按鈕,將下拉出另一附加窗口,界面如圖2-60所示,“When ”輸入欄用于輸入斷點(diǎn)條件表達(dá)式,“Command ”輸入欄用于輸入程序到達(dá)斷點(diǎn)

38、時(shí)候系統(tǒng)自動(dòng)執(zhí)行的命令。 圖2-60 條件斷點(diǎn)信息修改界面2. 反匯編窗反匯編窗用于顯示反匯編二進(jìn)制代碼后得到的匯編級代碼,可以混合源代碼顯示,也可以混合二進(jìn)制代碼顯示。反匯編窗可以設(shè)置和清除匯編級別斷點(diǎn)。 圖2-61 源文件與反匯編指令交叉顯示窗口界面3. 寄存器窗點(diǎn)擊菜單項(xiàng)View>debug windows>Variables可以打開和關(guān)閉寄存器窗口。 寄存器窗用于顯示和修改目標(biāo)系統(tǒng)中處理器內(nèi)核寄存器及其外圍接口寄存器值。寄存器名稱和數(shù)目依賴 于目標(biāo)系統(tǒng)處理器類型,當(dāng)調(diào)試不同目標(biāo)系統(tǒng)的時(shí)候,顯示的內(nèi)容會不一樣。寄存器值可以按照十進(jìn)制、十六進(jìn)制或者二進(jìn)制格式顯示,并可自動(dòng)刷新或

39、者根據(jù)需要由用戶手動(dòng)刷新顯示。寄存器顯示按照寄存器組方式,每組寄存器都可以分別設(shè)置不同的顯示格式。注:如果在工程配置的Processor 設(shè)置對話框沒有選擇相應(yīng)的處理器廠家及芯片型號,Peripheral 窗口將顯示空白寄存器窗的界面如圖2-62所示: 圖2-62 寄存器窗界面點(diǎn)擊某一個(gè)寄存器,該寄存器的名字和值會顯示在寄存器窗上部的輸入欄中,在輸入欄可以改變該寄存器的值,輸入欄如圖2-63所示: 圖2-63 寄存器值修改輸入欄當(dāng)寄存器的值被修改后會以紅色顯示該值,如圖2-64所示: 圖2-64 寄存器值被修改的寄存器窗界面4. 存儲區(qū)窗存儲區(qū)窗用于顯示和修改目標(biāo)系統(tǒng)中存儲區(qū)的內(nèi)容。存儲區(qū)窗顯

40、示從輸入的起始地址開始存儲的存儲區(qū)內(nèi)容,顯示長度根據(jù)存儲區(qū)窗大小而自動(dòng)匹配。存儲區(qū)內(nèi)容可以按照字節(jié)、半字或字長度顯示,并同時(shí)以十六進(jìn)制數(shù)和對應(yīng)的ASCII 字符顯示存儲區(qū)內(nèi)容。當(dāng)存儲區(qū)窗顯示范圍內(nèi)的存儲區(qū)數(shù)據(jù)有變化的時(shí)候,會以紅色顯示這些數(shù)據(jù)。IDE 同時(shí)提供了兩個(gè)內(nèi)存顯示窗口Memory1窗和Memory2窗(功能同Memory1窗 。按照字節(jié)長度顯示的存儲區(qū)窗的界面如圖2-65所示: 圖2-65 存儲區(qū)窗界面用戶可以在窗口上部的存儲區(qū)起始地址欄修改顯示起始地址,修改后存儲區(qū)窗會自動(dòng)從新的地址開始顯示存儲區(qū)內(nèi)容;地址輸入欄可以記錄用戶最近查看的10個(gè)起始地址值,用戶可從下拉菜單中選擇想要查看

41、的起始地址。存儲區(qū)起始地址欄如圖2-66所示: 圖2-66 存儲區(qū)起始地址輸入欄若要修改存儲區(qū)內(nèi)容,可在十六進(jìn)制數(shù)據(jù)欄或者ASCII 字符數(shù)據(jù)欄直接修改,修改的數(shù)據(jù)會立刻寫到對應(yīng)的存儲區(qū)中,并以紅色顯示改變了的數(shù)據(jù)。5. watch窗點(diǎn)擊菜單項(xiàng)View > Debug Windows >Watch可以打開和關(guān)閉數(shù)據(jù)觀察窗(watch。數(shù)據(jù)觀察窗用于顯示用戶想要觀察的變量或表達(dá)式值,用戶可以隨時(shí)增加或刪除觀察數(shù)據(jù)。觀察數(shù)據(jù)值可以按照十進(jìn)制或者十六進(jìn)制格式顯示。觀察數(shù)據(jù)值會跟隨用戶的每一步操作而自動(dòng)重新計(jì)算和顯示。數(shù)據(jù)觀察窗有兩個(gè)頁面:“Watch 1”和“Watch 2”,每個(gè)頁面可

42、以單獨(dú)輸入不同的數(shù)據(jù)。觀察數(shù)據(jù)名會跟隨工程自動(dòng)存儲,當(dāng)下一次打開同一個(gè)工程的時(shí)候,會自動(dòng)調(diào)入原先存在的觀察數(shù)據(jù)名。數(shù)據(jù)觀察窗缺省顯示為十六進(jìn)制,其界面如圖2-67所示:圖2-67 數(shù)據(jù)觀察窗界面用戶可以使用以下兩種方法增加觀察數(shù)據(jù):1. 雙擊數(shù)據(jù)觀察窗最后的空行的名字欄,數(shù)據(jù)觀察會在此處出現(xiàn)一個(gè)輸入框,輸入數(shù)據(jù)回車或者點(diǎn)擊其它行,調(diào)試器將計(jì)算數(shù)據(jù)值,并顯示在對應(yīng)的值欄目。2. 在數(shù)據(jù)觀察窗在點(diǎn)擊鼠標(biāo)右鍵,在數(shù)據(jù)觀察窗菜單中選取”Add ”菜單項(xiàng),將彈出輸入對話框,在其中輸入想要觀察的數(shù)據(jù)或者表達(dá)式。6. 變量窗點(diǎn)擊菜單項(xiàng)View > Debug Windows > Variable

43、s可以打開和關(guān)閉變量窗。變量窗用于顯示全局以及局部變量信息,并可修改變量值。變量窗有兩個(gè)頁面:“Global ”和“Local ”,分別用于顯示全局變量和函數(shù)局部變量。變量值以及局部變量名會跟隨用戶的每一步操作而自動(dòng)重新計(jì)算和顯示。當(dāng)變量窗中變量值有變化的時(shí)候,變量窗會變紅顯示這些數(shù)據(jù)值。變量窗缺省顯示為十六進(jìn)制,其界面如圖2-68所示: 圖2-68 變量窗界面 用戶可以察看變量的屬性,其中包括變量名字、變量值和變量類型。用戶可以修改變量值,方法是雙擊要修改的變量值欄,在顯示的輸入框中輸入新值。當(dāng)輸入的數(shù)據(jù)為合法數(shù)據(jù)時(shí)候,調(diào)試器會修改目標(biāo)系統(tǒng)中對應(yīng)變量的值,并變紅顯示修改后的數(shù)據(jù)。7. 函數(shù)棧

44、窗點(diǎn)擊菜單項(xiàng)View > Debug Windows > Call Stack可以打開和關(guān)閉函數(shù)棧窗。函數(shù)棧窗用于顯示函數(shù)運(yùn)行調(diào)用關(guān)系,函數(shù)參數(shù)值可以按照十六進(jìn)制或者十進(jìn)制格式顯示。最后調(diào)用的函數(shù)(即當(dāng)前運(yùn)行函數(shù))在窗口最上部的第一行,按照調(diào)用關(guān)系依次往下排列,起始函數(shù)在窗口末的最后一行。函數(shù)棧窗的界面如圖2-69所示(設(shè)置所有函數(shù)參數(shù)屬性顯示): 圖2-69 函數(shù)棧窗界面函數(shù)參數(shù)的名字、類型或值都可以單獨(dú)設(shè)置是否顯示。如果關(guān)閉所有函數(shù)參數(shù)顯示,將只顯示函數(shù)名字和返回類型。雙擊函數(shù)棧窗的某一函數(shù)所在行,源文件窗會顯示出該函數(shù)調(diào)用函數(shù)棧中上一函數(shù)返回后將要執(zhí)行的下一句代碼,并在該源代

45、碼行前面放置一藍(lán)色向右箭頭標(biāo)志(見下圖的青色圓圈包圍處),函數(shù)棧窗同時(shí)會高亮顯示該函數(shù)棧函數(shù)信息行。雙擊后調(diào)試器界面變化如圖2-70所示: 圖2-70 雙擊函數(shù)行后的調(diào)試器界面Embest IDE for ARM提供了Flash 編程工具,可以在板(on board檫除Falsh 或?qū)⑽募龑懙紽lash 中。軟件界面如圖2-71所示。Flash Programmer其他特點(diǎn): 編程配置數(shù)據(jù)的保存和載入。 編程前的寄存器讀取功能和目標(biāo)測試功能。 FLASH 扇區(qū)地址指示功能。 簡單直接的處理器寄存器設(shè)置界面。 圖2-71 Flash Programmer軟件界面第三章 嵌入式軟件開發(fā)基礎(chǔ)實(shí)驗(yàn)3

46、.1 ARM匯編指令實(shí)驗(yàn)一 初步學(xué)會使用Embest IDE for ARM 開發(fā)環(huán)境及ARM 軟件模擬器; 通過實(shí)驗(yàn)掌握簡單ARM 匯編指令的使用方法。 硬件:PC 機(jī) 軟件:Embest IDE Pro ARM集成開發(fā)環(huán)境,Windows 98/2000/NT/XP。 熟悉開發(fā)環(huán)境的使用并使用ldr/str,mov 等指令訪問寄存器或存儲單元。 使用add/sub/lsl/lsr/and/orr等指令,完成基本數(shù)學(xué)/邏輯運(yùn)算。1. 存儲器格式ARM 體系結(jié)構(gòu)可以用兩種方法存儲字?jǐn)?shù)據(jù),分別稱為大端格式和小端格式。 1 大端格式在這種格式中,字?jǐn)?shù)據(jù)的高位字節(jié)存儲在低地址中,而字?jǐn)?shù)據(jù)的低位字節(jié)則

47、存放在高地址中,如下圖所示。高地址 31 23 22 16 15 8 7 0 字地址低地址 2 小端格式在這種格式中,字?jǐn)?shù)據(jù)的高位字節(jié)存儲在高地址中,而字?jǐn)?shù)據(jù)的低位字節(jié)則存放在低地址中,如下圖所示。 8 4 0高地址 31 23 22 16 15 8 7 0 字地址 84低地址 3. GNU基礎(chǔ)知識Embest IDE集成了GNU 匯編器as ,編譯器gcc ,鏈接器ld 。因此,我們寫程序要符合GNU 的語法和規(guī)則。關(guān)于as 、gcc 和ld 的具體使用,請參照Embest IDE 所帶的電子文檔ProgRef.chm ,在此不再贅述。這里簡單介紹幾點(diǎn)基本知識:1 程序默認(rèn)入口點(diǎn)為“_sta

48、rt”,代碼段默認(rèn)起始地址為0x8000 2 as常用偽操作符 .equ.equ 偽操作為數(shù)字常量、基于寄存器的值和程序中的標(biāo)號定義一個(gè)字符名稱。 語法格式.equ symbol, expr其中,expr 為基于寄存器的地址值、程序中的標(biāo)號,32位的地址常量或者32位的常量。Symbol 為.equ 偽操作為expr 定義的字符名稱。 示例.equ Version, "0.1" .global 及.globl.global 聲明一個(gè)符號可以被其他文件引用。相當(dāng)于聲明了一個(gè)全局變量,.globl 與.global 相同。語法格式.global symbol其中,symbol

49、為聲明的符號的名稱。它是區(qū)分大小寫的。示例.global MyAsmFunc .text.text 偽操作將操作符開始的代碼編譯到代碼段或代碼段子段(subsection 語法格式.text subsection 示例.text .end標(biāo)記匯編文件的結(jié)束行,即標(biāo)號后的代碼不作處理。 語法格式.end1 新建工程:運(yùn)行Embest IDE集成開發(fā)環(huán)境,選擇菜單項(xiàng)File New Workspace,系統(tǒng)彈出一個(gè)對話框,按照圖3-1所示輸入相關(guān)內(nèi)容。圖3-1 新建工作區(qū)點(diǎn)擊OK 按鈕,將創(chuàng)建一個(gè)新工程,并同時(shí)創(chuàng)建一個(gè)與工程名相同的工作區(qū)。此時(shí)在工作區(qū)窗口將打開該工作區(qū)和工程。2 建立源文件:點(diǎn)擊

50、菜單項(xiàng)File New ,系統(tǒng)彈出一個(gè)新的、沒有標(biāo)題的文本編輯窗,輸入光標(biāo)位于窗口中第一行,按照實(shí)驗(yàn)參考程序編輯輸入源文件代碼。編輯完后,保存文件asm1_a.s。3 添加源文件:選擇Project Add To Project Files 命令,或單擊工程管理窗口中的相應(yīng)右鍵菜單命令,彈出文件選擇對話框,在工程目錄下選擇剛才建立的源文件asm1_a.s。4 基本配置:選擇菜單項(xiàng)Project Settings 或快捷鍵Alt+F7,彈出工程設(shè)置對話框。在工程設(shè)置對話框中,選擇Processor 設(shè)置對話框,按照圖3-2所示,進(jìn)行目標(biāo)板所用處理器的配置。 圖3-2 新的工作區(qū)處理器配置5 生成目標(biāo)代碼:選擇菜單項(xiàng)Build Build asm1_a或快捷鍵F7,生成目標(biāo)代碼。 圖3-3 Embest IDE編譯按鈕面板6 調(diào)試設(shè)置:選擇菜單項(xiàng)Project Settings 或快捷鍵Alt+F7,彈出工程設(shè)置對話框。在工程設(shè)置對話框中,選擇Remote 設(shè)置對話框,按照圖3-4所示對調(diào)試設(shè)備模塊進(jìn)行設(shè)置。 圖3-4 新工作區(qū)仿真器配置選擇Debug 設(shè)置對話框,按照下面各圖進(jìn)行調(diào)試模塊配置。 (a )連接相關(guān)配置 (b )下載相關(guān)配置 圖3-5 新工作區(qū)調(diào)試器配置注意: Symbo

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論