嵌入式實驗指導書(計算機專業(yè)適用)_圖文_第1頁
嵌入式實驗指導書(計算機專業(yè)適用)_圖文_第2頁
嵌入式實驗指導書(計算機專業(yè)適用)_圖文_第3頁
嵌入式實驗指導書(計算機專業(yè)適用)_圖文_第4頁
嵌入式實驗指導書(計算機專業(yè)適用)_圖文_第5頁
已閱讀5頁,還剩76頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

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

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

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

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

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

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

10、很多麻煩。一般來說一套具備最基本功能的交叉開發(fā)環(huán)境是ARM 嵌入式開發(fā)必不可少的,至于嵌入式實時操作系統(tǒng)、評估板等其他開發(fā)工具則可以根據(jù)應用軟件規(guī)模和開發(fā)計劃選用。第二章 Embest ARM實驗教學系統(tǒng)2.1 教學系統(tǒng)介紹Embest ARM教學系統(tǒng)包括Embest IDE集成開發(fā)環(huán)境,Embest JTAG 仿真器,F(xiàn)lash 編程器,Embest Arm EduKit II開發(fā)板、各種連接線、電源適配器以及實驗指導書等。基本實驗模型示意圖如2-1所示: 圖 2-1 實驗模型示意圖1)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)上運行,主要支持ARM 系列處理器。對于ARM 系列處理器,Embest IDE目前支持ARM7以及ARM9系列。Embest IDE for ARM主要特性如下: 支持開發(fā)語言:C 和匯編。 界面友好,使用方便:類似MS Visual Studio的用戶界面。 工程管理器:圖形化的工程管理工具,負責應用源程序的文件組織和管理,提供編譯、鏈接、庫文件的設置窗口,可在一個工作區(qū)中同時管理多個應用軟件和庫工程。 源碼編輯器:標準的文本編輯功能,支持語法關鍵字、關鍵字色彩顯示等。IDE 同時提供了高

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

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

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

15、 堆棧顯示。 同時提供圖形界面操作和命令行操作方式。 支持被調(diào)試代碼的多種顯示模式,能以源碼的形式、匯編的形式、混合的形式來顯示程序。 提供外圍寄存器細節(jié)屬性窗口,調(diào)試過程中可動態(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 邊界掃描口進行調(diào)試的設備。JTAG 仿真器連接比較方便,通過現(xiàn)有的JTAG 邊界掃描口與 ARM CPU 核通信,屬于完全非

16、插入式(即不使用片上資源 調(diào)試,它無需目標存儲器,不占用目標系統(tǒng)的任何端口,而這些是駐留監(jiān)控軟件所必需的。另外,由于JTAG 調(diào)試的目標程序是在目標板上執(zhí)行,仿真更接近于目標硬件,因此,許多接口問題,如高頻操作限制、AC 和DC 參數(shù)不匹配,電線長度的限制等被最小化了。使用集成開發(fā)環(huán)境配合JTAG 仿真器進行開發(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 仿真器目前分為三種類型,包括標準型(Embest Emulator for ARM),增強型(Embest PowerICE for ARM)和通用型(Embest UnetICE for ARM),主要區(qū)別在于下載調(diào)試的速度不同。其中Embest Emulator for ARM,Embest PowerICE for ARM根據(jù)采用打印機并口(LPTx )與主機通訊,即仿真器一端是一個DB25的接口,用于連接計算機的并行口,另外一端是20針的IDC 插頭,用于連接目標板。Embest UnetICE for ARM 則可以使用USB 接口或Ethernet RJ45接口

18、與主機通訊,分別使用USB 線或交叉網(wǎng)線與主機USB 或RJ45接口相連。Embest JTAG 仿真器面板上面都有三只指示燈,對當前的工作狀態(tài)做出指示。當用戶程序編寫完之后,需要把程序生成的二進制執(zhí)行文件燒寫到開發(fā)板的Flash 存儲器中觀察實際運行結(jié)果。英蓓特公司提供了一套完善的Flash 編程器,用戶可以直接使用該編程器對開發(fā)板上的Flash 進行讀寫(使用時需要配合前面提到的Embest JTAG 仿真器)。其運行界面如圖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系列。英蓓特公司可免費提供新Flash 芯片型號支持。 支持對FLASH 進行空白檢查、擦除、編程、文件校驗、計算校驗和、保護、上載。 支持8位、16位和32位讀寫訪問寬度。 支持Windows 98、2000、NT 及XP 操作系統(tǒng)。Embest Arm EduKit II開發(fā)板是實驗系統(tǒng)的主要硬件平臺,它是英蓓特公司開發(fā)的一款全功能ARM 開發(fā)板,基于Samsun

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

45、碼行前面放置一藍色向右箭頭標志(見下圖的青色圓圈包圍處),函數(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其他特點: 編程配置數(shù)據(jù)的保存和載入。 編程前的寄存器讀取功能和目標測試功能。 FLASH 扇區(qū)地址指示功能。 簡單直接的處理器寄存器設置界面。 圖2-71 Flash Programmer軟件界面第三章 嵌入式軟件開發(fā)基礎實驗3

46、.1 ARM匯編指令實驗一 初步學會使用Embest IDE for ARM 開發(fā)環(huán)境及ARM 軟件模擬器; 通過實驗掌握簡單ARM 匯編指令的使用方法。 硬件:PC 機 軟件: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ù)學/邏輯運算。1. 存儲器格式ARM 體系結(jié)構(gòu)可以用兩種方法存儲字數(shù)據(jù),分別稱為大端格式和小端格式。 1 大端格式在這種格式中,字數(shù)據(jù)的高位字節(jié)存儲在低地址中,而字數(shù)據(jù)的低位字節(jié)則

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

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

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

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

溫馨提示

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

評論

0/150

提交評論