版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 武漢理工大學(xué)華夏學(xué)院</p><p> 信息工程課程設(shè)計報告書</p><p> 課 程 名 稱 </p><p> 課程設(shè)計總評成績 </p><p> 學(xué)生姓名、學(xué) 號 </p><p> 學(xué) 生 專 業(yè) 班級 <
2、;/p><p> 指 導(dǎo) 教 師 姓名 </p><p><b> 課程設(shè)計起止日期 </b></p><p><b> 課程設(shè)計基本要求</b></p><p> 課程設(shè)計是工科學(xué)生十分重要的實(shí)踐教學(xué)環(huán)節(jié),通過課程設(shè)計,培養(yǎng)學(xué)生綜合運(yùn)用先修課程的理論知識和專業(yè)
3、技能,解決工程領(lǐng)域某一方面實(shí)際問題的能力。課程設(shè)計報告是科學(xué)論文寫作的基礎(chǔ),不僅可以培養(yǎng)和訓(xùn)練學(xué)生的邏輯歸納能力、綜合分析能力和文字表達(dá)能力,也是規(guī)范課程設(shè)計教學(xué)要求、反映課程設(shè)計教學(xué)水平的重要依據(jù)。為了加強(qiáng)課程設(shè)計教學(xué)管理,提高課程設(shè)計教學(xué)質(zhì)量,特擬定如下基本要求。</p><p> 1. 課程設(shè)計教學(xué)一般可分為設(shè)計項(xiàng)目的選題、項(xiàng)目設(shè)計方案論證、項(xiàng)目設(shè)計結(jié)果分析、答辯等4個環(huán)節(jié),每個環(huán)節(jié)都應(yīng)有一定的考核要求和
4、考核成績。</p><p> 2. 課程設(shè)計項(xiàng)目的選題要符合本課程設(shè)計教學(xué)大綱的要求,該項(xiàng)目應(yīng)能突出學(xué)生實(shí)踐能力、設(shè)計能力和創(chuàng)新能力的培養(yǎng);該項(xiàng)目有一定的實(shí)用性,且學(xué)生通過努力在規(guī)定的時間內(nèi)是可以完成的。課程設(shè)計項(xiàng)目名稱、目的及技術(shù)要求記錄于課程設(shè)計報告書一、二項(xiàng)中,課程設(shè)計項(xiàng)目的選題考核成績占10%左右。</p><p> 3. 項(xiàng)目設(shè)計方案論證主要包括可行性設(shè)計方案論證、從可行性方
5、案中確定最佳方案,實(shí)施最佳方案的軟件程序、硬件電路原理圖和PCB圖。項(xiàng)目設(shè)計方案論證內(nèi)容記錄于課程設(shè)計報告書第三項(xiàng)中,項(xiàng)目設(shè)計方案論證主要考核設(shè)計方案的正確性、可行性和創(chuàng)新性,考核成績占30%左右。</p><p> 4. 項(xiàng)目設(shè)計結(jié)果分析主要包括項(xiàng)目設(shè)計與制作結(jié)果的工藝水平,項(xiàng)目測試性能指標(biāo)的正確性和完整性,項(xiàng)目測試中出現(xiàn)故障或錯誤原因的分析和處理方法。項(xiàng)目設(shè)計結(jié)果分析記錄于課程設(shè)計報告書第四項(xiàng)中,考核成績占
6、25%左右。</p><p> 5. 學(xué)生在課程設(shè)計過程中應(yīng)認(rèn)真閱讀與本課程設(shè)計項(xiàng)目相關(guān)的文獻(xiàn),培養(yǎng)自己的閱讀興趣和習(xí)慣,借以啟發(fā)自己的思維,提高綜合分和理解能力。文獻(xiàn)閱讀摘要記錄于課程設(shè)計報告書第五項(xiàng)中,考核成績占10%左右。</p><p> 6. 答辯是課程設(shè)計中十分重要的環(huán)節(jié),由課程設(shè)計指導(dǎo)教師向答辯學(xué)生提出2~3個問題,通過答辯可進(jìn)一步了解學(xué)生對課程設(shè)計中理論知識和實(shí)際技能掌
7、握的程度,以及對問題的理解、分析和判斷能力。答辯考核成績占25%左右。</p><p> 7.學(xué)生應(yīng)在課程設(shè)計周內(nèi)認(rèn)真參加項(xiàng)目設(shè)計的各個環(huán)節(jié),按時完成課程設(shè)計報告書交給課程設(shè)計指導(dǎo)教師評閱。課程設(shè)計指導(dǎo)教師應(yīng)認(rèn)真指導(dǎo)學(xué)生課程設(shè)計全過程,認(rèn)真評閱學(xué)生的每一份課程設(shè)計報告,給出課程設(shè)計綜合評閱意見和每一個環(huán)節(jié)的評分成績(百分制),最后將百分制評分成績轉(zhuǎn)換為五級分制(優(yōu)秀、良好、中等、及格、不及格)總評成績。<
8、/p><p> 8. 課程設(shè)計報告書是實(shí)踐教學(xué)水平評估的重要資料,應(yīng)按課程、班級集成存檔交實(shí)驗(yàn)室統(tǒng)一管理。</p><p> 一、課程設(shè)計項(xiàng)目名稱</p><p> 基于ARM的寵物喂養(yǎng)系統(tǒng)設(shè)計</p><p> 二、項(xiàng)目設(shè)計目的及技術(shù)要求</p><p><b> 基礎(chǔ)條件:</b><
9、;/p><p> 1.嵌入式ARM9開發(fā)教學(xué)設(shè)備;</p><p> 2.機(jī)及相關(guān)應(yīng)用軟件;</p><p> 要求完成的主要任務(wù):</p><p> 1.單驅(qū)動,web網(wǎng)頁,GPRS等模塊的程序編寫。</p><p> 2.寵物喂養(yǎng)系統(tǒng)分為智能喂養(yǎng)模塊、無線網(wǎng)絡(luò)通信模塊、監(jiān)測模塊等三大部分組成。智能喂養(yǎng)是主要模
10、塊,硬件由喂養(yǎng)器和上位機(jī)(ARM中央控制器)組成,可以實(shí)現(xiàn)定時喂養(yǎng)和用戶遠(yuǎn)程手機(jī)短信控制喂養(yǎng)寵物。</p><p> 3.課程設(shè)計說明書。</p><p> 4.設(shè)計說明書要求:引言、設(shè)計要求、系統(tǒng)結(jié)構(gòu)、原理設(shè)計、各個模塊的設(shè)計與實(shí)現(xiàn)、軟件設(shè)計、調(diào)試過程、體會及總結(jié)、參考文獻(xiàn)、源程序。說明書使用A4紙打印或手寫。</p><p> 三、項(xiàng)目設(shè)計方案論證(項(xiàng)目目
11、的,硬件設(shè)計 ,軟件設(shè)計 ,軟件程序)</p><p><b> 項(xiàng)目目的:</b></p><p> 當(dāng)今社會中,人們的工作與學(xué)習(xí)十分繁忙,特別是當(dāng)人們出差在外或是旅游度假時,經(jīng)常不能及時地對家中的各種寵物給予很好的照顧,尤其是寵物的飲食,常常成為困擾人們的問題之一,而且目前市面上又沒有一種產(chǎn)品能夠幫助人們解決這個問題。本課題及時針對此問題而設(shè)計與研發(fā)的新產(chǎn)品
12、。它在帶來經(jīng)濟(jì)利益的同時,也對智能家具智能化起到了積極的作用;在提高人們生活效率與樂趣的同時,也為人們的出行減少了后顧之憂。</p><p> 智能寵物喂養(yǎng)系統(tǒng)分為智能喂養(yǎng)模塊、無線網(wǎng)絡(luò)通信模塊、監(jiān)測模塊等三大部分組成。智能喂養(yǎng)是主要模塊,硬件由喂養(yǎng)器和上位機(jī)(ARM中央控制器)組成,可以實(shí)現(xiàn)定時喂養(yǎng)和用戶遠(yuǎn)程手機(jī)短信控制喂養(yǎng)寵物。</p><p><b> 系統(tǒng)功能分類:&
13、lt;/b></p><p> 1.自動控制:喂料器按用戶設(shè)定的時間間隔自動喂料</p><p> 2.短信控制:當(dāng)用戶發(fā)送短信時,優(yōu)先按照用戶的命令進(jìn)行喂料;當(dāng)物料用完時,會發(fā)送報警短信通知用戶</p><p> 3.網(wǎng)絡(luò)監(jiān)控:用戶通過遠(yuǎn)程登錄WEB網(wǎng)頁,實(shí)現(xiàn)視頻監(jiān)控;用戶可通過遠(yuǎn)程修改相關(guān)數(shù)據(jù),進(jìn)行參數(shù)的修改</p><p>
14、 4.系統(tǒng)管理:系統(tǒng)配置信息的維護(hù)管理,實(shí)現(xiàn)應(yīng)用程序和網(wǎng)頁的共享</p><p><b> 一.硬件電路設(shè)計</b></p><p><b> 1.ARM概述</b></p><p> ARM(Advanced RISC Machines),既可認(rèn)為是一個公司的名字,也可認(rèn)為是對一類微處理器的通稱,還可認(rèn)為是一種技
15、術(shù)的名字。1990年ARM公司成立于英國劍橋,主要出售芯片設(shè)計技術(shù)的授權(quán)。目前,采用ARM技術(shù)知識產(chǎn)權(quán)IP核的微處理器,即通常所說的ARM微處理器,己遍及工業(yè)控制、消費(fèi)類電子產(chǎn)品、通信系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)、無線系統(tǒng)、軍用系統(tǒng)等各類產(chǎn)品市場,基于ARM技術(shù)的微處理器應(yīng)用占據(jù)了32位RISC微處理器70%以上的市場份額,ARM技術(shù)正在逐步滲入到我們生活的各個方面。ARM公司是專門從事基于RISC技術(shù)芯片設(shè)計開發(fā)的公司,作為知識產(chǎn)權(quán)供應(yīng)商,本身不直
16、接從事芯片生產(chǎn),靠轉(zhuǎn)讓設(shè)計許可,由合作公司生產(chǎn)各具特色的芯片。世界各大半導(dǎo)體生產(chǎn)商從ARM公司購買其ARM微處理器核,根據(jù)各自不同的應(yīng)用領(lǐng)域,加入適當(dāng)?shù)耐鈬娐?,從而形成自己的ARM微處理器芯片進(jìn)入市場。</p><p> ARM9系列處理器是英國ARM公司設(shè)計的主流嵌入式處理器,主要包括ARM9TDMI和ARM9E-S等系列。</p><p> 2.ARM微處理器概述</p&g
17、t;<p> 2.1ARM的體系結(jié)構(gòu)</p><p> ARM內(nèi)核最大的優(yōu)勢在于高速度、低功耗,這主要?dú)w功于被公認(rèn)是業(yè)界領(lǐng)先的32位嵌入式RISC微處理器結(jié)構(gòu)——ARM體系結(jié)構(gòu)。</p><p> 目前我們的處理器陣營中分為CISC和RISC兩大系列,CISC是復(fù)雜指令集處理器,這種處理器每條指令可以執(zhí)行比較多的復(fù)雜操作,而且指令長度不定。</p>&l
18、t;p> RISC處理器種類比較多,指令長度固定,執(zhí)行周期固定,從微控制器、MIPS、ARM、Alpha、PowerPC、SPARC和SuperH等。ARM是目前應(yīng)用最廣泛的一套指令系統(tǒng),支持多任務(wù),只要是超出單片機(jī)能力、x86又太浪費(fèi)的場合大部分都用ARM。90%的智能手機(jī)都是ARM處理器。</p><p> 到目前為止,RISC體系結(jié)構(gòu)也還沒有嚴(yán)格的定義,一般認(rèn)為,RISC體系結(jié)構(gòu)在專用微處理器領(lǐng)域
19、要比傳統(tǒng)的CISC結(jié)構(gòu)有很大的優(yōu)勢。RISC體系結(jié)構(gòu)具有如下特點(diǎn):</p><p> 采用統(tǒng)一和長度固定的指令域,基本尋址方式有2~3種;</p><p> 采用單周期指令,便于流水線操作的執(zhí)行;</p><p> 大量使用寄存器,數(shù)據(jù)處理指令只對寄存器進(jìn)行操作,只有加載/存儲指令可以訪問寄存器,以提高指令的執(zhí)行效率。</p><p>
20、 ARM體系結(jié)構(gòu)除了具備上述典型的RISC結(jié)構(gòu)特性以外,還采用了一些特別的技術(shù),以保證使其在高性能的前提下盡量縮小芯片的面積,并降低功耗:</p><p> 所有的指令都支持條件執(zhí)行,即可根據(jù)前面的執(zhí)行結(jié)果決定是否被執(zhí)行,從而提高指令的執(zhí)行效率;</p><p> 可用加載、存儲指令批量傳輸數(shù)據(jù),以提高數(shù)據(jù)的傳輸效率;</p><p> 可在一條數(shù)據(jù)處理中使
21、用地址的自動增減來提高運(yùn)行效率,支持Thumb(16位)/ARM(32位)雙指令集,能很好地兼容8位/16位器件。</p><p> ARM9E-S結(jié)構(gòu)及其特點(diǎn)</p><p> 以ARM9E-S為例介紹ARM9處理器的主要結(jié)構(gòu)及其特點(diǎn)。ARM9E-S的結(jié)構(gòu)如下圖所示。其主要特點(diǎn)如下:</p><p> ?、?2bit定點(diǎn)RISC處理器,改進(jìn)型ARM/Thumb
22、代碼交織,增強(qiáng)性乘法器設(shè)計。支持實(shí)時(real-time)調(diào)試;</p><p> ?、破瑑?nèi)指令和數(shù)據(jù)SRAM,而且指令和數(shù)據(jù)的存儲器容量可調(diào);</p><p> ⑶片內(nèi)指令和數(shù)據(jù)高速緩沖器(cache)容量從4K字節(jié)到1M字節(jié);</p><p> ?、仍O(shè)置保護(hù)單元(protection unit),非常適合嵌入式應(yīng)用中對存儲器進(jìn)行分段和保護(hù);</p>
23、<p> ⑸采用AMBA AHB總線接口,為外設(shè)提供統(tǒng)一的地址和數(shù)據(jù)總線;</p><p> ?、手С滞獠繀f(xié)處理器,指令和數(shù)據(jù)總線有簡單的握手信令支持;</p><p> ?、酥С謽?biāo)準(zhǔn)基本邏輯單元掃描測試方法學(xué),而且支持BIST(built-in-self-test);</p><p> ⑻支持嵌入式跟蹤宏單元,支持實(shí)時跟蹤指令和數(shù)據(jù)。</p
24、><p> 2.2ARM微處理器的寄存器結(jié)構(gòu)</p><p> ARM處理器共有37個寄存器,被分為若干個組,這些寄存器包括:</p><p> ?。?1個通用寄存器,包括程序計數(shù)器(PC指針),均為32位的寄存器。</p><p> ?。?個狀態(tài)寄存器,用以標(biāo)識CPU的工作狀態(tài)及程序的運(yùn)行狀態(tài),均為32位,目前只使用了其中的一部分。<
25、;/p><p> 通用寄存器包括R0~R15,可以分為三類:</p><p> (1)未分組寄存器R0~R7:在所有的運(yùn)行模式下,未分組寄存器都指向同一個物理寄存器,他們未被系統(tǒng)用作特殊的用途,因此,在中斷或異常處理進(jìn)行運(yùn)行模式轉(zhuǎn)換時,由于不同的處理器運(yùn)行模式均使用相同的物理寄存器,可能會造成寄存器中數(shù)據(jù)的破壞,這一點(diǎn)在進(jìn)行程序設(shè)計時應(yīng)引起注意。</p><p>
26、 (2)分組寄存器R8~R14:對于分組寄存器,他們每一次所訪問的物理寄存器與處理器當(dāng)前的運(yùn)行模式有關(guān)。</p><p> (3)程序計數(shù)器PC(R15):寄存器R15用作程序計數(shù)器(PC)。</p><p> 同時,ARM處理器又有7種不同的處理器模式,在每一種處理器模式下均有一組相應(yīng)的寄存器與之對應(yīng)。即在任意一種處理器模式下,可訪問的寄存器包括15個通用寄存器(R0~R14)、一至
27、二個狀態(tài)寄存器和程序計數(shù)器。在所有的寄存器中,有些是在7種處理器模式下共用的同一個物理寄存器,而有些寄存器則是在不同的處理器模式下有不同的物理寄存器。</p><p> ARM微處理器支持7種運(yùn)行模式,分別為:</p><p> 用戶模式(usr):ARM處理器正常的程序執(zhí)行狀態(tài);</p><p> 快速中斷模式(fiq):用于高速數(shù)據(jù)傳輸或通道處理;<
28、/p><p> 外部中斷模式(irq):用于通用的中斷處理;</p><p> 管理模式(svc):操作系統(tǒng)使用的保護(hù)模式;</p><p> 數(shù)據(jù)訪問終止模式(abt):當(dāng)數(shù)據(jù)或指令預(yù)取終止時進(jìn)入該模式,可用于虛擬存儲及存儲保護(hù);</p><p> 系統(tǒng)模式(sys):運(yùn)行具有特權(quán)的操作系統(tǒng)任務(wù);</p><p>
29、; 未定義指令中止模式(und):當(dāng)未定義的指令執(zhí)行時進(jìn)入該模式,可用于支持硬件協(xié)處理器的軟件仿真;</p><p> 除用戶模式以外,其余的所有6種模式稱之為非用戶模式,或特權(quán)模式(Privileged Modes);其中除去用戶模式和系統(tǒng)模式以外的5種又稱為異常模式(Exception Modes),常用于處理中斷或異常,以及需要訪問受保護(hù)的系統(tǒng)資源等情況。</p><p><
30、;b> 處理能力</b></p><p> 新一代的ARM9處理器,通過全新的設(shè)計,采用了更多的晶體管,能夠達(dá)到兩倍以上于ARM7處理器的處理能力。這種處理能力的提高是通過增加時鐘頻率和減少指令執(zhí)行周期實(shí)現(xiàn)的。</p><p> ?。ㄒ唬?#160;時鐘頻率的提高:</p><p> ARM7處理器采用3級流水線,而ARM9采用5級流水線。增
31、加的流水線設(shè)計提高了時鐘頻率和并行處理能力。5級流水線能夠?qū)⒚恳粋€指令處理分配到5個時鐘周期內(nèi),在每一個時鐘周期內(nèi)同時有5個指令在執(zhí)行。在同樣的加工工藝下,ARM9TDMI處理器的時鐘頻率是ARM7TDMI的1.8~2.2倍。</p><p> ?。ǘ?#160;指令周期的改進(jìn):</p><p> 指令周期的改進(jìn)對于處理器性能的提高有很大的幫助。性能提高的幅度依賴于代碼執(zhí)行時指令的重疊
32、,這實(shí)際上是程序本身的問題。對于采用最高級的語言,一般來說,性能的提高在30%左右。</p><p> 2.3ARM微處理器的指令結(jié)構(gòu)</p><p> ARM微處理器的在較新的體系結(jié)構(gòu)中支持兩種指令集:ARM指令集和Thumb指令集。其中,ARM指令為32位的長度,Thumb指令為16位長度。Thumb指令集為ARM指令集的功能子集,但與等價的ARM代碼相比較,可節(jié)省30%~40%
33、以上的存儲空間,同時具備32位代碼的所有優(yōu)點(diǎn)。</p><p> ?、眑oads 指令與n stores指令</p><p> 指令周期數(shù)的改進(jìn)最明顯的是loads指令和stores指令。從ARM7到ARM9這兩條指令的執(zhí)行時間減少了30%。指令周期的減少是由于ARM7和ARM9兩種處理器內(nèi)的兩個基本的微處理結(jié)構(gòu)不同所造成的。</p><p> ?、臕RM9有獨(dú)立
34、的指令和數(shù)據(jù)存儲器接口,允許處理器同時進(jìn)行取指和讀寫數(shù)據(jù)。這叫作改進(jìn)型哈佛結(jié)構(gòu)。而ARM7只有數(shù)據(jù)存儲器接口,它同時用來取指令和數(shù)據(jù)訪問。</p><p> ?、?級流水線引入了獨(dú)立的存儲器和寫回流水線,分別用來訪問存儲器和將結(jié)果寫回寄存器。</p><p> 以上兩點(diǎn)實(shí)現(xiàn)了一個周期完成loads指令和stores指令。</p><p> ⒉互鎖(interlo
35、cks)技術(shù)</p><p> 當(dāng)指令需要的數(shù)據(jù)因?yàn)橐郧暗闹噶顩]有執(zhí)行完而沒有準(zhǔn)備好就會產(chǎn)生管道互鎖。當(dāng)管道互鎖發(fā)生時,硬件會停止這個指令的執(zhí)行,直到數(shù)據(jù)準(zhǔn)備好為止。雖然這種技術(shù)會增加代碼執(zhí)行時間,但是為初期的設(shè)計者提供了巨大的方便。編譯器以及匯編程序員可以通過重新設(shè)計代碼的順序或者其他方法來減少管道互鎖的數(shù)量。</p><p><b> ?、撤种χ噶?lt;/b><
36、;/p><p> ARM9和ARM7的分枝指令周期是相同的。而且ARM9TDMI和ARM9E-S并沒有對分枝指令進(jìn)行預(yù)測處理。</p><p> 2.4ARM微處理器產(chǎn)品簡述</p><p> ARM處理器核當(dāng)前有6個系列產(chǎn)品:</p><p> ARM7、ARM9、ARM9E、ARM10E、Secur-Core以及最新的ARM11系列
37、,另外還有公司的XScale微體系結(jié)構(gòu)和StrongARM產(chǎn)品。其中ARM7是低功耗的32位核,最適合應(yīng)用于對價位和功耗敏感的產(chǎn)品,它又分為應(yīng)用于實(shí)時環(huán)境的ARM7TD-MI、ARM7-TDMI-S,以及適用于開發(fā)平臺的ARM720T和適用于DSP運(yùn)算及支持Java的ARM7EJ等。</p><p> 2.5ARM處理器的性能特征</p><p> ARM7TDMI處理器是ARM7處
38、理器系列成員之一,是目前應(yīng)用最廣32位高性能嵌入式RISC處理器。下面以ARM7TDMI為例,介紹ARM芯片的性能特征:</p><p><b> (1)指令流水線</b></p><p> ARM7TDMI使用流水線以提高處理器指令的流動速度。</p><p><b> (2)存儲器訪問</b></p>
39、<p> ARM7TDMI核是馮·諾依曼體系結(jié)構(gòu),使用單一的32位數(shù)據(jù)總線傳送指令和數(shù)據(jù)。只有加載、存儲和交換指令可以訪問存儲器中的數(shù)據(jù)。</p><p><b> (3)存儲器接口</b></p><p> ARM7TDMI的存儲器接口被設(shè)計成在使用存儲器最少的情況下實(shí)現(xiàn)其潛能。ARM7TDMI有4種存儲周期的基本類型:空閑周期、非順序
40、周期、順序周期和協(xié)處理器寄存器傳送周期。</p><p> (4)嵌入式ICE-RT邏輯</p><p> 嵌入式ICE-RT邏輯為ARM7TDMI核提供了集成的在片調(diào)試支持。可以使用嵌入式工ICE-RT邏輯來編寫斷點(diǎn)或觀察斷點(diǎn)出現(xiàn)的條件。</p><p> 圖1 ARM9結(jié)構(gòu)圖</p><p><b> 3.1硬件設(shè)計
41、</b></p><p> 硬件系統(tǒng)是整個嵌入式系統(tǒng)的基礎(chǔ),只有先設(shè)計并調(diào)試好硬件系統(tǒng)才能在此基礎(chǔ)上進(jìn)行后續(xù)開發(fā)。由于嵌入式系統(tǒng)應(yīng)用的領(lǐng)域不同,相應(yīng)的硬件選擇也會各不相同。</p><p> 3.1.1ARM芯片的選擇標(biāo)準(zhǔn)</p><p> ARM處理器是一種16/32位的高性能、低成本、低功耗的嵌入式RISC微處理器,由ARM公司設(shè)計,然后授權(quán)給
42、各半導(dǎo)體廠商,目前己成為應(yīng)用最為廣泛的嵌入式處理器。ARM系列處理器主要有ARM7、ARM9、ARM9E和ARM10 4個通用處理器系列,每一個系列提供一套相對獨(dú)特的性能來滿足不同應(yīng)用領(lǐng)域的需求,其中又以ARM7和ARM9兩個系列使用的最為廣泛。ARM7系列微處理器為低功耗的32位R ISC處理器,最適合用于對價位和功耗要求較高的消費(fèi)類應(yīng)用。ARM7微處理器系列主頻最高可達(dá)130MIPS,高速的運(yùn)算處理能力能勝任絕大多數(shù)的復(fù)雜應(yīng)用。&l
43、t;/p><p> ARM9系列微處理器在高性能和低功耗特性方面提供最佳的性能,具有更高的指令和數(shù)據(jù)處理能力,其主頻最高可達(dá)300MIPS。其性能較ARM7系列有較大提升,但價格也相對更高。</p><p> 3.1.2硬件平臺設(shè)計</p><p> 根據(jù)系統(tǒng)體系結(jié)構(gòu)設(shè)計的嵌入式目標(biāo)控制系統(tǒng),進(jìn)行硬件平臺設(shè)計,選擇嵌入式系統(tǒng)的處理器及常用的外圍設(shè)備(如SDRAM、
44、FLASH、RS - 232串行口等)實(shí)現(xiàn)無縫連接,從而簡化了外圍電路的設(shè)計,降低了產(chǎn)品成本、體積和功耗.硬件設(shè)計也可以構(gòu)成最小系統(tǒng)的設(shè)計。最小系統(tǒng)是指ARM能夠穩(wěn)定運(yùn)行所需要的最基本的條件。</p><p> 同單片機(jī)一樣,ARM最小系統(tǒng)也包括電源、時鐘源、復(fù)位電路、代碼和數(shù)據(jù)存放空間、合理的管腳設(shè)置以及必要的調(diào)試接口等要素,如圖2所示。</p><p> 圖2嵌入式最小系統(tǒng)硬件結(jié)構(gòu)
45、示意圖</p><p><b> 3.2各模塊功能</b></p><p> 3.2.1GPRS模塊</p><p> 模塊功能:當(dāng)有告警事件發(fā)生時,發(fā)送短信給指定號碼;讀取最新短信內(nèi)容,解釋成相關(guān)的命令后,傳送給其他模塊。</p><p> 模塊接口:保存用戶命令的全局變量數(shù)組user_comd,保存告警處理優(yōu)
46、先級的全居變量數(shù)組user_pri,保存告警狀態(tài)的全局變量if_alarm。</p><p> 實(shí)現(xiàn):(1)發(fā)送短信給用戶</p><p> 先建立一個消息緩沖區(qū)write_buf[ ],將警告提示信息存入緩沖區(qū)。新建一個讀取報警狀態(tài)的線程,每隔一段時間就掃描各個防區(qū)的狀態(tài),如果有防區(qū)處于報警狀態(tài)就獲取該防區(qū)防區(qū)代號,將防區(qū)代號連接到緩沖區(qū)中,接著將緩沖區(qū)中的內(nèi)容放送到指定的號碼。&l
47、t;/p><p> ?。?)接受并解釋用戶發(fā)回的短信</p><p> 首先將用戶發(fā)回的短信內(nèi)容讀取到緩沖區(qū)read_buf[ ]中,然后提取關(guān)鍵內(nèi)容并進(jìn)行解釋,比如:提取內(nèi)容為1時,表示用戶發(fā)出了滅火命令;提取內(nèi)容為2時,表示用戶發(fā)出了關(guān)閉警示燈,等等。</p><p> 接著將提取出的命令傳送到全局變量user_comd中,并設(shè)置警告優(yōu)先級(優(yōu)先級的大小保存在一
48、個全局變量user_pri中)。</p><p> 3.2.2網(wǎng)絡(luò)通訊模塊</p><p> 模塊功能:此模塊采用網(wǎng)絡(luò)cgi編程。服務(wù)器部分用來接收用戶從網(wǎng)絡(luò)發(fā)送過來的信息,并將該信息解釋成相關(guān)命令,然后將命令存入全局變量user_comd中,然后將處理的內(nèi)容返回給客戶端(比如,用戶從網(wǎng)絡(luò)上傳送了查看報警日志的命令,服務(wù)器解釋命令后將日志信息發(fā)回給客戶端);客戶端用來提供用戶遠(yuǎn)程登錄連
49、接服務(wù)器,并向服務(wù)器發(fā)送相關(guān)命令,當(dāng)服務(wù)器有信息返回時,客戶端負(fù)責(zé)接收信息并在屏幕上顯示。</p><p> 模塊接口:使用共享內(nèi)存這種進(jìn)程間通訊方法實(shí)現(xiàn)主控程序和網(wǎng)頁程序之間數(shù)據(jù)的通訊。</p><p> 實(shí)現(xiàn):采用cgi編程,此模塊只需要在main函數(shù)中建立共享內(nèi)存的,網(wǎng)頁也同樣建立共享內(nèi)存,通過遠(yuǎn)程登錄192.168.31.228這個IP地址,即可對喂養(yǎng)系統(tǒng)進(jìn)行遠(yuǎn)程控制,設(shè)置喂養(yǎng)
50、時間,喂養(yǎng)間隔時間,網(wǎng)頁控制喂養(yǎng)操作和指定手機(jī)號碼等操作。用戶可以按自己要求進(jìn)行相關(guān)設(shè)定。</p><p> 3.2.3硬件設(shè)計和驅(qū)動編寫模塊</p><p> 模塊功能:此模塊完成喂養(yǎng)器的設(shè)計和相關(guān)硬件和傳感器的驅(qū)動的編寫。</p><p> 模塊接口:光感器、聲控報警器、步進(jìn)電機(jī)等都是通過I/O口來進(jìn)行控制的。</p><p>
51、實(shí)現(xiàn):光感和聲控都是只有一個I/O口,驅(qū)動可以大致相同,步進(jìn)電機(jī)占4個I/O口,驅(qū)動編寫過程中注意每一相通電后注意要有個300微秒左右的延遲,通過for循環(huán)的次數(shù)來實(shí)現(xiàn)步進(jìn)電機(jī)轉(zhuǎn)過的角度。</p><p> 3.2.4系統(tǒng)框架模塊</p><p> 模塊功能:該模塊實(shí)現(xiàn)整個系統(tǒng)的框架,該模塊負(fù)責(zé)整個服務(wù)器整個流程的設(shè)計。</p><p> 模塊接口:一系列的結(jié)
52、構(gòu)體全局變量,相關(guān)的文件名</p><p> 實(shí)現(xiàn):首先編寫一個main函數(shù)的框架,然后在定義好全局變量和局部變量后,創(chuàng)建4個線程,這四個線程將分別是步進(jìn)電機(jī)控制模塊、GPRS短信收發(fā)模塊、按鍵處理模塊和聲感控制模塊。在創(chuàng)建線程時,各參數(shù)一定要設(shè)置好。為避免程序提前退出,在創(chuàng)建線程后要加上線程等待函數(shù)。</p><p> 3.3軟件設(shè)計與實(shí)現(xiàn)</p><p>
53、 3.3.1嵌入式軟件的特點(diǎn)</p><p> 嵌入式軟件( Firmware)通常是整個嵌入式系統(tǒng)的控制和管理中心,是實(shí)現(xiàn)項(xiàng)目要求的系統(tǒng)功能的關(guān)鍵,其質(zhì)量直接影響整個系統(tǒng)的性能。嵌入式軟件運(yùn)行的環(huán)境、載體、功能要求等特性,使其與計算機(jī)軟件開發(fā)具有許多差異。</p><p> (1)嵌入式軟件設(shè)計時更強(qiáng)調(diào)軟硬件協(xié)同工作的效率和穩(wěn)定性;</p><p> (2
54、)嵌入式軟件的結(jié)果通常需要固化在目標(biāo)系統(tǒng)的存儲器或處理器內(nèi)部存儲資源中,而不是存放在硬盤中;</p><p> (3)嵌入式軟件的開發(fā)一般需要開發(fā)工具、目標(biāo)設(shè)備等;</p><p> (4)嵌入式軟件對實(shí)時性的要求更高;</p><p> (5)嵌入式軟件對抗干擾性和可靠性的要求也較高;</p><p> (6)嵌入式軟件的代碼大小通
55、常也是需要考慮的。</p><p> 理解了嵌入式軟件的這些特點(diǎn),有助于幫助設(shè)計者開發(fā)出高質(zhì)量、高穩(wěn)定性的產(chǎn)品。</p><p> 3.3.2嵌入式軟件的結(jié)構(gòu)</p><p> 基于ARM的嵌入式軟件通常需要一段匯編代碼作為啟動代碼來完成處理器運(yùn)行環(huán)境的初始化等操作,然后設(shè)計者可以跳轉(zhuǎn)到用C /C + +等高級語言編寫的應(yīng)用程序中,也可以進(jìn)入某個嵌入式操作系統(tǒng)
56、中開始任務(wù)的調(diào)度,當(dāng)然所有代碼可以全部由匯編語言完成。ADS、SDT等集成開發(fā)環(huán)境都提供了完備的運(yùn)行時庫供設(shè)計者引用。簡單地說,嵌入式軟件包括了啟動代碼、應(yīng)用程序、頭文件、庫文件和某些專用的開發(fā)工具等幾個主要部分。</p><p><b> 4.環(huán)境要求:</b></p><p> 4.1軟件運(yùn)行環(huán)境要求</p><p> ?。?)操作系統(tǒng)
57、及版本:Windows XP, Linux RedHat 9.0</p><p> ?。?)軟件開發(fā)工具:Vmware虛擬機(jī)軟件,VI編輯器,GCC編譯器(PC平臺gcc,ARM平臺arm-linux-gcc),NFS(網(wǎng)絡(luò)文件系統(tǒng))。</p><p> (3)編程語言:C語言。</p><p> ?。?)開發(fā)框架:多線程框架。</p><p
58、> 4.2硬件運(yùn)行環(huán)境要求</p><p> ?。?)計算機(jī)硬件要求</p><p> CPU:主頻1.0G以上</p><p> 內(nèi)存:512MB以上</p><p><b> 硬盤:40GB以上</b></p><p> 接口:串行接口一個,I/O口若干</p>
59、<p> (2)Tiny6410開發(fā)平臺</p><p> 報警燈:LED1,LED2,LED3。</p><p> 人工喂養(yǎng)觸發(fā)鍵:按鍵1</p><p> 通訊端口:串口1,網(wǎng)口</p><p> ?。?)GPRS通信模塊</p><p> (4)系統(tǒng)硬件總體架構(gòu)</p><
60、p><b> 軟件流程圖:</b></p><p> 圖3 智能寵物喂養(yǎng)功能結(jié)構(gòu)圖</p><p> 4.3系統(tǒng)測試環(huán)境:</p><p> ?。?)硬件環(huán)境:PC一臺,Tiny6410開發(fā)平臺一套,GSM網(wǎng)絡(luò)手機(jī)一部。</p><p> ?。?)軟件環(huán)境:串口通訊軟件,網(wǎng)絡(luò)通訊軟件。</p>
61、<p> ?。?)網(wǎng)絡(luò)通訊測試:PC機(jī)網(wǎng)口同ARM平臺網(wǎng)口數(shù)據(jù)收發(fā)測試。</p><p> ?。?)GPRS模塊通訊測試:PC機(jī)串口同GPRS模塊數(shù)據(jù)收發(fā)測試。</p><p><b> 二、軟件設(shè)計</b></p><p><b> 軟件程序:</b></p><p> #incl
62、ude "main.h"</p><p> pthread_t pth_a,pth_b,pth_c,pth_d,pth_e,pth_f;</p><p> struct st_sys_dev *g_dev;</p><p> int fd,fd_pwm,fd_button,fd_l,fd_s,fd_com1;</p><
63、p> char flag = 0;</p><p> volatile int baud=B115200;</p><p> static struct termios oldtio,newtio;</p><p> int com_fd = -1;</p><p> int tty_init(char* dev_name)&
64、lt;/p><p><b> {</b></p><p> int com_fd_new;</p><p> com_fd = open(dev_name, O_RDWR );</p><p> if (com_fd <0) {</p><p> perror(dev_name);&l
65、t;/p><p><b> exit(-1);</b></p><p><b> }</b></p><p> com_fd_new = com_fd;</p><p> tcgetattr(com_fd_new,&oldtio); /* save current modem setti
66、ngs */</p><p> bzero(&newtio, sizeof(newtio)); </p><p> newtio.c_cflag = baud | CS8 ;</p><p> newtio.c_iflag = IGNPAR | ICRNL; </p><p> newtio.c_oflag = 0; <
67、/p><p> newtio.c_lflag = ICANON;</p><p> newtio.c_cc[VINTR] = 0; /* Ctrl-c */ </p><p> newtio.c_cc[VQUIT] = 0; /* Ctrl-\ */ </p><p> newtio.c_cc[VERASE]
68、 = 0; /* del */ </p><p> newtio.c_cc[VKILL] = 0; /* @ */ </p><p> newtio.c_cc[VEOF] = 4; /* Ctrl-d */ </p><p> newtio.c_cc[VTIME] = 0; /* 不使用分割字元組的計時器
69、 */ </p><p> newtio.c_cc[VMIN] = 1; /* 在讀取到 1 個字元前先停止 */ </p><p> newtio.c_cc[VSWTC] = 0; /* '\0' */ </p><p> newtio.c_cc[VSTART] = 0; /* Ctrl-q */
70、</p><p> newtio.c_cc[VSTOP] = 0; /* Ctrl-s */ </p><p> newtio.c_cc[VSUSP] = 0; /* Ctrl-z */ </p><p> newtio.c_cc[VEOL] = 0; /* '\0' */ </p>&
71、lt;p> newtio.c_cc[VREPRINT] = 0; /* Ctrl-r */ </p><p> newtio.c_cc[VDISCARD] = 0; /* Ctrl-u */ </p><p> newtio.c_cc[VWERASE] = 0; /* Ctrl-w */ </p><p> newtio.c_
72、cc[VLNEXT] = 0; /* Ctrl-v */ </p><p> newtio.c_cc[VEOL2] = 0; /* '\0' */ </p><p> tcflush(com_fd_new, TCIFLUSH);</p><p> tcsetattr(com_fd_new,TCSANOW,&ne
73、wtio);/*set attrib */</p><p> return com_fd_new;</p><p><b> }</b></p><p> void init_sys(void)</p><p><b> {</b></p><p> load_
74、dev(g_dev);</p><p> /************報警功能**********/</p><p> fd_pwm = open("/dev/pwm",O_RDWR);</p><p> if(fd_pwm < 0){</p><p> printf("open pwm error\
75、n");</p><p><b> exit(-1);</b></p><p><b> }</b></p><p> /**********按鍵處理*************/</p><p> fd_button = open("/dev/6410buttons&qu
76、ot;,O_RDWR);</p><p> if(fd_button < 0){</p><p> printf("open button error\n");</p><p> exit(-1);</p><p><b> }</b></p><p><
77、;b> //發(fā)送短信</b></p><p> //at at at+cmgf=1 at+cmgs="13912345678"<CR>text<ctrl-Z></p><p> int gprs_msg(char *mob_num, char* msg)</p><p><b> {
78、</b></p><p> char ctl[]={26,0};</p><p> char alarm_msg[64] = " ";</p><p> strcpy(alarm_msg,msg);</p><p> tty_writecmd("at", strlen("
79、at"));</p><p> usleep(5000);</p><p> tty_writecmd("at", strlen("at"));</p><p> tty_writecmd("at+cmgf=1", strlen("at+cmgf=1"));//發(fā)送修
80、改字符集命令</p><p> tty_write("at+cmgs=", strlen("at+cmgs="));//發(fā)送發(fā)短信命令,具體格式見手冊</p><p> tty_write("\"", strlen("\""));</p><p> tty_w
81、rite(mob_num, strlen(mob_num));</p><p> tty_write("\"", strlen("\""));</p><p> tty_write("\r", strlen("\r"));</p><p> tty_write(
82、alarm_msg, strlen(alarm_msg));</p><p> tty_write(ctl, 1); //“CTRL+Z"的ASCII碼</p><p> usleep(300000);</p><p><b> return 0;</b></p><p><b>
83、}</b></p><p> /**********接收喂食短信*******************/</p><p> void* rec_msg(void* data)</p><p><b> {</b></p><p> char msg[8]={"feed dog"};
84、</p><p><b> char c;</b></p><p> char buf[9];</p><p> char buff[128];</p><p><b> int i;</b></p><p><b> int t=0;</b>
85、</p><p><b> int m=0;</b></p><p> while (1) {</p><p> //接收GPRS發(fā)送回的信息]</p><p> memset(buff,0,128);</p><p> tty_read(&c,1);</p>
86、<p> if(c=='+'){</p><p> tty_read(&c,1);</p><p> if(c=='C'){</p><p> tty_writecmd("at+cmgf=1", strlen("at+cmgf=1"));</p><
87、;p> tty_writecmd("at+cmgr=1", strlen("at+cmgr=1"));</p><p> memset(buff,0,128);</p><p> for(i=0;i<119;i++){</p><p> tty_read(&c,1);</p><
88、p> buff[i]=c;</p><p><b> }</b></p><p> for(i=0;i<119;i++){</p><p> if((buff[i]=='+')&&(buff[i+1]=='3')&&(buff[i+2]=='2'
89、)&&(buff[i+3]=='"')){</p><p> memset(buf,0,9);</p><p> for(m=i+6;m<i+14;m++){</p><p> buf[t]=buff[m];</p><p><b> t++;</b&g
90、t;</p><p><b> }</b></p><p><b> t=0;</b></p><p> g_dev->msg = !memcmp(buf,msg,8);</p><p> tty_writecmd("at+cmgd=1", strlen("
91、;at+cmgd=1"));</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p>&
92、lt;b> sleep(1);</b></p><p><b> }</b></p><p><b> }</b></p><p> int tty_read(char *buf,int nbytes)</p><p><b> {</b><
93、;/p><p> return read(com_fd,buf,nbytes);</p><p><b> }</b></p><p> int tty_write(char *buf,int nbytes)</p><p><b> {</b></p><p><
94、b> int i;</b></p><p> for(i=0; i<nbytes; i++) {</p><p> write(com_fd,&buf[i],1);</p><p> usleep(100);</p><p><b> }</b></p><
95、p> return tcdrain(com_fd);</p><p><b> }</b></p><p> int tty_writecmd(char *buf,int nbytes)</p><p><b> {</b></p><p><b> int i;</
96、b></p><p> for(i=0; i<nbytes; i++){</p><p> write(com_fd,&buf[i],1);</p><p> usleep(100);</p><p><b> }</b></p><p> write(com_fd,
97、"\r",1);</p><p> usleep(300000);</p><p> return tcdrain(com_fd);</p><p><b> }</b></p><p><b> 圖4系統(tǒng)示意圖</b></p><p><b
98、> ARM的前景</b></p><p> 市場研究機(jī)構(gòu)ABI Research預(yù)測,采用ARM處理器的上網(wǎng)本(netbooks)、便攜式上網(wǎng)設(shè)備(MID)以及超便攜計算機(jī)(ultra-mobile PC)等設(shè)備出貨量,將在2013年超越采用x86架構(gòu)處理器的PC產(chǎn)品,大幅扭轉(zhuǎn)目前的狀況。</p><p> ABI指出,目前在UMD市場中,上網(wǎng)本正邁入第二代,且有越
99、來越多市面上的產(chǎn)品是采用ARM平臺;此外,ARM平臺也逐漸滲透到其他各種不同型態(tài)的PC產(chǎn)品中,包括平板計算機(jī)。但ABI并未提出對UMD市場年度出貨量的預(yù)估數(shù)據(jù)。</p><p> 在2010年,ABI預(yù)測市場對Intel與ARM的支持度比數(shù)約為75:25,該比數(shù)在2012年將為60:40;到2013年,ARM所獲得的支援度則會超越Intel,并在2014年使兩家公司的市場地位顛倒過來,成為ARM與Intel市場
100、支持度比數(shù)60:40。至于其他處理器平臺在UMD市場恐無立足空間。</p><p> 而各種采用ARM處理器的上網(wǎng)本與其他便攜設(shè)備不斷增生的趨勢,只會讓數(shù)據(jù)傳輸需求量激增;Orr指出,為此通訊服務(wù)業(yè)者正致力于擴(kuò)充網(wǎng)絡(luò)容量,以因應(yīng)未來以數(shù)據(jù)為中心設(shè)備的需求;這方面的工作重點(diǎn)包括骨干網(wǎng)絡(luò)與3G/4G網(wǎng)絡(luò)基地臺的建置。</p><p> 據(jù)統(tǒng)計,每年只有10%~20%的計算機(jī)芯片是為臺式PC
101、機(jī)或手提電腦而設(shè)計的;為嵌入式系統(tǒng)設(shè)計制造的CPU每年大概有10~20億片;每年又有10000個新的嵌入式系統(tǒng)計劃產(chǎn)生,而且越來越多的控制系統(tǒng)需要復(fù)雜的嵌入式操作系統(tǒng)。嵌入式技術(shù)的快速發(fā)展不僅使之成為當(dāng)前微電子技術(shù)與計算機(jī)技術(shù)中的一個重要分支,同時也使計算機(jī)的分類從以前的巨型機(jī)、大型機(jī)、小型機(jī)和微機(jī)之分變?yōu)橥ㄓ糜嬎銠C(jī)和嵌入式系統(tǒng)之分。</p><p> 四、項(xiàng)目設(shè)計結(jié)果分析(分析試驗(yàn)過程中獲得的數(shù)據(jù)、波形、現(xiàn)象
102、或問題的正確性和必然性,分析產(chǎn)生不正確結(jié)果的原因和處理方法)</p><p> 隨著電子技術(shù)的飛速發(fā)展,隨著人們生活和生產(chǎn)水平的不斷提高,我們有理由相信嵌入式系統(tǒng)及基于ARM嵌入式技術(shù)的微處理器會呈現(xiàn)出蓬勃發(fā)展的趨勢。本次讓我們體味到設(shè)計電路、連接電路、調(diào)測電路過程中的樂苦與甜。設(shè)計是我們將來必需的技能,這次實(shí)習(xí)恰恰給我們提供了一個應(yīng)用自己所學(xué)知識的機(jī)會,從到圖書館查找資料到對電路的設(shè)計對電路的調(diào)試再到最后電路
103、的成型,都對我所學(xué)的知識進(jìn)行了檢驗(yàn)。同時在設(shè)計的過程中,遇到了一些以前沒有見到過的元件,但是通過查找資料來學(xué)習(xí)這些元件的功能和使用。在制作過程中有許多注意事項(xiàng):1. 各模塊的接口為全局變量,使用全局變量時一定要注意優(yōu)先級,以免產(chǎn)生沖突。較高的優(yōu)先級具有優(yōu)先被執(zhí)行的權(quán)利;2. 由于各模塊的狀態(tài)標(biāo)志被統(tǒng)一定義在一個全局結(jié)構(gòu)體中,因此要注意每一個標(biāo)志改變后是否寫進(jìn)了結(jié)構(gòu)體中,這樣才能保證相關(guān)線程的正確運(yùn)行;3. 以上各模塊的需求說明均為可行性
104、建議,各模塊負(fù)責(zé)人可根據(jù)自己的實(shí)際情況處理;4. 針對不同硬件模塊,狀態(tài)標(biāo)志的讀取注意不要產(chǎn)生沖突,需要同時讀取的使用多線程架構(gòu)來編寫,如按鍵和光感狀態(tài)的讀取;5. GPRS模塊中注意串口的讀寫問題,特別是字符串的處理,我們只</p><p> 五、參考文摘(相關(guān)文摘不少于5篇,記錄每篇文獻(xiàn)的作者姓名.文獻(xiàn)名稱.文獻(xiàn)發(fā)行城市:文獻(xiàn)出版社,出版年;文獻(xiàn)內(nèi)容摘要, 每篇不少于100字)</p><
105、;p> ?。ㄒ唬╆愑澹度胧较到y(tǒng)原理及應(yīng)用開發(fā)[M].北京:機(jī)械工業(yè)出版社,2008:210~336.</p><p> 摘要:嵌入式系統(tǒng)是一個涉及多方面知識的交叉學(xué)科,目前ARM和Linux是嵌入式系統(tǒng)發(fā)展中的兩個重點(diǎn)方向。本書是關(guān)于嵌入式系統(tǒng)的基礎(chǔ)教程,立足于基于ARM體系結(jié)構(gòu)的Linux開發(fā)。全書共12章,包含了嵌入式系統(tǒng)發(fā)展方向、ARM體系結(jié)構(gòu)、嵌入式處理器、嵌入式硬件系統(tǒng)、嵌入式軟件結(jié)構(gòu)、基于G
106、NU Tools的程序開發(fā)、Linux內(nèi)核移植、Linux驅(qū)動程序、Linux應(yīng)用開發(fā)等方面的內(nèi)容,組成了一個從硬件到軟件的完整的知識結(jié)構(gòu)。</p><p> ?。ǘ┩蹶愘懀瓵RM嵌入式技術(shù)實(shí)踐教程[M].北京:航空航天大學(xué)出版社,2005:98~99</p><p> 摘要:詳細(xì)說明以及集成開發(fā)環(huán)境ADT IDE的軟件編程方法;然后按照從易到難、從簡單到復(fù)雜的順序安排實(shí)驗(yàn),包括嵌入式
107、軟件開發(fā)基礎(chǔ)實(shí)驗(yàn)、基本接口實(shí)驗(yàn)、BootLoader實(shí)驗(yàn)、嵌入式Linux操作系統(tǒng)實(shí)驗(yàn)、嵌入式Linux圖形用戶界面實(shí)驗(yàn)及高級接口實(shí)驗(yàn)。不僅介紹了嵌入式開發(fā)的基礎(chǔ)實(shí)驗(yàn),而且著重講述了嵌入式Linux的開發(fā)過程,包括嵌入式Linux操作系統(tǒng)的移植、驅(qū)動程序的開發(fā)、應(yīng)用程序的開發(fā)以及圖形用戶界面開發(fā)。書中還包含了硬件電路原理圖,許多基本的硬件接口原理、電路圖以及大量的接口程序。</p><p> ?。ㄈ┳T浩強(qiáng).C+
108、+程序設(shè)計.北京:清華大學(xué)出版社.2011.</p><p> 摘要:如果使用用戶自己定義的函數(shù),而該函數(shù)與調(diào)用它的函數(shù)在同一個程序單位中,且位置在主調(diào)函數(shù)之后,則必須在調(diào)用此函數(shù)之前對被調(diào)用的函數(shù)做申明。所謂函數(shù)申明就是在函數(shù)尚未定義的情況下,事先將該函數(shù)的有關(guān)信息通知編譯系統(tǒng),以便使編譯能正常進(jìn)行。被調(diào)用的函數(shù)必須是已經(jīng)存在的函數(shù)。定義是指對函數(shù)功能的確立,包括指定函數(shù)名,函數(shù)類型,形參及其類型,函數(shù)體等。
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于微信平臺的嵌入式智能寵物喂養(yǎng)系統(tǒng)的設(shè)計與實(shí)現(xiàn).pdf
- 寵物喂養(yǎng)機(jī)智能遠(yuǎn)程控制系統(tǒng)的設(shè)計與研發(fā).pdf
- 基于arm的門禁系統(tǒng)設(shè)計
- 基于arm的門禁系統(tǒng)設(shè)計
- 基于arm的時鐘系統(tǒng)設(shè)計
- 基于arm的數(shù)據(jù)采集系統(tǒng)設(shè)計
- 基于arm的智能門禁系統(tǒng)設(shè)計
- 基于arm的語音錄放系統(tǒng)設(shè)計
- 基于arm的阻抗測量系統(tǒng)的設(shè)計
- 基于arm的視頻采集系統(tǒng)設(shè)計
- 基于arm的usb轉(zhuǎn)存系統(tǒng)設(shè)計
- 基于arm的遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計
- 基于arm的遠(yuǎn)程溫度監(jiān)測系統(tǒng)設(shè)計
- 基于arm的gps導(dǎo)航定位系統(tǒng)設(shè)計
- 基于java的寵物管理系統(tǒng)實(shí)現(xiàn)
- 基于arm的電子點(diǎn)菜系統(tǒng)設(shè)計
- 基于arm平臺的智能溫控系統(tǒng)設(shè)計
- 基于ARM的無線監(jiān)控系統(tǒng)設(shè)計.pdf
- 基于ARM的圖像采集系統(tǒng)設(shè)計.pdf
- 基于ARM的熔融沉積系統(tǒng)設(shè)計.pdf
評論
0/150
提交評論