嵌入式系統(tǒng)綜合項(xiàng)目開發(fā)指導(dǎo)書_第1頁(yè)
嵌入式系統(tǒng)綜合項(xiàng)目開發(fā)指導(dǎo)書_第2頁(yè)
嵌入式系統(tǒng)綜合項(xiàng)目開發(fā)指導(dǎo)書_第3頁(yè)
嵌入式系統(tǒng)綜合項(xiàng)目開發(fā)指導(dǎo)書_第4頁(yè)
嵌入式系統(tǒng)綜合項(xiàng)目開發(fā)指導(dǎo)書_第5頁(yè)
已閱讀5頁(yè),還剩75頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 嵌入式系統(tǒng)綜合項(xiàng)目開發(fā)指導(dǎo)書Developing Guide Book of Embedded System Comprehensive project謝小云 編著 江西理工大學(xué)應(yīng)用科學(xué)學(xué)院Applied Science Collage,Jiangxi University of Science and Technology前言項(xiàng)目設(shè)計(jì)是實(shí)踐教學(xué)體系中的一個(gè)重要環(huán)節(jié),通過項(xiàng)目設(shè)計(jì),可以融匯貫通各種理論知識(shí),綜合應(yīng)用多門課程的知識(shí)完成一個(gè)應(yīng)用系統(tǒng)的設(shè)計(jì)。所謂“實(shí)踐出真知”,嵌入式系統(tǒng)教學(xué)非常強(qiáng)調(diào)實(shí)踐能力的培養(yǎng),在基礎(chǔ)驗(yàn)證性實(shí)驗(yàn)的基礎(chǔ)上,進(jìn)行綜合設(shè)計(jì)性的項(xiàng)目設(shè)計(jì),對(duì)培養(yǎng)學(xué)生的工程實(shí)踐能力、項(xiàng)目開

2、發(fā)能力,具有重要的作用。本書從綜合一體的角度出發(fā),將嵌入式系統(tǒng)的理論教學(xué)與實(shí)踐教學(xué)有機(jī)地結(jié)合起來,力求達(dá)到“知行合一,學(xué)以致用”的目標(biāo),把項(xiàng)目設(shè)計(jì)的項(xiàng)目滲透到理論教學(xué)及基礎(chǔ)實(shí)驗(yàn)教學(xué)之中,將每一個(gè)項(xiàng)目設(shè)計(jì)項(xiàng)目分解成項(xiàng)目描述、項(xiàng)目需求、理論知識(shí)點(diǎn)和基礎(chǔ)實(shí)驗(yàn),讓學(xué)生可以從整體上把握自己所做項(xiàng)目所涉及的技術(shù),從而明確學(xué)習(xí)目標(biāo),避免學(xué)生忽視基礎(chǔ)理論的學(xué)習(xí)。本書注重“授人以漁”的教學(xué)原則,針對(duì)每一種項(xiàng)目設(shè)計(jì)項(xiàng)目,先給出一個(gè)完整的范例,作為學(xué)生學(xué)習(xí)研究的藍(lán)本,而后再針對(duì)多個(gè)項(xiàng)目設(shè)計(jì)項(xiàng)目給出有限的指導(dǎo)信息,使得學(xué)生易于上手,又有足夠的發(fā)揮空間,可以獨(dú)立完成項(xiàng)目設(shè)計(jì),提高實(shí)踐能力。本書共分4章,其中第1章是項(xiàng)目

3、設(shè)計(jì)概述,主要介紹項(xiàng)目設(shè)計(jì)的目的、作用和要求,最后還對(duì)項(xiàng)目設(shè)計(jì)文檔撰寫的要求和規(guī)范進(jìn)行了詳細(xì)論述;第2章介紹了ADS1.2和Mini2440實(shí)驗(yàn)板的使用方法,幫助讀者掌握了開發(fā)工具和開發(fā)平臺(tái)的使用方法;第3章介紹了適用于實(shí)時(shí)操作系統(tǒng)應(yīng)用軟件開發(fā)的DARTS方法,并給出了洗衣機(jī)控制軟件的設(shè)計(jì)過程;第4章是基于C/OS-操作系統(tǒng)的嵌入式系統(tǒng)項(xiàng)目設(shè)計(jì),在介紹C/OS-操作系統(tǒng)的基礎(chǔ)上,給出了一個(gè)完整的項(xiàng)目設(shè)計(jì)范例,并對(duì)10個(gè)課設(shè)項(xiàng)目給出了設(shè)計(jì)指導(dǎo);筆者在閱讀大量的各類項(xiàng)目設(shè)計(jì)指導(dǎo)書的基礎(chǔ)上,結(jié)合多年的嵌入式系統(tǒng)教學(xué)與研究經(jīng)驗(yàn),以及江西省教育廳教改課題“以工程項(xiàng)目為中心的嵌入式系統(tǒng)教學(xué)模式的研究(項(xiàng)目

4、號(hào):JXJG08-84-1”的研究成果,編寫了本書,由于時(shí)間倉(cāng)促,加之經(jīng)驗(yàn)有限,本書還存在很多不足之處,懇請(qǐng)讀者提出寶貴意見,以便在下一版本中加以改進(jìn),從而提高本書的質(zhì)量。 2011年6月目錄第1章概述 (11.1項(xiàng)目設(shè)計(jì)的目的 (11.2 項(xiàng)目設(shè)計(jì)的作用 (11.3 項(xiàng)目設(shè)計(jì)的要求 (21.4 項(xiàng)目設(shè)計(jì)文檔撰寫要求及其規(guī)范 (21.4.1 文檔撰寫規(guī)范 (21.4.2 文檔內(nèi)容要求 (3第2章ADS1.2及Mini2440開發(fā)板使用方法 (82.1 ADS1.2集成開發(fā)環(huán)境簡(jiǎn)介 (82.1.1 ADS簡(jiǎn)介 (82.1.2 ADS系統(tǒng)配置 (82.1.3 工程項(xiàng)目管理 (122.1.4 代碼編

5、譯、鏈接 (142.1.5 加載調(diào)試 (142.2 Mini2440開發(fā)板簡(jiǎn)介 (202.2.1 開發(fā)板外觀 (202.2.2 開發(fā)板硬件資源簡(jiǎn)介 (202.3 開發(fā)板設(shè)置及連接 (212.3.1 啟動(dòng)模式選擇 (212.3.2 外部接口連接 (222.3.3 設(shè)置超級(jí)終端 (222.4 開發(fā)板程序調(diào)試方法及步驟 (232.4.1 開發(fā)板BIOS功能及使用說明 (232.4.2 安裝USB下載驅(qū)動(dòng) (232.4.3 Mini2440主菜單功能說明 (242.4.4 下載運(yùn)行程序的步驟 (252.4.5 將C/OS程序燒寫到Nand Flash中的步驟 (272.5 C/OS的ADS1.2工程模

6、板及其BSP介紹 (282.5.1 C/OS工程模板 (282.5.2 BSP主要函數(shù)介紹 (30第3章實(shí)時(shí)軟件分析設(shè)計(jì)方法DARTS (343.1 DARTS設(shè)計(jì)方法概述 (343.2 DARTS設(shè)計(jì)方法的設(shè)計(jì)步驟 (343.3 基于DARTS的洗衣機(jī)控制軟件設(shè)計(jì) (403.3.1 洗衣機(jī)控制軟件需求分析與說明 (403.3.2 洗衣機(jī)控制軟件系統(tǒng)設(shè)計(jì)以及數(shù)據(jù)流分析 (413.3.3 洗衣機(jī)控制軟件任務(wù)劃分以及任務(wù)模塊設(shè)計(jì) (423.3.4 主要的功能流程設(shè)計(jì) (48第4章基于C/OS-II操作系統(tǒng)的嵌入式系統(tǒng)項(xiàng)目設(shè)計(jì) (494.1 C/OS-II操作系統(tǒng)簡(jiǎn)介 (494.1.1 C/OS-特

7、點(diǎn) (494.1.2 C/OS-上的應(yīng)用軟件開發(fā)方法 (494.2 項(xiàng)目設(shè)計(jì)范例 (504.2.1 項(xiàng)目描述 (504.2.2 項(xiàng)目需求 (514.2.3 理論知識(shí)點(diǎn) (514.2.4 基礎(chǔ)實(shí)驗(yàn) (524.2.5 開發(fā)流程 (524.3 項(xiàng)目設(shè)計(jì)指導(dǎo) (644.3.1 智能電風(fēng)扇的設(shè)計(jì) (644.3.2 門控系統(tǒng)的設(shè)計(jì) (664.3.3 數(shù)字相框的設(shè)計(jì) (684.3.4倉(cāng)庫(kù)監(jiān)控系統(tǒng)的設(shè)計(jì) (704.3.5 手持式電子書閱讀器的設(shè)計(jì) (724.3.6 電子告示板的設(shè)計(jì) (744.3.7 基于觸摸屏的信息查詢系統(tǒng)的設(shè)計(jì) (764.3.8 智能巡更系統(tǒng)的設(shè)計(jì) (774.3.9 無線通信系統(tǒng)的設(shè)計(jì) (

8、804.3.10 嵌入式點(diǎn)菜系統(tǒng)的設(shè)計(jì) (81參考文獻(xiàn) (84嵌入式系統(tǒng)綜合項(xiàng)目開發(fā)指導(dǎo)書第1章概述嵌入式系統(tǒng)的教學(xué)可以分為課堂理論教學(xué)、實(shí)驗(yàn)教學(xué)和項(xiàng)目設(shè)計(jì)三個(gè)層面。這三個(gè)層面的目標(biāo)有所不同。理論學(xué)習(xí)的主要目標(biāo)是掌握嵌入式系統(tǒng)的一般原理,例如實(shí)時(shí)調(diào)度策略、自動(dòng)控制算法等;實(shí)驗(yàn)教學(xué)的主要目的是掌握嵌入式系統(tǒng)的主要開發(fā)流程和基本方法,例如開發(fā)工具鏈的使用、小型應(yīng)用開發(fā)等;項(xiàng)目設(shè)計(jì)的主要目的是通過實(shí)際的嵌入式應(yīng)用系統(tǒng)開發(fā)實(shí)例掌握嵌入式系統(tǒng)設(shè)計(jì)和開發(fā)的技能和專門知識(shí),積累實(shí)踐和工程經(jīng)驗(yàn),可以完成對(duì)基本實(shí)驗(yàn)的綜合應(yīng)用。1.2 項(xiàng)目設(shè)計(jì)的作用綜合設(shè)計(jì)與理論教學(xué)、實(shí)驗(yàn)教學(xué)以及畢業(yè)設(shè)計(jì)相互結(jié)合,形成綜合一體的

9、實(shí)訓(xùn)體系,對(duì)促進(jìn)學(xué)生實(shí)踐動(dòng)手能力、工程開發(fā)能力,具有重要的作用。所謂綜合一體的實(shí)訓(xùn)體系是指以提升學(xué)生的工程實(shí)踐能力為目標(biāo),綜合考慮學(xué)生在校期間所有的實(shí)訓(xùn)環(huán)節(jié),實(shí)施多層次相結(jié)合、課內(nèi)外相結(jié)合、校內(nèi)外相結(jié)合的措施,使得各個(gè)實(shí)訓(xùn)環(huán)節(jié)形成相互銜接逐步深入的整體性有機(jī)體系。實(shí)施多層次相結(jié)合的實(shí)訓(xùn)方式,就是結(jié)合理論教學(xué)中選取的典型嵌入式系統(tǒng)工程項(xiàng)目,將其功能分解到實(shí)訓(xùn)的各個(gè)環(huán)節(jié)之中,使得嵌入式系統(tǒng)教學(xué)中所涉及的各種實(shí)驗(yàn)、實(shí)習(xí)、設(shè)計(jì)和訓(xùn)練在內(nèi)容上相互銜接成為一體,學(xué)生可以由淺入深,逐步深入地完成嵌入式系統(tǒng)工程項(xiàng)目的開發(fā)實(shí)踐。比如嵌入式系統(tǒng)項(xiàng)目“基于觸摸屏的信息查詢系統(tǒng)”,可以按圖1.1所示分解為四個(gè)層次,即

10、理論教學(xué)、課程實(shí)驗(yàn)、綜合設(shè)計(jì)和畢業(yè)設(shè)計(jì)。其中,后三個(gè)層次涉及實(shí)踐教學(xué),相互之間是逐步深入的,課程實(shí)驗(yàn)為后面兩個(gè)環(huán)節(jié)奠定了基礎(chǔ);綜合設(shè)計(jì)所設(shè)計(jì)的簡(jiǎn)易信息查詢系統(tǒng)沒有使用嵌入式操作系統(tǒng),只是將相關(guān)課程實(shí)驗(yàn)綜合在一起,完成從基礎(chǔ)驗(yàn)證性實(shí)驗(yàn)到綜合拓展性實(shí)驗(yàn)的跨越;畢業(yè)設(shè)計(jì)就是在綜合設(shè)計(jì)的基礎(chǔ)上引入嵌入式Linux操作系統(tǒng),從而設(shè)計(jì)一個(gè)功能完善的信息查詢系統(tǒng),完成綜合拓展性實(shí)驗(yàn)到研究創(chuàng)新性實(shí)驗(yàn)的跨越。 圖1.1 嵌入式系統(tǒng)項(xiàng)目實(shí)訓(xùn)分層實(shí)例第1章項(xiàng)目設(shè)計(jì)概述綜合設(shè)計(jì)及畢業(yè)設(shè)計(jì)等環(huán)節(jié)的嵌入式系統(tǒng)設(shè)計(jì)項(xiàng)目,需要以嵌入式系統(tǒng)理論教學(xué)為基礎(chǔ),必須將嵌入式系統(tǒng)項(xiàng)目滲透到理論教學(xué)之中,如圖1.2所示,通過選取若干典型

11、的嵌入式系統(tǒng)項(xiàng)目,將其按照課程教學(xué)大綱進(jìn)行分解,提煉出每個(gè)項(xiàng)目所涵蓋的知識(shí)點(diǎn),形成相應(yīng)教學(xué)案例;另一方面,可對(duì)這些項(xiàng)目進(jìn)行歸納,得到項(xiàng)目描述及項(xiàng)目需求。在實(shí)施教學(xué)的時(shí)候,可以先給學(xué)生介紹項(xiàng)目描述,使之對(duì)這些項(xiàng)目有總體認(rèn)識(shí),然后再結(jié)合教學(xué)案例,講解相關(guān)知識(shí)點(diǎn);在本課程結(jié)束之后,學(xué)生已掌握了課程的基礎(chǔ)知識(shí)和基本技能;最后,學(xué)生可以根據(jù)項(xiàng)目需求,自己動(dòng)手實(shí)現(xiàn)這些項(xiàng)目,從而將所學(xué)知識(shí)融會(huì)貫通,提升工程實(shí)踐能力。 圖1.2 將嵌入式系統(tǒng)項(xiàng)目滲透到理論教學(xué)的方法本指導(dǎo)書便是遵循上述原則和方法,針對(duì)每一個(gè)綜合設(shè)計(jì)的課題,給出了相應(yīng)的項(xiàng)目描述、項(xiàng)目需求、理論知識(shí)點(diǎn)、基礎(chǔ)實(shí)驗(yàn),并針對(duì)無嵌入式操作系統(tǒng)、C/OS-

12、操作系統(tǒng),給出了一個(gè)完整的范例。1.3 項(xiàng)目設(shè)計(jì)的要求(1項(xiàng)目設(shè)計(jì)采用分組合作的形式實(shí)施,模擬公司項(xiàng)目研發(fā)的流程,每個(gè)學(xué)生擔(dān)任項(xiàng)目組的不同角色,最大限度地接近真實(shí)情境,目的就是讓學(xué)生深入了解公司項(xiàng)目研發(fā)的過程,培養(yǎng)團(tuán)隊(duì)合作的精神;(2必須按照工程化開發(fā)流程,撰寫相應(yīng)的文檔和代碼,最后還必須通過課設(shè)答辯。課設(shè)成果包括設(shè)計(jì)文檔、程序代碼等。文檔必須按照規(guī)定的格式撰寫;(3課設(shè)答辯必須撰寫PPT,簡(jiǎn)要闡述所完成的主要工作,自我闡述時(shí)間控制在8分鐘之內(nèi);自我闡述之后,還需回答指導(dǎo)教師所提的2-3個(gè)問題。(4考核辦法及評(píng)分比例:設(shè)計(jì)文檔占30%,程序代碼占30%,答辯占20%,考勤占20%。1.4 項(xiàng)目

13、設(shè)計(jì)文檔撰寫要求及其規(guī)范1.4.1 文檔撰寫規(guī)范(1版面要求A4紙打印,正文中任何部分不得超出邊框;嵌入式系統(tǒng)綜合項(xiàng)目開發(fā)指導(dǎo)書頁(yè)面設(shè)置:上、下、左2.5厘米,右2厘米;采用單倍行距,標(biāo)準(zhǔn)字符間距,西文、數(shù)字等符號(hào)采用times new roman字體;論文題目用小2號(hào)黑體字如:簡(jiǎn)易智能電風(fēng)扇的設(shè)計(jì)或簡(jiǎn)易電子告示板的設(shè)計(jì)目錄:用小4號(hào)宋體字;正文:小4號(hào)宋體字;參考文獻(xiàn):5號(hào)宋體字;圖表字號(hào):5號(hào)宋體字。(2標(biāo)題層次全部標(biāo)題層次有條不紊,整齊清晰。章節(jié)號(hào)采用阿拉伯?dāng)?shù)字編號(hào)方法,第一級(jí)為1, 2,3等,第二級(jí)為2.1,2.2,2.3等,第三級(jí)為2.1.1,2.1.1等,如此類推。各層標(biāo)題均單獨(dú)占

14、行書寫第一級(jí)標(biāo)題(章用3號(hào)黑體字,居中。第二級(jí)標(biāo)題(節(jié)用4號(hào)黑體字,居左頂格。第三級(jí)標(biāo)題用小4號(hào)黑體字,居左頂格。(3頁(yè)眉頁(yè)腳頁(yè)眉:奇數(shù)頁(yè)書寫“江西理工大學(xué)應(yīng)用科學(xué)學(xué)院項(xiàng)目設(shè)計(jì)”,偶數(shù)頁(yè)書寫“姓名:設(shè)計(jì)題目”,均采用小5號(hào)宋體字。頁(yè)腳:頁(yè)碼居中。(4參考文獻(xiàn)書寫格式按國(guó)標(biāo)GB7714-87。順序?yàn)?序號(hào).著者.文獻(xiàn)題名.文獻(xiàn)類型標(biāo)識(shí).出版地.出版者.出版年.起止頁(yè)碼。包括:設(shè)計(jì)用到的專業(yè)課、專業(yè)基礎(chǔ)課課本,項(xiàng)目設(shè)計(jì)知道書,工具書,查閱、引用過的書籍、資料,電子文獻(xiàn)等。(5公式公式應(yīng)居中書寫,有編號(hào),編號(hào)用圓括號(hào)包括后放在公式右邊行末。(6插圖及表格每幅插圖應(yīng)有按章編號(hào)的序號(hào)和標(biāo)題,標(biāo)題用5號(hào)字

15、置于插圖的下方。每個(gè)表格應(yīng)有按章編號(hào)的序號(hào)和標(biāo)題,標(biāo)題用5號(hào)字置于表格的上方。1.4.2 文檔內(nèi)容要求(1封面及評(píng)分表封面格式內(nèi)容見下頁(yè)例。要求封面后的第一頁(yè)為評(píng)分表。第1章項(xiàng)目設(shè)計(jì)概述(2目錄全部標(biāo)題層次有條不紊,整齊清晰。章節(jié)號(hào)采用阿拉伯?dāng)?shù)字編號(hào)方法,第一級(jí)為1, 2,3等,第二級(jí)為2.1,2.2,2.3等,第三級(jí)為2.1.1,2.1.1等,標(biāo)題后應(yīng)對(duì)應(yīng)開始頁(yè)碼。(3正文正文結(jié)構(gòu)形式不做具體要求,內(nèi)容可根據(jù)不同題目自行調(diào)整,但至少包括:A、設(shè)計(jì)題目B、對(duì)設(shè)計(jì)題目的分析C、按照工程化開發(fā)方法對(duì)設(shè)計(jì)課題展開論述,包括需求分析、系統(tǒng)設(shè)計(jì)(包括概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)、編碼、調(diào)試等。D、需求分析部分必須

16、給出功能需求分析、性能需求分析、課題任務(wù)目標(biāo)、輸入輸出的要求、數(shù)據(jù)需求、系統(tǒng)運(yùn)行環(huán)境等內(nèi)容。具體可以參考文檔“軟件需求說明書(GB856T 88.doc”E、系統(tǒng)設(shè)計(jì)部分包括概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)兩個(gè)部分。概要設(shè)計(jì)要根據(jù)需求劃分任務(wù)模塊,給出系統(tǒng)的軟件構(gòu)架圖,設(shè)計(jì)數(shù)據(jù)接口(包括用戶接口、外部接口、模塊間接口,設(shè)計(jì)主要數(shù)據(jù)結(jié)構(gòu);詳細(xì)設(shè)計(jì)要針對(duì)每個(gè)軟件模塊設(shè)計(jì)函數(shù)原型,定義入口參數(shù)及出口參數(shù),采用流程圖或偽代碼的形式給出每個(gè)函數(shù)的流程圖,分析模塊之間的關(guān)系及限定條件等。具體可以參考文檔“概要設(shè)計(jì)說明書(GB856788.doc”及文檔“詳細(xì)設(shè)計(jì)說明書(GB856788.doc”。F、編碼部分不應(yīng)將代碼

17、全部貼到正文中,而應(yīng)將代碼放到“6、附錄”部分。在設(shè)計(jì)文檔的正文中,可以給出函數(shù)之間的調(diào)用關(guān)系圖,簡(jiǎn)要介紹編碼中用到的關(guān)鍵技術(shù)等。具體可以參考文檔“模塊編碼說明書.doc”。G、調(diào)試及測(cè)試部分應(yīng)論述所設(shè)計(jì)的調(diào)試及測(cè)試方案,調(diào)試及測(cè)試過程中遇到的問題,分析問題產(chǎn)生的原因,給出處理方法。具體可以參考文檔“測(cè)試分析報(bào)告(GB856788.doc”。(4總結(jié)設(shè)計(jì)說明書最后要給出設(shè)計(jì)總結(jié),包括:對(duì)設(shè)計(jì)效果的分析、設(shè)計(jì)過程的心得體會(huì)、設(shè)計(jì)中發(fā)現(xiàn)的問題、關(guān)于項(xiàng)目設(shè)計(jì)的意見建議等。(5參考文獻(xiàn)包括:設(shè)計(jì)用到的專業(yè)課、專業(yè)基礎(chǔ)課課本,項(xiàng)目設(shè)計(jì)知道書,工具書,查閱、引用過的書籍、資料,電子文獻(xiàn)等。(6附錄在附錄中

18、列出主要程序清單,流程圖可保留在正文中。江西理工大學(xué)應(yīng)用科學(xué)學(xué)院嵌入式系統(tǒng)綜合項(xiàng)目開發(fā)專業(yè):班級(jí):學(xué)號(hào):姓名:設(shè)計(jì)題目:年月嵌入式系統(tǒng)綜合項(xiàng)目開發(fā)指導(dǎo)書評(píng)分表 答辯記錄表 嵌入式系統(tǒng)綜合項(xiàng)目開發(fā)指導(dǎo)書2.1.1 ADS簡(jiǎn)介ADS(ARM Developer Suite是ARM公司推出的新一代ARM集成開發(fā)工具,用來取代ARM公司以前的開發(fā)工具SDT,它是一種快速而節(jié)省成本的完整軟件開發(fā)解決方案。ADS可以支持ARM7/9/10系列的CPU。ADS由以下6部分組成:1代碼生成工具代碼生成工具由編譯器、匯編器和鏈接工具集組成。ARM公司針對(duì)ARM系列的每一種結(jié)構(gòu)都進(jìn)行了專門的優(yōu)化處理,這一點(diǎn)除了作

19、為ARM結(jié)構(gòu)的設(shè)計(jì)者ARM公司外,其它公司都無法辦到。ARM公司宣稱,其代碼生成工具最終生成的可執(zhí)行文件可以比用其它公司的工具套件生成的文件小20%。ADS提供ARM和Thumb的C/C+的編譯器和匯編器。2集成開發(fā)環(huán)境ADS集成了功能強(qiáng)大的CodeWarrior IDE集成開發(fā)環(huán)境,是一個(gè)直觀、易用的環(huán)境,并集成所有的ARM開發(fā)工具,它包含有項(xiàng)目管理器、代碼生成接口、語法敏感編輯器、源文件和類瀏覽器、源代碼版本控制接口以及文本搜索引擎等。3調(diào)試器ADS中包含有AXD,ARMSD等調(diào)試器。AXD基于windows9X/NT,除了包括以前ARM調(diào)試器(ADW和ADU的所有特性外,還增加以下新的特

20、性:新型的GUI。改進(jìn)的窗口管理。改進(jìn)的數(shù)據(jù)顯示、格式及編輯。完成集成的命令行接口。調(diào)試會(huì)話設(shè)置的駐留。使用AXD加上JTAG仿真器如MultiICE可實(shí)現(xiàn)目標(biāo)系統(tǒng)的在線調(diào)試。4指令集模擬器用戶使用指令模擬器(ARMulator無須任何硬件即可在PC機(jī)上完成一部分調(diào)試工作。ADS中的指令集模擬器對(duì)基于內(nèi)核處理器的ARM和Thumb提供精確的模擬。用戶可在硬件做好之前開發(fā)基準(zhǔn)測(cè)試代碼。5ARM開發(fā)包ARM開發(fā)包由一些底層的例程和庫(kù)組成,可以幫助用戶快速開發(fā)基于ARM的應(yīng)用和操作系統(tǒng)。具體包括系統(tǒng)啟動(dòng)代碼、串口驅(qū)動(dòng)程序、時(shí)鐘例程和中斷處理程序等。6ARM應(yīng)用庫(kù)ADS的ARM應(yīng)用庫(kù)完美和增強(qiáng)了SDT

21、中的函數(shù)庫(kù),同時(shí)還包括一些相當(dāng)有用的提供了源代碼的例程。ADS對(duì)一些廣泛使用的函數(shù)提供了源代碼。這些函數(shù)不包含在標(biāo)準(zhǔn)的C/C+庫(kù)中,可將這些庫(kù)結(jié)合進(jìn)應(yīng)用程序中,從而降低開發(fā)難度。2.1.2 ADS系統(tǒng)配置在編譯連接時(shí),一個(gè)工程項(xiàng)目中可以包括多個(gè)生成目標(biāo)(Target。我們可以通過配第2章Mini2440開發(fā)板使用方法置來生成不同的生成選項(xiàng)。在ADS中,通過CodeWarrior中的Debug Settings對(duì)話框來設(shè)置一個(gè)工程項(xiàng)目的各生成目標(biāo)的配置的。Debug Settings對(duì)話框如圖2.1所示。 圖2.1 Debug Settings對(duì)話框從圖中可以看出,Debug Settings對(duì)

22、話框主要包括6個(gè)面板:生成目標(biāo)基本設(shè)置(Target、編程語言選項(xiàng)設(shè)置(Language Settings、連接器選項(xiàng)設(shè)置(Linker、編輯器選項(xiàng)設(shè)置(Editor、調(diào)試器選項(xiàng)設(shè)置(Debugger、其他選項(xiàng)設(shè)置(Miscellaneous。在這里,我們講述一下需要設(shè)定的選項(xiàng)的配置方法,其它的地方一般用默認(rèn)配置。這里主要講述編程語言選項(xiàng)設(shè)置(Language Settings和連接器選項(xiàng)設(shè)置(Linker的配置。(1編程語言選項(xiàng)設(shè)置(Language Settings。編程語言選項(xiàng)設(shè)置如圖2.2所示,用于設(shè)置ADS中語言處理工具的選項(xiàng),包括匯編器的選項(xiàng)和編譯器的選項(xiàng),這些選項(xiàng)對(duì)于工程項(xiàng)目中的

23、所有源文件都使用,不能單獨(dú)設(shè)置某一個(gè)源文件的編譯選項(xiàng)和匯編選項(xiàng)。如圖2.3所示,匯編器(ARM Assembler的設(shè)置主要包括6個(gè)選項(xiàng)卡,分別是Target、ATPCS、Options、Predefines、Listing Control、Extras選項(xiàng)卡。一般地,在編譯連接之前,要根據(jù)實(shí)際的硬件情況,在Target選項(xiàng)卡里設(shè)置ARM體系結(jié)構(gòu)版本號(hào)或處理器編號(hào)、系統(tǒng)中浮點(diǎn)部件的體系結(jié)構(gòu)、字節(jié)順序(內(nèi)存模式和初始狀態(tài)。其它的選項(xiàng)一般可以使用默認(rèn)狀態(tài)。(2編程語言選項(xiàng)設(shè)置ADS支持兩種編程語言(CC+,有兩種狀態(tài)(ARMTHUMB狀態(tài),所以,有4個(gè)編譯器的選項(xiàng)設(shè)置:ARM C Compiler

24、、ARM C+ Compiler、Thumb C Compiler、Thumb C+ Compiler編譯器。各個(gè)編譯器包括的選項(xiàng)卡都差不多,ARM C Compiler編譯器的選項(xiàng)如圖2.3所示,包括8個(gè)選項(xiàng)卡,分別是:Target and Source、A TPCS、Warnings、Errors、Debug/Optimization、Preprocessor、Code Generation和Extras選項(xiàng)卡。一般在編譯連接之前,要根據(jù)實(shí)際的硬件情況,在Target and Source選項(xiàng)卡里設(shè)置ARM體系結(jié)構(gòu)版本號(hào)或處理器編號(hào)、系統(tǒng)中浮點(diǎn)部件的體系結(jié)構(gòu)、字節(jié)順序(內(nèi)存模式和編程語言類

25、型。另外,在這里再介紹一下Debug/Optimization選項(xiàng)卡,它也體現(xiàn)了ADS在代碼優(yōu)化上的一些特色。它主要用于控制編譯器對(duì)源程序的優(yōu)化級(jí)別以及生成的目標(biāo)程序中包含的調(diào)試信息的多少。如圖2.4所示。 圖2.2 編程語言選項(xiàng)設(shè)置圖2.3 ARM C Compiler編譯器的選項(xiàng)Debug Control選項(xiàng)組用于控制目標(biāo)文件中的調(diào)試信息。選中復(fù)選框Enable debug table generation,指示編譯器在目標(biāo)文件中包含DW ARF2格式的調(diào)試信息表,他支持源碼級(jí)的調(diào)試。如果不選中該復(fù)選框,生成的目標(biāo)文件只有有限的調(diào)試信息。選中復(fù)選框Include preprocessor

26、symbols,編譯器在目標(biāo)文件中包含預(yù)處理的符號(hào)。選中復(fù)選框Enable debug of inline function,編譯器將用inline聲明的函數(shù)處理為非嵌入的函數(shù),這樣可以在源碼級(jí)調(diào)試該函數(shù)。Optimization level選項(xiàng)組提供了三個(gè)級(jí)別的調(diào)試。Optimization criterion選項(xiàng)組提供時(shí)間和空間兩種優(yōu)化準(zhǔn)則。 圖2.4 Debug/Optimization選項(xiàng)卡(3連接器選項(xiàng)設(shè)置(Linker。連接器選項(xiàng)設(shè)置如圖2.5所示,用于設(shè)置于連接器相關(guān)的選項(xiàng)以及與fromELF工具相關(guān)的選項(xiàng),如圖2.6所示。ARM連接器相關(guān)的選項(xiàng)(ARM Linker包括5個(gè)選項(xiàng)

27、卡,分別是Output、Options、Layout、Listings和Extras選項(xiàng)卡。一般在編譯連接前要設(shè)置一下Output選項(xiàng)卡,有時(shí)也要設(shè)置一下Layout選項(xiàng)卡,其它的一般可以使用默認(rèn)設(shè)置。Output選項(xiàng)卡用來控制連接器進(jìn)行連接操作的類型。ARM連接器可以有3種類型的連接操作。對(duì)于不同的連接操作,需要設(shè)置的連接器選項(xiàng)有所不同。Output選項(xiàng)卡如下圖所示。其中Linktype選項(xiàng)組中的單選按鈕確定使用的連接方式。選擇單選按鈕Partial 時(shí),連接器執(zhí)行部分連接操作。部分地連接生成ELF格式的目標(biāo)文件。這些目標(biāo)文件可以再作為進(jìn)一步連接時(shí)的輸入文件,也可以作為armar工具的輸入文

28、件。選擇單選按鈕Simple時(shí),連接器根據(jù)連接器選項(xiàng)中指定的地址映射方式,生成簡(jiǎn)單的ELF格式的映像文件。這時(shí),所生成的映像文件中地址映射關(guān)系比較簡(jiǎn)單,如果地址映射關(guān)系比較復(fù)雜需要設(shè)置使用Scattered連接方式。當(dāng)選擇單選按鈕Scattered時(shí),連接器根據(jù)Scatter格式的文件中指定的地址映射方式,生成地址映射關(guān)系比較復(fù)雜的ELF格式的映像文件。在學(xué)習(xí)的初期階段,一般選用默認(rèn)的Simple格式,在該格式下,需要設(shè)置以下的連接器選項(xiàng)。RO Base文本框用于設(shè)置映像文件中RO屬性輸出段的加載時(shí)地址和運(yùn)行時(shí)地址。地址必須是字節(jié)對(duì)齊的。如果沒有指定地址值,則使用默認(rèn)的地址值0x8000。RW

29、 Base文本框用于設(shè)置映像文件中包含RW屬性和ZI屬性輸出段運(yùn)行時(shí)域的起始地址。地址必須是字節(jié)對(duì)齊的。如果本選項(xiàng)與選項(xiàng)-split一起使用時(shí),本選項(xiàng)將映像文件中的RW屬性和ZI屬性輸出段的加載時(shí)地址和運(yùn)行時(shí)地址都設(shè)置成文本框中的值。當(dāng)選中Ropi復(fù)選框時(shí),映像文件中的RO屬性的加載時(shí)域和運(yùn)行時(shí)域是位置無關(guān)的(PI Position Independent。否則,相應(yīng)的域被標(biāo)記為絕對(duì)的。當(dāng)選中Rwpi復(fù)選框時(shí),映像文件中的RW屬性和ZI屬性段的加載時(shí)域和運(yùn)行時(shí)域是位置無關(guān)的(PI Position Independent。否則,相應(yīng)的域被標(biāo)記為絕對(duì)的。當(dāng)選中Split復(fù)選框時(shí),將包含RW屬性和

30、RO屬性的輸出段的加載時(shí)域分割為兩個(gè)加載時(shí)域。 圖2.5 連接器選項(xiàng)設(shè)置圖2.6 ARM fromELF選項(xiàng)fromELF工具可以將ARM連接器產(chǎn)生的ELF格式的映像文件轉(zhuǎn)換成其它格式的文件。相關(guān)的選項(xiàng)如下所述。Output format下拉列表框用于選擇目標(biāo)文件的格式。他可能的取值有9種,分別是Executable AIF(可執(zhí)行的AIF格式的映像文件、Non executable AIF(非可執(zhí)行的AIF格式的映像文件、Plain binary(BIN格式映像文件、Intellec Hex(IHF格式映像文件、Motorola 32 bit Hex(Motorola 32位S格式映像文件、

31、Intel 32 bit Hex(Intel 32位格式映像文件、V erilog Hex(Verilog十六進(jìn)制映像文件、ELF格式映像文件和Text information(文本信息。Output file name文本框用于設(shè)置fromELF工具的輸出文件的名稱。Text format flags選項(xiàng)組在當(dāng)輸出文件為文本信息時(shí),用于控制文本信息內(nèi)容的選項(xiàng),包括8個(gè)復(fù)選項(xiàng)。選中復(fù)選框V erbose,連接器顯示關(guān)于本次連接操作的詳細(xì)信息。其中包括目標(biāo)文件以及CC+運(yùn)行時(shí)庫(kù)信息;選中復(fù)選框Disassemble code,連接器顯示反匯編代碼;選中復(fù)選框Print contents of d

32、ata sections,連接器顯示數(shù)據(jù)段信息;選中復(fù)選框Print debug table,連接器顯示調(diào)試表信息;選中復(fù)選框Print relocation information,連接器顯示重定位信息;選中復(fù)選框Print symbol table,連接器顯示符號(hào)表;選中復(fù)選框Print string table,連接器顯示字符串表;選中復(fù)選框Print object sizes,連接器顯示目標(biāo)文件的大小信息。以上講述了在使用ADS時(shí),需要配置的地方的詳細(xì)情況,在建立一個(gè)工程項(xiàng)目后,連接編譯前,用戶可以更深刻地體會(huì)這些設(shè)置。2.1.3 工程項(xiàng)目管理在ADS的CodeWarrior中是通過工

33、程項(xiàng)目來組織用戶的源文件、庫(kù)文件、頭文件以及其他的輸入文件。一個(gè)工程項(xiàng)目至少有一個(gè)生成目標(biāo),每個(gè)生成目標(biāo)定義了一組選項(xiàng)(也就是上一節(jié)講到配置設(shè)置,用于生成特定的目標(biāo)文件。本節(jié)一步步講述工程項(xiàng)目管理的使用。我們首先要建立一個(gè)工程。其步驟如后文的圖所示。(1開始程序ARM Developer Suit 1.2CodeWarrior for ARM Developer Suit。 圖2.7 啟動(dòng)ADS1.2 圖2.8 創(chuàng)建一個(gè)新工程(2FileNew,打開新建對(duì)話框。從圖2.8可以看出,我們可以新建一個(gè)工程、源文件或者目標(biāo)文件。這里我們新建一個(gè)ARM Executable Image。在Projec

34、t name的文本框里輸入工程項(xiàng)目的名稱,比如ads_lx,在Location的文本框輸入要建立的工程項(xiàng)目的路徑或者點(diǎn)擊文本框旁邊的set設(shè)置工程項(xiàng)目的路徑。點(diǎn)擊確定,就新建了一個(gè)工程項(xiàng)目,如圖2.9。我們可以看到,項(xiàng)目管理器中File視圖、Link Order視圖和Target視圖。File視圖包含了該工程項(xiàng)目中所有文件的列表。這些文件可以根據(jù)一定的邏輯關(guān)系進(jìn)行分組。對(duì)于不包含在當(dāng)前生成目標(biāo)中的文件,在File視圖中也給了出來。與File視圖不同,Link Order 視圖包含了在當(dāng)前生成目標(biāo)中的所有輸入文件,用來控制各輸入文件在連接時(shí)的順序。默認(rèn)情況下,Link Order視圖中各輸入文件

35、的排列順序與File視圖中各文件的排列順序是一樣的,但可以通過Link Order來改變輸入文件的順序,從而使生成的各目標(biāo)文件按照這個(gè)排列順序安排在最終生成的映像文件中。Target視圖中列舉了一個(gè)工程項(xiàng)目中的生成目標(biāo)以及它們之間的相互依存關(guān)系。 圖2.9 創(chuàng)建新工程之后的項(xiàng)目管理器圖2.10 新建幾個(gè)文件夾(1了解了項(xiàng)目管理器的基本情況以后,我們來向這個(gè)新建的項(xiàng)目中添加源程序。添加源程序之前,我們先在這個(gè)工程里面按照一定的邏輯關(guān)系新建幾個(gè)文件夾。如圖2.10所示,單擊右鍵,在彈出的菜單里選擇Create Group。在彈出的對(duì)話框里輸入組的名稱c。按照上面的步驟,在建立其它組h、asm。這樣

36、就可以把類型不同的源文件放在不同的組里面了。向工程項(xiàng)目中添加源文件可以是已經(jīng)存在的,也可以是新建的源文件。對(duì)已經(jīng)存在的源文件,將他加入某一個(gè)組中:選中該組名單擊右鍵Add Files。在彈出的對(duì)話框中找到要添加文件的位置,如圖2.11所示,打開要添加的源文件ahandle.s 到asm組中。 圖2.11 添加文件到工程中圖2.12 添加文件后的項(xiàng)目管理器按照上述步驟,將chandle.c和main.c添加到c組,將swi.h添加的h組中。添加后的項(xiàng)目管理器如圖2.12所示。這樣,我們將已經(jīng)有的源文件用項(xiàng)目管理器組織了起來。對(duì)于沒有源文件的情況,我們要通過CodeWarrior里面的FileNe

37、wFile來新建源文件,并加入到該工程項(xiàng)目中。用戶可以自己實(shí)驗(yàn)。雙擊工程項(xiàng)目中的源文件,可以進(jìn)行編輯和查看。這樣,一個(gè)工程項(xiàng)目就完全建立起來了。之后就可以進(jìn)行上一節(jié)的目標(biāo)配置了。如圖2.13,點(diǎn)擊調(diào)出DebugRel Settings設(shè)置對(duì)話框。2.1.4 代碼編譯、鏈接在CodeWarrior IDE中可以同時(shí)打開多個(gè)工程項(xiàng)目,選擇一個(gè)工程項(xiàng)目作為當(dāng)前的工程項(xiàng)目,然后進(jìn)行Make(編譯連接或者純粹的編譯。CodeWarrior IDE中與編譯連接相關(guān)的都在Project菜單里,如圖2.13。相關(guān)的主要有預(yù)處理Preprocess、預(yù)編譯Precompile、編譯Compile、反匯編Disa

38、ssemble、編譯連接Make、調(diào)試Debug和運(yùn)行Run。一般的情況下,直接用編譯連接Make??梢栽诓藛沃蠵rojectMake或者Debug Settings控制面板中的按鈕。 圖2.13 Project菜單圖2.14 Make之后生成的信息Make之后生成的信息,如圖2.14。編譯連接后生成可調(diào)試的格式為ELF的文件就可以在PC上或者下載到目標(biāo)板上去調(diào)試了。2.1.5 加載調(diào)試ADS包括兩個(gè)主要的IDE部分:CodeWarrior IDE和AXD IDE。前幾節(jié)講述了CodeWarrior使用中的一些內(nèi)容,經(jīng)過CodeWarrior生成的可調(diào)試文件要在AXD中進(jìn)行模擬調(diào)試和板級(jí)調(diào)試。

39、這一節(jié)將講述加載調(diào)試的內(nèi)容。程序加載可以在CodeWarrior里直接調(diào)出AXD:ProjectDebug或者在Debug Settings 控制面板中點(diǎn)擊或。也可以:開始程序ARM Developer Suite 1.2AXD所示。 圖2.15 下載了代碼后的AXD界面ADS有三種調(diào)試方法:指令級(jí)仿真ARMulator、JTAG調(diào)試、Angel調(diào)試。在這一節(jié)里,我們主要講述一下調(diào)試器AXD IDE的用法,著重使用Armulator這種調(diào)試方法來講解軟件平臺(tái)AXD的使用。在下一節(jié)中,我們講述JTAG調(diào)試時(shí)軟件平臺(tái)與硬件平臺(tái)的連接。上圖中顯示了AXD的一些窗口。其中,System Output

40、Monitor指示程序運(yùn)行的過程中的一些狀態(tài);Console輸出顯示或者輸入控制;Control Monitor用于對(duì)源文件和生成的映像文件等的控制;還有就是正在執(zhí)行程序的代碼區(qū)。這些構(gòu)成了AXD最基本的界面。我們首先講述一下程序調(diào)試過程中的運(yùn)行控制。運(yùn)行控制主要包括全速運(yùn)行Go、停止Stop、單步跳入子函數(shù)Step In、單步Step、單步跳出子函數(shù)Step Out和運(yùn)行至光標(biāo)處以及設(shè)置斷點(diǎn)等。這些可以通過AXD IDE的Execute菜單執(zhí)行,也可以通過工具欄來執(zhí) 行。 例如,全速運(yùn)行一個(gè)程序:Execute Go或者點(diǎn)擊菜單欄中的。運(yùn)行結(jié)果如圖2.16。在Console和System O

41、utput Monitor中都由相應(yīng)的輸出。在程序欄中,PC指針顯示程序運(yùn)行的位置。 圖2.16 程序運(yùn)行時(shí)的界面圖2.17 程序顯示區(qū)的右鍵快捷菜單其次,在程序的調(diào)試過程中,對(duì)程序的查看可以通過Control Monitor中的File面板來控制,雙擊其中的某個(gè)文件,可以看到該源程序。另外在程序顯示區(qū)單擊右鍵,如圖2.17所示。如上圖,通過Interleave Disassembly可以設(shè)置高級(jí)語言和匯編的交叉顯示,如圖2.18。 圖2.18 設(shè)置高級(jí)語言和匯編的交叉顯示圖2.19 設(shè)置單步的方式可以設(shè)置單步的方式:匯編方式、高級(jí)語言和有選高級(jí)語言,如圖2.19所示?,F(xiàn)在,我們重新下載影像程

42、序到調(diào)試器:File Reload Current Image或者單擊工具欄中的。我們現(xiàn)在再看看對(duì)變量和寄存器以及內(nèi)存的查看,如圖2.20。Register面板里,我們單擊Current前面的+號(hào),可以看到當(dāng)前的寄存器,并且,我們可以通過右鍵對(duì)其進(jìn)行格式設(shè)置;V ariables面板里,我們可以對(duì)一些變量進(jìn)行查看,包括局部變量Local、全局變量Global、類Class,并且,我們可以通過右鍵對(duì)其進(jìn)行格式設(shè)置;Memory面板里,我們可以查看四個(gè)起始地址的內(nèi)存段,并且,我們可以通過右鍵對(duì)其進(jìn)行格式設(shè)置;Watch 面板里,我們可以將變量、寄存器按照一定的邏輯加在Tab1、Tab2、Tab3和

43、Tab4這4個(gè)面板中,更方便地進(jìn)行查看,并且,我們可以通過右鍵對(duì)其進(jìn)行格式設(shè)置。上面講的這些可以查看的內(nèi)容,在容許的情況下都可以根據(jù)我們的需要進(jìn)行修改。 圖2.20 對(duì)變量和寄存器以及內(nèi)存的查看以上講述了調(diào)試中的細(xì)節(jié)的運(yùn)用,我們?cè)倏偨Y(jié)一下AXD調(diào)試的一般步驟:(1打開AXD IDE環(huán)境。開始程序ARM Developer Suite v1.2AXD Debugger。(2配置,選擇三種調(diào)試方法中的一種。在IDE的菜單中,OptionsConfigure Target。我們可以看到彈出的Choose Target對(duì)話框。在Target Environments中已有的調(diào)試方式有ADP,即Ange

44、l調(diào)試方式和ARMUL,即指令級(jí)仿真ARMulate。在這一節(jié)中,我們選擇ARMUL,進(jìn)行指令級(jí)仿真。 圖2.21 JTAG調(diào)試的配置選項(xiàng)圖2.22 添加Mult-ICE在這里,我們也順帶介紹一下JTAG調(diào)試的配置方法。點(diǎn)擊圖2.21中按鈕Add。彈出添加對(duì)話框,找出Multi-ice安裝的路徑,打開Multi-ICE.dll,如圖2.22所示。這樣,三種調(diào)試方式都可以使用了。如圖2.23。注意:要實(shí)現(xiàn)上述配置,須事先安裝好Multi-ICE的服務(wù)程序Multi-server,否則無法找到上述配置選項(xiàng)。當(dāng)您選擇JTAG方式進(jìn)行調(diào)試時(shí),須連接好probeICE仿真器和目標(biāo)板,并啟動(dòng)Multi-s

45、erver,配置好相應(yīng)的ARM內(nèi)核。有關(guān)Multi-server的安裝使用和ARM 內(nèi)核的配置方法,請(qǐng)參見probeICE的使用手冊(cè)。 圖2.23 已經(jīng)添加了Multi-ICE的界面圖2.24 Multi-ICE信息面板在第一次使用JTAG調(diào)試時(shí),要點(diǎn)擊右面的Configure按鈕,配置一下。如圖2.24,點(diǎn)擊Ok就可以了。在使用指令級(jí)調(diào)試時(shí)也可以配置一下,選中ARMUL,點(diǎn)擊右邊的Configure按鈕。如圖2.25。我們可以通過彈出的ARMulator Configure面板來配置我們模擬的硬件環(huán)境。通過Processor設(shè)置處理器的型號(hào)或架構(gòu),一般的都能在下拉菜單中找到;通過Clock配

46、置時(shí)鐘的速度,或者選用Real-time;通過Options選擇是否進(jìn)行浮點(diǎn)仿真;通過Debug Endian 配置系統(tǒng)的大小模式;通過Memory Map File選擇是否用Map File,如果用可以通過map 文件來設(shè)置系統(tǒng)的RAM、ROM等的大小和特性了;通過Floating Point Coprocessor選擇是否使用浮點(diǎn)協(xié)處理器和使用哪種浮點(diǎn)協(xié)處理器;在指令級(jí)仿真時(shí),可以通過對(duì)MMU/PU Initialization的配置使用AXD來對(duì)MMU/PU進(jìn)行初始化。 圖2.25 配置ARMUL 圖2.26 C/OS-II 工程模板文件結(jié)構(gòu)(3進(jìn)行這些配置之后,就可以加載程序了。方法在

47、前面講過。(4加載程序之后,就可以設(shè)置斷點(diǎn),添加要觀察的變量了。(5運(yùn)行控制。逐步調(diào)試,不停地重復(fù)步驟3、4、5,直到程序順利運(yùn)行。2.2 Mini2440開發(fā)板簡(jiǎn)介2.2.1 開發(fā)板外觀 2.27 Mini2440外觀圖2.2.2 開發(fā)板硬件資源簡(jiǎn)介(1CPU 處理器Samsung S3C2440A,主頻400MHz,最高533Mhz(2SDRAM 內(nèi)存在板64M SDRAM32bit 數(shù)據(jù)總線SDRAM 時(shí)鐘頻率高達(dá)100MHz(3FLASH 存儲(chǔ)在板256M/1GB Nand Flash, 掉電非易失(用戶可定制64M/128M/256M/512M/1G在板2M Nor Flash,掉電

48、非易失,已經(jīng)安裝BIOS(4LCD 顯示板上集成4 線電阻式觸摸屏接口,可以直接連接四線電阻觸摸屏支持黑白、4 級(jí)灰度、16 級(jí)灰度、256 色、4096 色STN 液晶屏,尺寸從3.5 寸到12.1 寸,屏幕分辨率可以達(dá)到1024x768 象素;支持黑白、4 級(jí)灰度、16 級(jí)灰度、256 色、64K 色、真彩色TFT 液晶屏,尺寸從3.5 寸到12.1 寸,屏幕分辨率可以達(dá)到1024x768 象素;標(biāo)準(zhǔn)配置為NEC 256K 色240x320/3.5 英寸TFT 真彩液晶屏,帶觸摸屏;(5接口和資源 1 個(gè)100M 以太網(wǎng)RJ-45 接口(采用DM9000 網(wǎng)絡(luò)芯片 3 個(gè)串行口 1 個(gè)US

49、B Host 1 個(gè)USB Slave B 型接口 1 個(gè)SD 卡存儲(chǔ)接口 1 路立體聲音頻輸出接口,一路麥克風(fēng)接口; 1 個(gè)2.0mm 間距10 針JTAG 接口 4 USER Leds 6 USER buttons(帶引出座 1 個(gè)PWM 控制蜂鳴器 1 個(gè)可調(diào)電阻,用于AD 模數(shù)轉(zhuǎn)換測(cè)試 1 個(gè)I2C 總線AT24C08 芯片,用于I2C 總線測(cè)試 1 個(gè)2.0 mm 間距20pin 攝像頭接口板載實(shí)時(shí)時(shí)鐘電池電源接口(5V,帶電源開關(guān)和指示燈(6系統(tǒng)時(shí)鐘源12M 無源晶振(7實(shí)時(shí)時(shí)鐘內(nèi)部實(shí)時(shí)時(shí)鐘(帶后備鋰電池(8擴(kuò)展接口 1 個(gè)34 pin 2.0mmGPIO 接口 1 個(gè)40 pin

50、 2.0mm 系統(tǒng)總線接口(9規(guī)格尺寸100 x 100(mm2.3 開發(fā)板設(shè)置及連接2.3.1 啟動(dòng)模式選擇Mini2440開發(fā)板的啟動(dòng)模式選擇,是通過撥動(dòng)開關(guān)S2 來決定的。S2 接到Nor Flash 標(biāo)識(shí)一側(cè)時(shí),系統(tǒng)將從Nor Flash 啟動(dòng);S2 接到Nand Flash 標(biāo)識(shí)一側(cè)時(shí),系統(tǒng)將從Nand Flash 啟動(dòng)。出廠的時(shí)候開發(fā)板的Nor Flash 和Nand Flash 已經(jīng)燒入了相同的BIOS(因?yàn)樵揃IOS 同時(shí)支持這兩種Flash,只是開機(jī)后表現(xiàn)形式不同,請(qǐng)參考“開發(fā)板BIOS 功能及使用說明”一節(jié),S2 已經(jīng)被接到Nand Flash 一側(cè),系統(tǒng)一開機(jī)就從Nand

51、 Flash 啟動(dòng)運(yùn)行系統(tǒng)。2.3.2 外部接口連接請(qǐng)使用我們提供的直連串口線連接開發(fā)板的串口0 和PC 機(jī)的串口用我們提供的交叉網(wǎng)線將開發(fā)板的網(wǎng)絡(luò)接口與PC 相連用我們提供的5V 電源適配器連接到板上的5V 輸入插座把音箱或者耳機(jī)的插頭接入板上的音頻輸出口(綠色如果您有液晶屏,請(qǐng)按照數(shù)據(jù)線頭的方向與開發(fā)板的LCD 接口相連用USB 電纜連接開發(fā)板和PC2.3.3 設(shè)置超級(jí)終端請(qǐng)務(wù)必使用隨機(jī)附帶的串口直連線,或許其他線是不能正常通訊的,請(qǐng)使用萬用表檢測(cè)確定為直連線即可。為了通過串口連接開發(fā)板,必須使用一個(gè)模擬終端程序,幾乎所有的類似軟件都可以使用,其中MS-Windows 自帶的超級(jí)終端是最常

52、用的選擇,當(dāng)你安裝Windows9x 時(shí)需要自定義選擇安裝該項(xiàng),Windows2000 及更高版本則已經(jīng)缺省安裝。對(duì)超級(jí)終端的參數(shù)設(shè)置,可見圖2.28所示。 圖2.28 超級(jí)終端配置參數(shù)當(dāng)所有的連接參數(shù)都設(shè)置好以后,打開電源開關(guān),系統(tǒng)會(huì)出現(xiàn)vivi 啟動(dòng)界面。選擇超級(jí)終端“文件”菜單下的“另存為”,保存該連接設(shè)置,以便于以后再連接時(shí)就不必重新執(zhí)行以上設(shè)置了。2.4 開發(fā)板程序調(diào)試方法及步驟2.4.1 開發(fā)板BIOS功能及使用說明(1開發(fā)板BIOS的作用開發(fā)板BIOS是一個(gè)基本的輸入輸出系統(tǒng),通過預(yù)先將其固化到開發(fā)板上,可以在宿主機(jī)和開發(fā)板之間建立一個(gè)通信的橋梁,而且BIOS還可以作為開發(fā)板的簡(jiǎn)

53、易控制程序,完成對(duì)開發(fā)板的各種簡(jiǎn)單操作,如寫Flash、引導(dǎo)操作系統(tǒng)等。Mini2440開發(fā)板采用的BIOS是Supervivi,它在出廠的時(shí)候已經(jīng)預(yù)裝入板子的Nor Flash 中。(2Supervivi 簡(jiǎn)介開發(fā)板采用的BIOS 是基于三星原來的bootloader 之vivi 改進(jìn)而來,名為Supervivi,它采用功能菜單的方式,并可以和原來的命令交互模式互相切換。Supervivi 可以使用JTAG 板(一般借助H-JTAG 軟件直接燒寫入Nor Flash 中使用,也可以直接燒入Nand Flash 中運(yùn)行。當(dāng)燒入Nor Flash 并從中時(shí),將會(huì)出現(xiàn)菜單模式;當(dāng)燒入Nand Fl

54、ash 并從中運(yùn)行時(shí),按下開發(fā)板上的任意一個(gè)按鍵,也可以出現(xiàn)菜單模式,否則會(huì)啟動(dòng)開發(fā)板上預(yù)裝的操作系統(tǒng)(Linux/WindowsCE。Supervivi 的菜單模式主要為燒寫系統(tǒng)和調(diào)試而用,也可以設(shè)置參數(shù)和進(jìn)行分區(qū)等,它采用USB 下載的方式,因此搭建燒寫環(huán)境極為簡(jiǎn)單,并且下載速度快,使用十分方便。如果Supervivi 被燒寫入Nor Flash(默認(rèn),不僅可以用它來方便的下載更新linux 和WinCE 系統(tǒng),還可以燒寫其他任何支持Nand Flash 啟動(dòng)的操作系統(tǒng)和非操作系統(tǒng)到Nand Flash,如uCos2,U-boot,Nboot,2440test 等,然后再選擇系統(tǒng)從Nand

55、 Flash 啟動(dòng),這樣就可以使用各種各樣的系統(tǒng)了。如果Supervivi 被燒寫入Nand Flash,它可以自動(dòng)識(shí)別燒寫的Linux 或者WindowsCE系統(tǒng)、或者其他系統(tǒng),并快速自動(dòng)啟動(dòng)它們。另外,使用Download & Run 功能,還可以把程序下載到內(nèi)存馬上運(yùn)行,這對(duì)于開發(fā)調(diào)試是極有幫助的,這樣,甚至不使用仿真器都可以了。2.4.2 安裝USB下載驅(qū)動(dòng)注意:此處安裝的USB 驅(qū)動(dòng)僅在BIOS 模式下有用,它需要配合dnw.exe 軟件使用,進(jìn)入Linux 或者WinCE 系統(tǒng)都不會(huì)使用到該驅(qū)動(dòng)。說明:安裝USB 下載驅(qū)動(dòng)不需要連接開發(fā)板,該安裝是獨(dú)立進(jìn)行的。雙擊運(yùn)行光盤中

56、的“windows 平臺(tái)工具usb 下載驅(qū)動(dòng) FriendlyARM USB Download Driver Setup_20090421.exe”安裝程序,開始安裝USB 下載驅(qū)動(dòng),安裝過程可根據(jù)安裝向?qū)нx擇相應(yīng)的選項(xiàng)來完成。安裝完USB下載驅(qū)動(dòng)程序之后,首先設(shè)置開發(fā)板的撥動(dòng)開關(guān)S2 為Nor Flash 啟動(dòng),連接好附帶的USB 線和電源(可以不必連接串口線。打開開關(guān)S1,宿主機(jī)的Windows 操作系統(tǒng)將檢測(cè)到開發(fā)板,并提示發(fā)現(xiàn)新的USB設(shè)備,此時(shí)按照“找到新的硬件向?qū)А睂⑶懊姘惭b的USB下載驅(qū)動(dòng)作為新硬件的驅(qū)動(dòng)程序安裝上去即可。2.4.3 Mini2440主菜單功能說明使用USB線和串口線將開發(fā)板和宿主機(jī)連接好之后,在宿主機(jī)上啟動(dòng)“超級(jí)終端”及DNW軟件,然后打開開發(fā)板電源開關(guān)S1,即可在“超級(jí)終端”上顯示如圖2.29所示的BIOS主菜單,下面對(duì)該菜單各選項(xiàng)的功能作簡(jiǎn)要介紹。 圖2.29 Mini2440BIOS主菜單功能x:對(duì)Nand Flash 進(jìn)行默認(rèn)分區(qū),相當(dāng)于執(zhí)行命令行的bon part 0 320k 2368k,此命令僅對(duì)Linux 系統(tǒng)有效。功能v:通過USB 下載Linux bootloader 到Nand Flash 的bootloader 分區(qū)功

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論