freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

王雨晴-嵌入式系統(tǒng)論文-文庫吧

2025-01-02 00:28 本頁面


【正文】 計(jì)不僅需要基本的 I/O 設(shè)備,而且很多都采用廣泛應(yīng)用 PC 機(jī)標(biāo)準(zhǔn)以便主 CPU 總線擴(kuò)展,即 PCI(外設(shè)部件互連)總線。 PCI總線工作頻率為 33MHz( 66MHz),對(duì)于連接到它上面的器件是具有即插 9 即用能力。 Compact PCI( PCI總線的一種)正在進(jìn)入工業(yè)和通信市場(chǎng)。 PC104+基本上分別為 PC ISA和 PCI 總線的改進(jìn)型。 PC104 總線與 ISA總線完全兼容的。這些總線的出現(xiàn)有助于 PCI技術(shù)進(jìn)入嵌入領(lǐng)域。 IrDA/FastIrDA:紅外數(shù)據(jù)聯(lián)盟( IrDA)是一個(gè)由 150多個(gè)公司組成的聯(lián)合體。IrDA 提供一種價(jià)廉的無線、點(diǎn)到點(diǎn)、雙向紅外通信技術(shù)。它旨在用于小于 1米的極短距離通信。 IrDA 有兩個(gè)速度:低速運(yùn)行于 — 115kits/s(簡稱 IrDA);高速運(yùn)行于 1— 4Mbits/s(即 FastIrDA)。高達(dá) 16Mbits/s 的更高速度的正在開發(fā)。 IrDA用于筆記本計(jì)算機(jī)、 PDA、打印機(jī)、照相機(jī)等產(chǎn)品中。其他產(chǎn)品如復(fù)印機(jī)、投影機(jī)和游戲控制等也正在考慮采用。 USB:通用串形總線( USB)是由 IBM、 Compaq、 Nortel、NEC、 Intel 和 Microsoft 公司開發(fā)的一種外設(shè)總線標(biāo)準(zhǔn)。它為所有 USB 外設(shè)提供一種通用的連接,其數(shù)據(jù)率 12Mbits/s。 USB 纜線是為適用于短距離(最長 5 米)而設(shè)計(jì)的。連接遵從樹拓?fù)浣Y(jié)構(gòu),在任何時(shí)間可連接 127個(gè)器件而外設(shè)可以是帶電交換的。 USB纜線也把功率( +5V)分配給低功率外設(shè)。它為不能處理瞬間傳輸、又需要保證帶寬和有限執(zhí)行時(shí)間的應(yīng)用提供同 步通信。同步工作量可以是 USB總線帶寬的一部分或全部。 USB 特別適合于需要高數(shù)據(jù)率和易于即插即用的應(yīng)用,如調(diào)制解調(diào)器、游戲控制、打印機(jī)、掃描儀和數(shù)字相機(jī)。需要保證帶寬和有限執(zhí)行時(shí)間的應(yīng)用包括 PC電話和其他語言及視頻通信應(yīng)用。除了這些新的多媒體設(shè)備外, USB也用于傳統(tǒng)的 I/O設(shè)備,如鍵盤和鼠標(biāo),其處理速度為低速( )。 Windows CE 為 USB提供支持。 USB 的系統(tǒng)軟件由兩部分組成: USBD(通用串行總線驅(qū)動(dòng)器)和 HCD(主控制器驅(qū)動(dòng)器)。 USBD 由 Microsoft 提供而用 USB 器件驅(qū)動(dòng) 器實(shí)現(xiàn)高級(jí)功能。 HCD 模件提供到實(shí)際硬件( OHCD 開路主控制器驅(qū)動(dòng)器或 UHCD 通用主控制器驅(qū)動(dòng)器)的接口。 Ether/Fast Ether: Ether(以太網(wǎng))和 Fast Ether( 和 )是最廣泛應(yīng)用的局域網(wǎng)絡(luò)技術(shù),旨在小區(qū)域(即一個(gè)辦公室)范圍連接計(jì)算機(jī)。 Ether 工作在 10Mbits/s 而 Fast Ether 工作在 100Mbits/s。兩個(gè)協(xié)議的差別限于物理層和通信媒體。媒提存取規(guī)則是 CSMA/CD(載波檢測(cè)多路存取 /沖突檢測(cè))。 Windows CE 通過其 NDIS 。 Ether卡可以在平臺(tái)上或通過一個(gè) PCMCIA槽進(jìn)行熱插拔。 IEEE1394: IEEE1394 是高速串行總線,其數(shù)據(jù)為 25— 400Mbits/s。它起源于Apple Computer 的 FireWire 總線,是作為通用外設(shè)串行總線而設(shè)計(jì)的,但它的應(yīng)用重點(diǎn)轉(zhuǎn)為所有類型的消費(fèi)類設(shè)備如數(shù)字相機(jī)和掃描儀。纜線型 1394 總線可支持63 個(gè)器件。其間之一變成總線管理者,與其他器件協(xié)調(diào)之后管理總線執(zhí)行。纜線越 10 長它所能夠處理的數(shù)據(jù)率就越低。一般長 度為幾米。 IEEE1394和 USB都是串行協(xié)議,然而 USB 和 IEEE1394 比其競爭技術(shù)有更大的互補(bǔ)性, USB 屬于低到中帶寬,而IEEE1394 屬于中到高帶寬。 適合嵌入式 Linux 的開發(fā)工具 開發(fā)嵌入式系統(tǒng)的關(guān)鍵的是可用的工具包。像任何工作一樣,好的工具使得工作更快更好。開發(fā)的不同階段需要不同的工具。 傳統(tǒng)上,首先用于開發(fā)嵌入式系統(tǒng)工具是內(nèi)部電路仿真器( ICE),它是一個(gè)相對(duì)昂貴的部件,用于植入微處理器與總線之間的電路中,允許使用者監(jiān)視和控制微處理器所有信號(hào)的進(jìn)出。這有點(diǎn)難做,因?yàn)樗钱愺w,可能會(huì) 引起不穩(wěn)定。但是它提供了總線工作的清晰狀況,免了許多對(duì)硬件軟件底層工作狀況的猜測(cè)。 過去,一些工作依賴 ICE 為主要調(diào)試工具,用于整個(gè)開發(fā)過程。但是,一旦初始化軟件對(duì)串口支持良好的話,多數(shù)的調(diào)試可以不用 ICE而用其他方法進(jìn)行。較新的嵌入式系統(tǒng)利用非常清晰的微處理器設(shè)計(jì)。有時(shí),相應(yīng)工作初始碼已經(jīng)有了能夠快速獲得串口工作。這意味著沒有 ICE人們也能夠方便地工作。省去 ICE降低了開發(fā)的成本。一旦串口開始工作,它可以支持各種專業(yè)開發(fā)工具。 Linux 是基于 GNU 的 C 編譯器,作為 GNU 工具鏈的一部分,與 gdb 源調(diào)試器一起工作。它提供了開發(fā)嵌入式 Linux系統(tǒng)的所有軟件工具。這有些典型的、用于在新硬件上開發(fā)嵌入式 Linux 系統(tǒng)的調(diào)試工具。 ( 1) . 寫入或植入引導(dǎo)碼 ( 2) . 向串口打印字符串的編碼,如 “Hello World” ( 3) . 將 gdb 目標(biāo)碼植入工作串口,這可與另一臺(tái)運(yùn)行 gdb 程序的 Linux 主機(jī)系統(tǒng)對(duì)話。只要簡單地告訴 gdb通過串口調(diào)試程序。它通過串口與測(cè)試機(jī)的 gdb目標(biāo)碼對(duì)話,你可以進(jìn)行 C 源代碼調(diào)試,也可以用這個(gè)功能將更多的碼載入 RAM或 Flash Memory 中。 ( 4) . 利用 gdb讓硬件和軟件初 始化碼在 Linux內(nèi)核啟動(dòng)時(shí)工作。 ( 5) . 一旦 Linux內(nèi)核啟動(dòng),串口成為 Linux 控制口并可用于后續(xù)開發(fā)。利用 kgdb,內(nèi)核調(diào)試版的 gdb,這步常常不作要求,如果你與網(wǎng)絡(luò)聯(lián)接,如 10BaseT,下一步你可能要啟動(dòng)它。 ( 6) . 如果在你的目標(biāo)硬件上運(yùn)行了完整的 Linux 內(nèi)核,你可以調(diào)試你的應(yīng)用進(jìn)程。利用其他的 gdb或覆蓋 gdb的圖形如 xgdb。 167。 5 構(gòu)造嵌入式 Linux前先要了解的幾個(gè)關(guān)鍵問題 如何引導(dǎo)? 11 當(dāng)一個(gè)微處理器第一次啟動(dòng)的時(shí)候,它開始在預(yù)先設(shè)置的地址上執(zhí)行指令。通常在那里有一些只 讀內(nèi)存,包括初始化或引導(dǎo)代碼。在 PC上,這是 BIOS。它執(zhí)行了一些低水平的 CPU初始化和其它硬件的配置。 BIOS繼續(xù)辨認(rèn)哪個(gè)磁盤里有操作系統(tǒng),把操作系統(tǒng)復(fù)制到 RAM 并且轉(zhuǎn)向它。實(shí)際上,這非常復(fù)雜,但對(duì)我們的目標(biāo)來說也非常重要。在 PC上運(yùn)行的 Linux依靠 PC 的 BIOS來提供這些配置和 OS加載功能。 在一個(gè)嵌入式系統(tǒng)里經(jīng)常沒有這種 BIOS。這樣你就要提供同等的啟動(dòng)代碼。幸運(yùn)的是,嵌入式系統(tǒng)并不需要 PC BIOS 引導(dǎo)程序那樣的靈活性,因?yàn)樗ǔV恍枰幚硪粋€(gè)硬件的配置。這個(gè)代碼更簡單也更枯燥。它只是一指 令清單,將固定的數(shù)字塞到硬件寄存器中去。然而,這是關(guān)鍵的代碼,因?yàn)檫@些數(shù)值要與你的硬件相符而且要按照特定的順序進(jìn)行。所以在大多數(shù)情況下,一個(gè)最小的通電自檢模塊,可以檢查內(nèi)存的正常運(yùn)行、讓 LED閃爍,并且驅(qū)動(dòng)其它必須的硬件以使主 Linux OS 啟動(dòng)和運(yùn)行。這些啟動(dòng)代碼完全根據(jù)硬件決定,不可隨意移動(dòng)。 幸運(yùn)的是,許多系統(tǒng)都有為核心微處理器和內(nèi)存所定制的菜單式硬件設(shè)計(jì)。典型的是,芯片制造商有一個(gè)樣本主板,可以用來作為設(shè)計(jì)的參考或多或少與新設(shè)計(jì)相同。通常這些菜單式設(shè)計(jì)的啟動(dòng)代碼是可以獲得的,它可以根據(jù)你的需 要輕易的修改。在少數(shù)情況下,啟動(dòng)代碼需要重新編寫。 為了測(cè)試這些代碼,你可以使用一個(gè)包含 ‘ 模擬內(nèi)存 ’ 的電路內(nèi)置模擬器,它可以代替目標(biāo)內(nèi)存。你把代碼裝到模擬器上并通過模擬器調(diào)試。如果這樣不行,你可以跳過這一步,但這樣就要一個(gè)更長的調(diào)試周期。 這個(gè)代碼最終要在較為穩(wěn)定的內(nèi)存上運(yùn)行,通常是 Flash 或 EPROM芯片。你需要使用一些方法將代碼放在芯片上。怎么做,要根據(jù) “ 目標(biāo) ” 硬件和工具來定。 一種流行的方法是把 Flash或 EPROM 芯片插入 EPROM 或 Flash燒制器。這將把你的程序 “ 燒 ” (存)入芯 片。然后,把芯片插入你的目標(biāo)板的插座,打開電源。這個(gè)方法需要板上配有插座,但有些設(shè)備是不能配插座的。 另一個(gè)方法是通過一個(gè) JTAG界面。一些芯片有 JTAG界面可以用來對(duì)芯片進(jìn)行編程。這是最方便的方法。芯片可以永遠(yuǎn)被焊在主板上,一個(gè)小電纜從板上的 JTAG 連接器,通常是一個(gè) PC卡,聯(lián)到 JTAG界面。下面是 PC運(yùn)行 JTAG 界面所需的一些慣用程序。這個(gè)設(shè)備還可以用來小量生產(chǎn)。 需要虛擬內(nèi)存么? 12 標(biāo)準(zhǔn) Linux的另一個(gè)待征是虛擬內(nèi)存的能力。正是這種神奇的特征使應(yīng)用程序員可以狂熱的編寫代碼而不計(jì)后果,不管程序有 多大。程序溢出到了磁盤交換區(qū)。在沒有磁盤的嵌入式系統(tǒng)里,通常不能這么做。 在嵌入式系統(tǒng)里不需要這種強(qiáng)大的功能。實(shí)際上,你可能不希望它在實(shí)時(shí)的關(guān)鍵系統(tǒng)里,因?yàn)樗鼤?huì)帶來無法控制的時(shí)間因素。這個(gè)軟件必須設(shè)計(jì)得更加精悍,以適合市面上物理內(nèi)存,就象其它嵌入式系統(tǒng)一樣。 注意由于 CPU 的原因,通常在 Linux 中保存虛擬內(nèi)存代碼是明智的,因?yàn)閷⑺宄苜M(fèi)事。而且還有另外一個(gè)原因是它支持共享文本,這樣就可以使許多程序共享一個(gè)軟件。沒有這個(gè),每一個(gè)程序都要有它自己的庫,就象 printf一樣。 虛擬內(nèi)存 的調(diào)入功能可以被關(guān)掉,只要將交換空間的大小設(shè)置為零。然后,如果你寫的程序比實(shí)際的內(nèi)存大,系統(tǒng)就會(huì)當(dāng)作你的運(yùn)行用盡了交換空間來處理;這個(gè)程序?qū)⒉粫?huì)運(yùn)行,或者 malloc將會(huì)失靈。 在許多 CPU上,虛擬內(nèi)存提供的內(nèi)存管理可以將不同程序分開,防止它們寫到其它地址的空間上。這在嵌入式系統(tǒng)上通常不可能,因?yàn)樗恢С忠粋€(gè)簡單、扁平的地址空間。 Linux 的這種功能有助于其發(fā)展。它減少了胡亂的編寫程序造成系統(tǒng)崩潰的可能性。許多嵌入式系統(tǒng)基于效率方面的原因有意識(shí)使用程序間可以共享的 “ 全局 ” 數(shù)據(jù)。這也可以通過 Linux 共享內(nèi)存功能來支持,共享的只是指定的內(nèi)存部分。 選用什么樣的文件系統(tǒng) 許多嵌入式系統(tǒng)沒有磁盤或者文件系統(tǒng)。 Linux不需要它們也能運(yùn)行。如前所述,應(yīng)用程序任務(wù)可以和內(nèi)核一起編寫,并且在引導(dǎo)時(shí)作為一個(gè)影像加載。對(duì)于簡單的系統(tǒng)來說,這就夠了。然而,它缺乏前面所說的靈活性。 實(shí)際上,許多商業(yè)性嵌入式系統(tǒng),提供文件系統(tǒng)作為選項(xiàng)。許多或者是專用的文件系統(tǒng)或者是 MSDOSCompatible文件系統(tǒng)。 Linux提供 MSDOSCompatible文件系統(tǒng),同時(shí)還有其它多種選擇。之所以提供其它選擇 是因?yàn)樗鼈兏訌?qiáng)大而且具有容錯(cuò)功能。 Linux 還具有檢查和維護(hù)的功能,商業(yè)性供應(yīng)商往往不提供這些。這對(duì)于 Flash系統(tǒng)來說尤其重要,因?yàn)樗峭ㄟ^網(wǎng)絡(luò)更新的。如果系統(tǒng)在升級(jí)過程中失去了能力,那它就沒有用了。維護(hù)的功能通??梢越鉀Q這類問題。 文件系統(tǒng)可以被放在傳統(tǒng)的磁盤驅(qū)動(dòng)器、 Flash Memory 或其它這類的介質(zhì)上。而且,用于暫時(shí)保存文件,一個(gè)小 RAM盤就足夠了。 Flash Memories 被分割成塊。這些塊中也許包括一個(gè)含有當(dāng) CPU 啟動(dòng)時(shí)運(yùn)行的最初的軟件的引導(dǎo)塊。這 13 可能包括 Linux 引導(dǎo)代碼。剩 余的 Flash 可以用作文件系統(tǒng)。 Linux的內(nèi)核可以通過引導(dǎo)代碼從 Flash復(fù)制到 RAM,或者還有一個(gè)選擇,內(nèi)核可以被存儲(chǔ)在 Flash的一個(gè)獨(dú)立部分,并且直接從那里執(zhí)行。 另外對(duì)于一些系統(tǒng)來說還有一個(gè)有趣的選擇,那就是將一個(gè)便宜的 CDROM包含在內(nèi)。這比 Flash Memory 便宜,而且通過交換 CDROM支持簡單的升級(jí)。有了這個(gè), Linux 只要從 CDROM上引導(dǎo),并且象從硬盤上一樣從 CDROM上獲得所有的程序。 最后,對(duì)于聯(lián)網(wǎng)的嵌入式系統(tǒng)來說, Linux 支持 NFS( Network File System)。這為實(shí)現(xiàn)聯(lián)網(wǎng)系統(tǒng)的許多增值功能打開了大門。第一,它允許通過網(wǎng)絡(luò)上加載應(yīng)用程序。這是控制軟件修改的基礎(chǔ),因?yàn)槊恳粋€(gè)嵌入式系統(tǒng)的軟件都可以在一個(gè)普通的服務(wù)器上加載。它在運(yùn)行的時(shí)候也可以用來輸入或輸出大量的數(shù)據(jù)、配置和狀態(tài)信息。這對(duì)用戶監(jiān)督和控制來說是一個(gè)非常強(qiáng)大的功能。舉例來說,嵌入式系統(tǒng)可以建立一個(gè)小的 RAM磁盤,包含的文件中有與當(dāng)前狀態(tài)信息同步的內(nèi)容。其它系統(tǒng)可以簡單的把這個(gè) RAM磁盤設(shè)置為基于網(wǎng)絡(luò)的遠(yuǎn)程磁盤,并且空中存取狀態(tài)文件。這就允許另一個(gè)機(jī)器上的 Web 服務(wù)器通過簡單的 CGI Script存取狀態(tài)信息。在其它電腦上運(yùn)行的其它應(yīng)用程序包可以很容易的存取數(shù)據(jù)。對(duì)更復(fù)雜的監(jiān)控,應(yīng)用程序包如 Matlab(可以用來在操作員的 PC或工作站的提供系統(tǒng)運(yùn)行的圖形展示。 如何消除嵌入式 Linux 對(duì)磁盤的依賴 對(duì)于 Linux一個(gè)共同的認(rèn)識(shí)是它用于嵌入式系統(tǒng)簡直是神奇極了。這可能不大對(duì),典型的 PC上的 Linux對(duì) PC用戶來說功能有多。 對(duì)初學(xué)者而言,可以將內(nèi)核與任務(wù)分開,標(biāo)準(zhǔn)的 Linux 內(nèi)核通常駐留在內(nèi)存中,每一個(gè)應(yīng)用程序都是從磁盤運(yùn)到內(nèi)存上執(zhí)行。當(dāng)程序結(jié)束后,它所占用的內(nèi)存就被釋放,程序就被下載了。 在一個(gè)嵌入式系統(tǒng)里,可能沒有磁盤。有兩種途徑可以消除對(duì)磁盤的依賴,這要看系統(tǒng)的復(fù)雜性和硬件的設(shè)計(jì)。 在一個(gè)簡單的系統(tǒng)里,當(dāng)系統(tǒng)啟動(dòng)后,內(nèi)核和所有的應(yīng)用程序都在內(nèi)存里。這就是大多數(shù)傳統(tǒng)的嵌入式系統(tǒng)工作模式,它同樣可以被 Linux 支持。
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1