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

正文內(nèi)容

華恒的嵌入式linux入門-在線瀏覽

2025-07-03 02:21本頁面
  

【正文】 得很好,而且CPU的速度現(xiàn)在已經(jīng)快了很多,這個問題也就不重要了。  中斷必須進(jìn)行處理和管理以確保時(shí)間要求能符合,如同許多其他的操作系統(tǒng)。這是提供了一個以后臺任務(wù)方式運(yùn)行Linux的中斷處理調(diào)度。因此可以得到許多對于關(guān)鍵時(shí)鐘的控制。因此,實(shí)時(shí)關(guān)鍵代碼是隔開的、并“設(shè)計(jì)”成滿足要求的。 嵌入式系統(tǒng)定義   一個觀點(diǎn)是如果一個應(yīng)用沒有用戶界面,它必須是嵌入式的,因?yàn)橛脩舨荒苤苯优c之交互。一個電梯控制的電腦被認(rèn)為是嵌入式的:按鍵選擇樓層指示燈顯示電梯的停層。更好些的定義注重系統(tǒng)的集中的功能和主要的目的。它能處理嵌入式任務(wù)和用戶界面。一個小型的嵌入式Linux系統(tǒng)只需要下面三個基本元素:引導(dǎo)工具Linux微內(nèi)核,由內(nèi)存管理、進(jìn)程管理和事務(wù)處理構(gòu)成 初始化進(jìn)程:如果要讓它能干點(diǎn)什么且繼續(xù)保持小型化,還得加上:硬件驅(qū)動程序提供所需功能的一個或更多應(yīng)用程序。硬件平臺  選擇最好的硬件是一個復(fù)雜的工作、充滿了公司其他項(xiàng)目的政治、偏見、傳統(tǒng),缺乏完整或精確的信息。當(dāng)考慮成本時(shí)、確信你在考慮產(chǎn)品的整個成本、不僅是CPU。如果你在尋找軟件,首先是硬件已經(jīng)有產(chǎn)品了?! ‖F(xiàn)實(shí)中需要多快的CPU來完成一項(xiàng)工作,然后放大三倍?! ∠胂罂偩€的速度需要多快,如果有其他總線如PCI總線,包括進(jìn)來。 有集成設(shè)備的CPU是好的,因?yàn)橹豁氄{(diào)試很少的設(shè)備,并且支持通用CPU的驅(qū)動程序通常都很容易獲得。因?yàn)橥庠O(shè)是集成的,不要認(rèn)為這會便宜。這可能不大對,典型的PC上的Linux 對PC用戶來說功能有多。當(dāng)程序結(jié)束后,它所占用的內(nèi)存就被釋放,程序就被下載了。有兩種途徑可以消除對磁盤的依賴,這要看系統(tǒng)的復(fù)雜性和硬件的設(shè)計(jì)。這就是大多數(shù)傳統(tǒng)的嵌入式系統(tǒng)工作模式,它同樣可以被Linux支持。因?yàn)長inux已經(jīng)有能力“加載”和“卸載”程序,一個嵌入式系統(tǒng)就可以利用它來節(jié)省內(nèi)存。Flash Memory可以作為一個文件系統(tǒng)。作為替代,可使用Flash Disk。其中一個例是MSystems的DiskOnChip,可以達(dá)到160MB。所有的程序都以文件形式存儲在Flash文件中,需要時(shí)可以裝入內(nèi)存。Linux同樣有很多內(nèi)核外運(yùn)行的公用程序。而且,這些公用程序可以用它們相互共有的方式,一個接一個按順序運(yùn)行。這的確可以節(jié)省內(nèi)存,特別是那些配置一次以后就不再更改的網(wǎng)絡(luò)堆棧 如果Linux可加載模塊的功能包括在內(nèi)核里,驅(qū)動程序和應(yīng)用程序就都可以被加載。這就消除了用一個程序占用許多Flash Memory來處理多種硬件的復(fù)雜性。你可以在系統(tǒng)運(yùn)行的時(shí)候在Flash上升級應(yīng)用程序和可加載驅(qū)動程序。非虛擬內(nèi)存  標(biāo)準(zhǔn) Linux 的另一個待征是虛擬內(nèi)存的能力。程序溢出到了磁盤交換區(qū)?! ≡谇度胧较到y(tǒng)里不需要這種強(qiáng)大的功能。這個軟件必須設(shè)計(jì)得更加精悍,以適合市面上物理內(nèi)存,就象其它嵌入式系統(tǒng)一樣。而且還有另外一個原因是它支持共享文本,這樣就可以使許多程序共享一個軟件?! √摂M內(nèi)存的調(diào)入功能可以被關(guān)掉,只要將交換空間的大小設(shè)置為零?! ≡谠S多CPU上,虛擬內(nèi)存提供的內(nèi)存管理可以將不同程序分開,防止它們寫到其它地址的空間上。Linux的這種功能有助于其發(fā)展。許多嵌入式系統(tǒng)基于效率方面的原因有意識使用程序間可以共享的“全局”數(shù)據(jù)。文件系統(tǒng)  許多嵌入式系統(tǒng)沒有磁盤或者文件系統(tǒng)。如前所述,應(yīng)用程序任務(wù)可以和內(nèi)核一起編寫,并且在引導(dǎo)時(shí)作為一個影像加載。然而,它缺乏前面所說的靈活性。許多或者是專用的文件系統(tǒng)或者是MSDOSCompatible文件系統(tǒng)。之所以提供其它選擇是因?yàn)樗鼈兏訌?qiáng)大而且具有容錯功能。這對于Flash系統(tǒng)來說尤其重要,因?yàn)樗峭ㄟ^網(wǎng)絡(luò)更新的。維護(hù)的功能通??梢越鉀Q這類問題。而且,用于暫時(shí)保存文件,一個小RAM盤就足夠了。這些塊中也許包括一個含有當(dāng)CPU啟動時(shí)運(yùn)行的最初的軟件的引導(dǎo)塊。剩余的Flash可以用作文件系統(tǒng)?! ×硗鈱τ谝恍┫到y(tǒng)來說還有一個有趣的選擇,那就是將一個便宜的CDROM包含在內(nèi)。有了這個,Linux 只要從 CDROM上引導(dǎo),并且象從硬盤上一樣從CDROM上獲得所有的程序。這為實(shí)現(xiàn)聯(lián)網(wǎng)系統(tǒng)的許多增值功能打開了大門。這是控制軟件修改的基礎(chǔ),因?yàn)槊恳粋€嵌入式系統(tǒng)的軟件都可以在一個普通的服務(wù)器上加載。這對用戶監(jiān)督和控制來說是一個非常強(qiáng)大的功能。其它系統(tǒng)可以簡單的把這個RAM磁盤設(shè)置為基于網(wǎng)絡(luò)的遠(yuǎn)程磁盤,并且空中存取狀態(tài)文件。在其它電腦上運(yùn)行的其它應(yīng)用程序包可以很容易的存取數(shù)據(jù)。引導(dǎo)LILO和BIOS在哪里   當(dāng)一個微處理器第一次啟動的時(shí)候,它開始在預(yù)先設(shè)置的地址上執(zhí)行指令。在PC上,這是BIOS。BIOS 繼續(xù)辨認(rèn)哪個磁盤里有操作系統(tǒng),把操作系統(tǒng)復(fù)制到RAM并且轉(zhuǎn)向它。在PC上運(yùn)行的Linux依靠PC的BIOS來提供這些配置和OS加載功能。這樣你就要提供同等的啟動代碼。這個代碼更簡單也更枯燥。然而,這是關(guān)鍵的代碼,因?yàn)檫@些數(shù)值要與你的硬件相符而且要按照特定的順序進(jìn)行。這些啟動代碼完全根據(jù)硬件決定,不可隨意移動。典型的是,芯片制造商有一個樣本主板,可以用來作為設(shè)計(jì)的參考或多或少與新設(shè)計(jì)相同。在少數(shù)情況下,啟動代碼需要重新編寫。你把代碼裝到模擬器上并通過模擬器調(diào)試?! ∵@個代碼最終要在較為穩(wěn)定的內(nèi)存上運(yùn)行,通常是Flash或EPROM芯片。怎么做,要根據(jù)“目標(biāo)”硬件和工具來定。這將把你的程序“燒”(存)入芯片。這個方法需要板上配有插座,但有些設(shè)備是不能配插座的。一些芯片有JTAG界面可以用來對芯片進(jìn)行編程。芯片可以永遠(yuǎn)被焊在主板上,一個小電纜從板上的JTAG連接器,通常是一個PC卡,聯(lián)到JTAG界面。這個設(shè)備還可以用來小量生產(chǎn)。嵌入式內(nèi)核本身有多穩(wěn)定呢?對大多數(shù)微處理器來說,Linux非常好。它經(jīng)常被移植到一個或多個特定的主板上。  幸運(yùn)的是,許多代碼是與處理器的,所以移植集中在差異上。一旦成功移植,它們就非常穩(wěn)定?! ≡O(shè)備驅(qū)動程序更加混亂:有些穩(wěn)定有些不穩(wěn)定。幸運(yùn)的是,周圍有許多驅(qū)動程序,你可能可以找到一個與你的需求相近的修改一下。許多類的驅(qū)動程序都非常相近,所以把磁盤、網(wǎng)絡(luò)或一系列的端口驅(qū)動程序從一個設(shè)備移植到另一個設(shè)備上通常并不難。 依我的經(jīng)驗(yàn),Linux至少和我用過的著名的商業(yè)性操作系統(tǒng)一樣穩(wěn)定。任何操作系統(tǒng)都有很多爭論不休的故事,這里不需要重復(fù)。這樣,你就可以控制和處理所出現(xiàn)的任何問題。如果系統(tǒng)有一個硬盤, 那么文件系統(tǒng)的可靠性就成問題。這些系統(tǒng)幾乎從未正常關(guān)閉過。感覺非常好,使用的是標(biāo)準(zhǔn)(EXT2)文件系統(tǒng)。將默認(rèn)的每隔30秒運(yùn)行更新程序改為每隔5或10秒運(yùn)行是比較明智的。如何發(fā)展  嵌入式Linux的確有它的缺陷。這可以通過減少一些不必要的功能來彌補(bǔ),但這可能會花很長的時(shí)間,而且如果不仔細(xì)的話,還可能帶來很大的困擾?! ?nèi)核調(diào)試工具都不怎么好,特別是在較底層的。不幸的是,打印語句更麻煩。Linux非常的靈活?,F(xiàn)在的趨勢是保持靈活性、保持總體目標(biāo)功能、盡量少做修改。保持靈活性將導(dǎo)致額外的工作,帶著額外的軟件包,而且有時(shí)還要降低性能。考慮在一個網(wǎng)絡(luò)界面配置IP地址,這通常是通過從啟動 script上運(yùn)行ifconfig程序來完成的。然而,即使這非常合理,但它仍然有害,因?yàn)樗靡环N從未使用過的方法扭曲了軟件。它有用、可靠。隨著 CE(消費(fèi)電子)供應(yīng)商不斷競爭市場份額,消費(fèi)者要求設(shè)計(jì)師在每件新產(chǎn)品或產(chǎn)品升級時(shí)納入更多的功能。各種多功能設(shè)備都在爭奪消費(fèi)者錢包中的錢,如手機(jī)、媒體播放機(jī)、數(shù)碼相機(jī)、游戲機(jī)、收音機(jī)和電視機(jī)等。鑒于 CE 產(chǎn)品的巨大批量和微薄的利潤余地,設(shè)計(jì)團(tuán)隊(duì)正在研究和利用 Linux 操作系統(tǒng),以解決軟件的負(fù)擔(dān)。Linux 最初吸引設(shè)計(jì)師的是它免費(fèi)的源碼、無需許可費(fèi)用,也沒有單臺設(shè)備的專利金。成本競爭與預(yù)算限制迫使軟件開發(fā)團(tuán)隊(duì)不得不為新項(xiàng)目考慮一種無需專利金的免費(fèi)軟件,如 Linux。Linux 內(nèi)核的基本架構(gòu)包括內(nèi)存管理、進(jìn)程調(diào)度、文件系統(tǒng)和網(wǎng)絡(luò)接口。虛擬文件系統(tǒng)隱藏了硬件的細(xì)節(jié),為用戶提供公共的文件界面?! ‘?dāng)設(shè)計(jì)師從用于 8b 和 16 b 處理器的功能有限“自行設(shè)計(jì)”操作系統(tǒng)轉(zhuǎn)向復(fù)雜的應(yīng)用程序時(shí),應(yīng)用程序的復(fù)雜性超出了內(nèi)部軟件團(tuán)隊(duì)的能力或預(yù)算,于是 Linux 就出現(xiàn)了。開放源 Linux 增加了一些功能,如內(nèi)置聯(lián)網(wǎng)支持以及圖形等,可以在新項(xiàng)目開發(fā)中節(jié)省很多編碼與整合時(shí)間。盡管數(shù)據(jù)速率提高了,但用戶 I/O 的時(shí)序仍保持相對穩(wěn)定,程序員在處理今天高速處理器的 I/O 請求時(shí)有更多可用的時(shí)鐘周期?! 〉烷_銷  Linux 是模塊化的,開發(fā)者可以構(gòu)建一個經(jīng)修改的小型軟件包,裝入每臺設(shè)備的內(nèi)存中,從而消除了專用的多用途操作系統(tǒng)中的代碼開銷。由于設(shè)計(jì)師可以將 Linux 移植到最常見的嵌入式處理器上,不存在迫使開發(fā)者改變硬件決策的軟件限制。  Linux 開發(fā)人員會定期對內(nèi)核進(jìn)行更新,使之包含來自用戶社團(tuán)的插入碼和建議內(nèi)容。現(xiàn)在的 版包括很多搶先點(diǎn),允許調(diào)度器可以掛起一個工作任務(wù),而起動一個更高的優(yōu)先級進(jìn)程。除了實(shí)時(shí)方面的改進(jìn)外, 版還有多個有益于消費(fèi)設(shè)備應(yīng)用程序的更新。用于深度嵌入系統(tǒng)的其它更新內(nèi)容也只占很少空間,適用于容量有限的應(yīng)用。從好的一面說,你可以下載免費(fèi)的 Linux 拷貝,在自己的產(chǎn)品中使用,無需支付專利金,想用多少就可以用多少。如果你修改并重新分發(fā) GPL 軟件,你的修改也自動遵從 GPL,并且必須公開源碼。但代碼隔離的要求是小型消費(fèi)設(shè)備開發(fā)者所擔(dān)心的事,因?yàn)樗麄儠⑺熊浖4嬖谝粋€ ROM里。例如,SCO(Santa Cruz Operation) 集團(tuán)提出法律質(zhì)疑,稱 Linux 包含殘余的專有 Unix 代碼,并強(qiáng)制對內(nèi)核作修改,甚至要求獲得專利金。最新的消息和 SCO糾紛的全部歷史可以瀏覽Linux 在線網(wǎng)站。如果公司 A 決定修改 Linux 內(nèi)核來解決自己產(chǎn)品中的一個集成問題,而公司 B 作了類似但不兼容的修改,于是現(xiàn)在就有了三個 Linux 版本。 Linux 更新版推出時(shí),兩家公司都要搜索修正后的代碼,重新納入這些改動內(nèi)容,或者繼續(xù)使用舊版本?,F(xiàn)在,Linux 社團(tuán)利用復(fù)雜系統(tǒng)的升級建議與發(fā)布,已經(jīng)成功地防止了多版本的出現(xiàn)。商業(yè)化供應(yīng)商用定制的嵌入式配置、訂戶支持包、開發(fā)工具套件、應(yīng)用實(shí)例,以及咨詢服務(wù),作為 Linux 的增強(qiáng)服務(wù)?! 】吹?Linux 在 CE 產(chǎn)品中日益普遍的應(yīng)用,某些商用 RTOS(實(shí)時(shí)操作系統(tǒng))供應(yīng)商也加入了開放源運(yùn)動,提供定制分銷、開發(fā)工具,支持并向嚴(yán)格的實(shí)時(shí)應(yīng)用推廣自己的專有軟件。在有些情況下,市場想要 RTOS,因?yàn)橛袊?yán)格的實(shí)時(shí)要求或占位面積小的要求,有些客戶仍然反感 GPL 概念?!薄 eiler 也描述了其他一些客戶,他們希望得到快速創(chuàng)新的好處、無專利金的模式,他們希望控制源碼,希望保持與供應(yīng)商的無關(guān)性,也不怕 GPL 的麻煩。他解釋說:“我們希望提供一種既能滿足 RTOS 客戶,也能滿足 Linux 客戶的解決方案?!盬ind River 的 Workbench 套件是建立在開放源的 Eclipse 集成開發(fā)環(huán)境上的(圖 1)。該軟件包具有動態(tài)電源管理、增強(qiáng)的文件系統(tǒng)、用于系統(tǒng)性能調(diào)整的新開發(fā)工具、處理器和外設(shè)的支持、適合應(yīng)用開發(fā)的交叉開發(fā)工具,以及樣品實(shí)用工具、庫和驅(qū)動程序等。MontaVista 還為無線手機(jī)和移動產(chǎn)品提供 Linux for Mobile Devices(Mobilinux),滿足它們對電源管理、嚴(yán)格實(shí)時(shí)性能、快速起動以及占位面積小的需求(圖 2)。TiVo Linux 也是愛好者們最喜歡拿來修改的軟件,修改后可以使用更大硬盤或通過添加硬盤來增加存儲容量,或者將錄制的節(jié)目傳送到計(jì)算機(jī)或其它設(shè)備中。Linux也為最近推出的諾基亞 770 Internet Tablet所采用,它帶有 、USB 和藍(lán)牙連接、800480 像素觸摸屏以及 64 MB 閃存(圖 3)。諾基亞 770 的網(wǎng)購價(jià)格為 360 美元。用模擬或數(shù)字輸出將 ZP80 連接到任何音頻功放設(shè)備上后,該設(shè)備就成了一臺無線、多室數(shù)字音樂系統(tǒng)的組成部分,你可以用一個彩色的 Sonos 控制器進(jìn)行操作。Sonos ZonePlayer ZP80 的零售價(jià)為 349 美元。該論壇的目標(biāo)是通過公開規(guī)范并管理面向 CE 的代碼,增強(qiáng)在 CE 設(shè)備中使用的 Linux 的功能。該網(wǎng)站包括最新消息、文章以及有關(guān) Linux 編程的教程、現(xiàn)有分銷商名單,以及有關(guān)嵌入系統(tǒng)主題的論壇。Linux 提供了一種無需專利金的開放源操作系統(tǒng),已經(jīng)內(nèi)置了一些這樣那樣的功能。有了這些好處以及越來越多的技術(shù)愛好者,Linux 在 CE 行業(yè)一定有光明的前景。通過本章的學(xué)習(xí),讀者可以對嵌入式uClinux有一定的了解,并且掌握在Linux和Windows下嵌入式系統(tǒng)應(yīng)用開發(fā)的基本方法。本章主要內(nèi)容有:- 嵌入式uClinux系統(tǒng)概況- 開發(fā)工具GNU的使用- 建立uClinux開發(fā)環(huán)境- 在uClinux下開發(fā)應(yīng)用程序 嵌入式uClinux系統(tǒng)概況在PC機(jī)上開發(fā)應(yīng)用程序的用戶都會有這樣的感覺,PC機(jī)有完善的操作系統(tǒng)并提供應(yīng)用程序接口(API),開發(fā)好的應(yīng)用程序可以直接在操作系統(tǒng)上運(yùn)行。本節(jié)將結(jié)合本書所談到的硬件平臺S3C4510B,介紹一種針對不帶MMU的ARM微處理器的嵌入式操作系統(tǒng)uClinux。uClinux的發(fā)音是“youseelinux”,它的名字來自于希臘字母“mu”和英文大寫字母“C”的結(jié)合。為了降低硬件成本及運(yùn)行功耗,有一類CPU在設(shè)計(jì)中取消了內(nèi)存管理單元(Memory Management Unit,以下簡稱MMU)功能模塊。在這種情況下,系統(tǒng)無法運(yùn)行復(fù)雜的應(yīng)用程序,或者效率很低,而且,所有的應(yīng)用程序需要重寫,并要求程序員十分了解硬件特性。然而,隨著uClinux的誕生,這一切都改變了。它是專門針對沒有MMU的CPU,并且為嵌入式系統(tǒng)做了許多小型化的工作。它通常用于具有很少內(nèi)存或Flash的嵌入式系統(tǒng)。它保留了操作系統(tǒng)的所有特性,為硬件平臺更好的運(yùn)行各種程序提供了保證。由于uClinux在標(biāo)準(zhǔn)的Linux基礎(chǔ)上進(jìn)行了適當(dāng)?shù)牟眉艉蛢?yōu)化,形成了一個高度優(yōu)化的、代碼緊湊的嵌入式Linux,雖然它的體積很小,uClinux仍然保留了Linux
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1