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

正文內(nèi)容

華恒的嵌入式linux入門(mén)(編輯修改稿)

2025-06-12 02:21 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 些功能,如內(nèi)置聯(lián)網(wǎng)支持以及圖形等,可以在新項(xiàng)目開(kāi)發(fā)中節(jié)省很多編碼與整合時(shí)間?! ‰S著大批新一代高速、低成本32b處理器和 Linux 的搶先改進(jìn),開(kāi)發(fā)人員發(fā)現(xiàn)嵌入系統(tǒng)的實(shí)時(shí)需求已不再是一個(gè)負(fù)擔(dān)。盡管數(shù)據(jù)速率提高了,但用戶 I/O 的時(shí)序仍保持相對(duì)穩(wěn)定,程序員在處理今天高速處理器的 I/O 請(qǐng)求時(shí)有更多可用的時(shí)鐘周期。Linux 并非要提供決定性的性能,而是用于以前需要實(shí)時(shí)操作系統(tǒng)的一些應(yīng)用上。  低開(kāi)銷(xiāo)  Linux 是模塊化的,開(kāi)發(fā)者可以構(gòu)建一個(gè)經(jīng)修改的小型軟件包,裝入每臺(tái)設(shè)備的內(nèi)存中,從而消除了專(zhuān)用的多用途操作系統(tǒng)中的代碼開(kāi)銷(xiāo)。Linux 還支持大量的微處理器,使之最適合于變化多端的消費(fèi)產(chǎn)品市場(chǎng)。由于設(shè)計(jì)師可以將 Linux 移植到最常見(jiàn)的嵌入式處理器上,不存在迫使開(kāi)發(fā)者改變硬件決策的軟件限制。設(shè)計(jì)師可以用一個(gè)低成本的微處理器開(kāi)始生產(chǎn),它只需滿足當(dāng)前的需求,而隨著設(shè)備需求和功能的擴(kuò)展,又能夠方便地升級(jí)為一個(gè)功能更強(qiáng)大的 CPU。  Linux 開(kāi)發(fā)人員會(huì)定期對(duì)內(nèi)核進(jìn)行更新,使之包含來(lái)自用戶社團(tuán)的插入碼和建議內(nèi)容??梢詮? 找到最新內(nèi)核的相關(guān)信息,下載最新版本。現(xiàn)在的 版包括很多搶先點(diǎn),允許調(diào)度器可以掛起一個(gè)工作任務(wù),而起動(dòng)一個(gè)更高的優(yōu)先級(jí)進(jìn)程。進(jìn)程調(diào)度算法經(jīng)過(guò)重寫(xiě),加快了多任務(wù)應(yīng)用中作業(yè)的切換速度。除了實(shí)時(shí)方面的改進(jìn)外, 版還有多個(gè)有益于消費(fèi)設(shè)備應(yīng)用程序的更新。例如,藍(lán)牙和 USB 等增強(qiáng)外設(shè)選項(xiàng),ALSA(高級(jí) Linux 聲音架構(gòu))可以使應(yīng)用程序處理多個(gè)音頻流,而 Video4Linux 則增加了一個(gè)視頻子系統(tǒng)。用于深度嵌入系統(tǒng)的其它更新內(nèi)容也只占很少空間,適用于容量有限的應(yīng)用?! inux 的許可協(xié)議對(duì)消費(fèi)設(shè)備開(kāi)發(fā)者來(lái)說(shuō)有正、反兩方面的意義。從好的一面說(shuō),你可以下載免費(fèi)的 Linux 拷貝,在自己的產(chǎn)品中使用,無(wú)需支付專(zhuān)利金,想用多少就可以用多少。Linux 是按照 GNU 的 GPL(通用公共許可)使用規(guī)則發(fā)放許可。如果你修改并重新分發(fā) GPL 軟件,你的修改也自動(dòng)遵從 GPL,并且必須公開(kāi)源碼。應(yīng)用程序和設(shè)備驅(qū)動(dòng)可能會(huì)保持專(zhuān)有性,只要它們與 Linux 內(nèi)核無(wú)關(guān),不含 GPL 代碼。但代碼隔離的要求是小型消費(fèi)設(shè)備開(kāi)發(fā)者所擔(dān)心的事,因?yàn)樗麄儠?huì)將所有軟件保存在一個(gè) ROM里?! 〕嗽S可的不確定性外,Linux 用戶還面臨其它非技術(shù)性因素。例如,SCO(Santa Cruz Operation) 集團(tuán)提出法律質(zhì)疑,稱(chēng) Linux 包含殘余的專(zhuān)有 Unix 代碼,并強(qiáng)制對(duì)內(nèi)核作修改,甚至要求獲得專(zhuān)利金。在2005年 12 月,SCO 集團(tuán)提出擴(kuò)展對(duì) Novell 的訴訟,它是 UNIX 知識(shí)產(chǎn)權(quán)原來(lái)的所有者,也是現(xiàn)在的一個(gè) Linux 開(kāi)發(fā)商。最新的消息和 SCO糾紛的全部歷史可以瀏覽Linux 在線網(wǎng)站?! ?nèi)核補(bǔ)碼  開(kāi)發(fā)者在開(kāi)放源 Linux 環(huán)境中預(yù)見(jiàn)到的另一個(gè)可能的危險(xiǎn)是軟件破碎的可能性。如果公司 A 決定修改 Linux 內(nèi)核來(lái)解決自己產(chǎn)品中的一個(gè)集成問(wèn)題,而公司 B 作了類(lèi)似但不兼容的修改,于是現(xiàn)在就有了三個(gè) Linux 版本。當(dāng)下一個(gè)正式 Linux 更新版推出時(shí),兩家公司都要搜索修正后的代碼,重新納入這些改動(dòng)內(nèi)容,或者繼續(xù)使用舊版本。最聰明的選擇恐怕是不修改內(nèi)核,而使用為調(diào)試用的源代碼,或者了解 Linux 的內(nèi)部功能?,F(xiàn)在,Linux 社團(tuán)利用復(fù)雜系統(tǒng)的升級(jí)建議與發(fā)布,已經(jīng)成功地防止了多版本的出現(xiàn)。  雖然 Linux 是一個(gè)免費(fèi)的操作系統(tǒng),但很多設(shè)計(jì)師仍希望付費(fèi)獲得專(zhuān)業(yè)支持、特殊工具、定制服務(wù)以及預(yù)包裝好的配置,以方便開(kāi)發(fā)過(guò)程。商業(yè)化供應(yīng)商用定制的嵌入式配置、訂戶支持包、開(kāi)發(fā)工具套件、應(yīng)用實(shí)例,以及咨詢(xún)服務(wù),作為 Linux 的增強(qiáng)服務(wù)。但與限制用戶使用單一來(lái)源的商業(yè)化專(zhuān)有操作系統(tǒng)不同,Linux 用戶仍然享有從任何其他供應(yīng)商處獲得支持的自由?! 】吹?Linux 在 CE 產(chǎn)品中日益普遍的應(yīng)用,某些商用 RTOS(實(shí)時(shí)操作系統(tǒng))供應(yīng)商也加入了開(kāi)放源運(yùn)動(dòng),提供定制分銷(xiāo)、開(kāi)發(fā)工具,支持并向嚴(yán)格的實(shí)時(shí)應(yīng)用推廣自己的專(zhuān)有軟件。例如,Wind River 產(chǎn)品系列經(jīng)理 Glenn Seiler 這樣總結(jié)公司的策略:“市場(chǎng)希望有個(gè)選擇。在有些情況下,市場(chǎng)想要 RTOS,因?yàn)橛袊?yán)格的實(shí)時(shí)要求或占位面積小的要求,有些客戶仍然反感 GPL 概念。其他一些進(jìn)行了大量既有投資的用戶也想繼續(xù)使用 RTOS?!薄 eiler 也描述了其他一些客戶,他們希望得到快速創(chuàng)新的好處、無(wú)專(zhuān)利金的模式,他們希望控制源碼,希望保持與供應(yīng)商的無(wú)關(guān)性,也不怕 GPL 的麻煩。他說(shuō),這些客戶的態(tài)度更偏向 Linux。他解釋說(shuō):“我們希望提供一種既能滿足 RTOS 客戶,也能滿足 Linux 客戶的解決方案。我們的方案采用了一種基于 Workbench 工具套件的策略,它是一個(gè)萬(wàn)能的生命周期產(chǎn)品,覆蓋從電路板設(shè)計(jì)到固件開(kāi)發(fā),直到內(nèi)核電路板支持開(kāi)發(fā)、應(yīng)用程序開(kāi)發(fā)和調(diào)試等全部?jī)?nèi)容。”Wind River 的 Workbench 套件是建立在開(kāi)放源的 Eclipse 集成開(kāi)發(fā)環(huán)境上的(圖 1)。   同樣,MontaVista 軟件公司提供 Linux CEE(消費(fèi)電子版),這是一個(gè)用于 CE 設(shè)備的嵌入式操作系統(tǒng)和交叉開(kāi)發(fā)環(huán)境。該軟件包具有動(dòng)態(tài)電源管理、增強(qiáng)的文件系統(tǒng)、用于系統(tǒng)性能調(diào)整的新開(kāi)發(fā)工具、處理器和外設(shè)的支持、適合應(yīng)用開(kāi)發(fā)的交叉開(kāi)發(fā)工具,以及樣品實(shí)用工具、庫(kù)和驅(qū)動(dòng)程序等。CEE 支持來(lái)自Freescale、Intel、Renesas 和 Texas Instruments的多種為消費(fèi)設(shè)備定制的處理器。MontaVista 還為無(wú)線手機(jī)和移動(dòng)產(chǎn)品提供 Linux for Mobile Devices(Mobilinux),滿足它們對(duì)電源管理、嚴(yán)格實(shí)時(shí)性能、快速起動(dòng)以及占位面積小的需求(圖 2)。  TiVo 領(lǐng)頭  很多 CE 設(shè)備都組合有 Linux 操作系統(tǒng),但 TiVo 個(gè)人錄像機(jī)是被最普遍公認(rèn)的。TiVo Linux 也是愛(ài)好者們最喜歡拿來(lái)修改的軟件,修改后可以使用更大硬盤(pán)或通過(guò)添加硬盤(pán)來(lái)增加存儲(chǔ)容量,或者將錄制的節(jié)目傳送到計(jì)算機(jī)或其它設(shè)備中。Linux 可能會(huì)成為索尼為它下一代游戲機(jī) PlayStation 3 提供軟件包的一部分,該產(chǎn)品預(yù)計(jì)在 2006 年春季上市。Linux也為最近推出的諾基亞 770 Internet Tablet所采用,它帶有 、USB 和藍(lán)牙連接、800480 像素觸摸屏以及 64 MB 閃存(圖 3)。除了網(wǎng)頁(yè)瀏覽器以外,770 還帶有一個(gè) Email 客戶機(jī)、媒體播放器、文件管理器、游戲,以及幾個(gè)通用應(yīng)用程序。諾基亞 770 的網(wǎng)購(gòu)價(jià)格為 360 美元?! ≡诮衲昀咕S加斯的消費(fèi)電子大展上,Sonos 推出了基于 Linux 的 ZonePlayer ZP80(見(jiàn)圖),它是一個(gè)無(wú)線系統(tǒng)的組成部分,可以使用戶在家中將數(shù)字音樂(lè)流送至音頻設(shè)備。用模擬或數(shù)字輸出將 ZP80 連接到任何音頻功放設(shè)備上后,該設(shè)備就成了一臺(tái)無(wú)線、多室數(shù)字音樂(lè)系統(tǒng)的組成部分,你可以用一個(gè)彩色的 Sonos 控制器進(jìn)行操作。ZP80 包含有一個(gè)自動(dòng)檢測(cè)的線路輸入連接器,它可以對(duì)任何輸入的音頻源進(jìn)行數(shù)字編碼,如 Apple iPod、CD 機(jī)或衛(wèi)星收音機(jī)。Sonos ZonePlayer ZP80 的零售價(jià)為 349 美元?! ∪绻銓?duì) CE 使用的 Linux 還比較陌生,可以到 CELF(消費(fèi)電子 Linux 論壇)查找消息、討論和定制源碼。該論壇的目標(biāo)是通過(guò)公開(kāi)規(guī)范并管理面向 CE 的代碼,增強(qiáng)在 CE 設(shè)備中使用的 Linux 的功能。另外也可以在 上找到有關(guān) Linux CE 產(chǎn)品的信息。該網(wǎng)站包括最新消息、文章以及有關(guān) Linux 編程的教程、現(xiàn)有分銷(xiāo)商名單,以及有關(guān)嵌入系統(tǒng)主題的論壇?! ‘?dāng)下一代 CE 設(shè)備進(jìn)入市場(chǎng)時(shí),設(shè)計(jì)師必須準(zhǔn)備好為定制的應(yīng)用軟件提供復(fù)雜的用戶界面、網(wǎng)絡(luò)聯(lián)接能力,以及實(shí)時(shí)數(shù)據(jù)安全功能。Linux 提供了一種無(wú)需專(zhuān)利金的開(kāi)放源操作系統(tǒng),已經(jīng)內(nèi)置了一些這樣那樣的功能。事實(shí)上,在互聯(lián)網(wǎng)上已經(jīng)有數(shù)百萬(wàn)免費(fèi)的 Linux 兼容軟件,支持 CE 開(kāi)發(fā)項(xiàng)目。有了這些好處以及越來(lái)越多的技術(shù)愛(ài)好者,Linux 在 CE 行業(yè)一定有光明的前景。第7章 嵌入式uClinux及其應(yīng)用開(kāi)發(fā)(1)本章從構(gòu)建一個(gè)針對(duì)S3C4510B硬件平臺(tái)的嵌入式uClinux操作系統(tǒng)和在其上進(jìn)行應(yīng)用程序的開(kāi)發(fā)入手,逐步講述如何在Linux環(huán)境下編寫(xiě)用戶應(yīng)用程序的方法和步驟,并為熟悉Windows操作系統(tǒng)的用戶介紹在這種平臺(tái)之上,使用何種工具編寫(xiě)和編譯自己的應(yīng)用。通過(guò)本章的學(xué)習(xí),讀者可以對(duì)嵌入式uClinux有一定的了解,并且掌握在Linux和Windows下嵌入式系統(tǒng)應(yīng)用開(kāi)發(fā)的基本方法。 本章主要內(nèi)容有:- 嵌入式uClinux系統(tǒng)概況- 開(kāi)發(fā)工具GNU的使用- 建立uClinux開(kāi)發(fā)環(huán)境- 在uClinux下開(kāi)發(fā)應(yīng)用程序 嵌入式uClinux系統(tǒng)概況在PC機(jī)上開(kāi)發(fā)應(yīng)用程序的用戶都會(huì)有這樣的感覺(jué),PC機(jī)有完善的操作系統(tǒng)并提供應(yīng)用程序接口(API),開(kāi)發(fā)好的應(yīng)用程序可以直接在操作系統(tǒng)上運(yùn)行。雖然嵌入式系統(tǒng)的應(yīng)用程序完全可以在裸板上運(yùn)行,但為了使系統(tǒng)具有任務(wù)管理、定時(shí)器管理、存儲(chǔ)器管理、資源管理、事件管理、系統(tǒng)管理、消息管理、隊(duì)列管理和中斷處理的能力,提供多任務(wù)處理,更好的分配系統(tǒng)資源的功能,用戶就需要針對(duì)自己的硬件平臺(tái)和實(shí)際應(yīng)用選擇適當(dāng)?shù)那度胧讲僮飨到y(tǒng)(Embedded Operating System,以下簡(jiǎn)稱(chēng)EOS)。本節(jié)將結(jié)合本書(shū)所談到的硬件平臺(tái)S3C4510B,介紹一種針對(duì)不帶MMU的ARM微處理器的嵌入式操作系統(tǒng)uClinux。uClinux是一個(gè)完全符合GNU/GPL公約的操作系統(tǒng),完全開(kāi)放代碼,現(xiàn)在由Lineo公司支持維護(hù)。uClinux的發(fā)音是“youseelinux”,它的名字來(lái)自于希臘字母“mu”和英文大寫(xiě)字母“C”的結(jié)合。“mu”代表“微小”之意,字母“C”代表“控制器”,所以從字面上就可以看出它的含義,即“微控制領(lǐng)域中的Linux系統(tǒng)”。為了降低硬件成本及運(yùn)行功耗,有一類(lèi)CPU在設(shè)計(jì)中取消了內(nèi)存管理單元(Memory Management Unit,以下簡(jiǎn)稱(chēng)MMU)功能模塊。最初,運(yùn)行于這類(lèi)沒(méi)有MMU的CPU之上的都是一些很簡(jiǎn)單的單任務(wù)操作系統(tǒng),或者更簡(jiǎn)單的控制程序,甚至根本就沒(méi)有操作系統(tǒng)而直接運(yùn)行應(yīng)用程序。在這種情況下,系統(tǒng)無(wú)法運(yùn)行復(fù)雜的應(yīng)用程序,或者效率很低,而且,所有的應(yīng)用程序需要重寫(xiě),并要求程序員十分了解硬件特性。這些都阻礙了應(yīng)用于這類(lèi)CPU之上的嵌入式產(chǎn)品開(kāi)發(fā)的速度。然而,隨著uClinux的誕生,這一切都改變了。uClinux從Linux ,沿襲了主流Linux的絕大部分特性。它是專(zhuān)門(mén)針對(duì)沒(méi)有MMU的CPU,并且為嵌入式系統(tǒng)做了許多小型化的工作。適用于沒(méi)有虛擬內(nèi)存或內(nèi)存管理單元(MMU)的處理器,例如ARM7TDMI。它通常用于具有很少內(nèi)存或Flash的嵌入式系統(tǒng)。uClinux是為了支持沒(méi)有MMU的處理器而對(duì)標(biāo)準(zhǔn)Linux作出的修正。它保留了操作系統(tǒng)的所有特性,為硬件平臺(tái)更好的運(yùn)行各種程序提供了保證。在GNU通用公共許可證(GNU GPL)的保證下,運(yùn)行uClinux操作系統(tǒng)的用戶可以使用幾乎所有的Linux API函數(shù),不會(huì)因?yàn)闆](méi)有MMU而受到影響。由于uClinux在標(biāo)準(zhǔn)的Linux基礎(chǔ)上進(jìn)行了適當(dāng)?shù)牟眉艉蛢?yōu)化,形成了一個(gè)高度優(yōu)化的、代碼緊湊的嵌入式Linux,雖然它的體積很小,uClinux仍然保留了Linux的大多數(shù)的優(yōu)點(diǎn):穩(wěn)定、良好的移植性、優(yōu)秀的網(wǎng)絡(luò)功能、完備的對(duì)各種文件系統(tǒng)的支持、以及標(biāo)準(zhǔn)豐富的API等。 uClinux的基本架構(gòu)Boot Loader:負(fù)責(zé)Linux內(nèi)核的啟動(dòng),它用于初始化系統(tǒng)資源,包括SDRAM。這部分代碼用于建立Linux內(nèi)核運(yùn)行環(huán)境和從Flash中裝載初始化ramdisk。內(nèi)核初始化:Linux內(nèi)核的入口點(diǎn)是start_kernel()函數(shù)。它初始化內(nèi)核的其他部分,包括捕獲,IRQ通道,調(diào)度,設(shè)備驅(qū)動(dòng),標(biāo)定延遲循環(huán),最重要的是能夠fork “init”進(jìn)程,以啟動(dòng)整個(gè)多任務(wù)環(huán)境。系統(tǒng)調(diào)用函數(shù)/捕獲函數(shù):在執(zhí)行完“init”程序后,內(nèi)核對(duì)程序流不再有直接的控制權(quán),此后,它的作用僅僅是處理異步事件(例如硬件中斷)和為系統(tǒng)調(diào)用提供進(jìn)程。設(shè)備驅(qū)動(dòng):設(shè)備驅(qū)動(dòng)占據(jù)了Linux內(nèi)核很大部分。同其他操作系統(tǒng)一樣,設(shè)備驅(qū)動(dòng)為它們所控制的硬件設(shè)備和操作系統(tǒng)提供接口。文件系統(tǒng):Linux最重要的特性之一就是對(duì)多種文件系統(tǒng)的支持。這種特性使得Linux很容易地同其他操作系統(tǒng)共存。文件系統(tǒng)的概念使得用戶能夠查看存儲(chǔ)設(shè)備上的文件和路徑而無(wú)須考慮實(shí)際物理設(shè)備的文件系統(tǒng)類(lèi)型。Linux透明的支持許多不同的文件系統(tǒng),將各種安裝的文件和文件系統(tǒng)以一個(gè)完整的虛擬文件系統(tǒng)的形式呈現(xiàn)給用戶。下面介紹一些和uClinux相關(guān)的知識(shí)。 MMU(內(nèi)存管理單元) 和VM(虛擬內(nèi)存)許多嵌入式微處理器都由于沒(méi)有MMU而不支持虛擬內(nèi)存。沒(méi)有內(nèi)存管理單元所帶來(lái)的好處是簡(jiǎn)化了芯片設(shè)計(jì),降低了產(chǎn)品成本。由于大多數(shù)的嵌入式設(shè)備沒(méi)有磁盤(pán)或者只有很有限的內(nèi)存空間,所以無(wú)需復(fù)雜的內(nèi)存管理機(jī)制。但是由于沒(méi)有MMU的管理,操作系統(tǒng)對(duì)內(nèi)存空間是沒(méi)有保護(hù)的,所有程序訪問(wèn)的地址都是實(shí)際物理地址。但從嵌入式系統(tǒng)一般都是實(shí)現(xiàn)某種特定功能的角度考慮,對(duì)于內(nèi)存管理的要求完全可以由程序開(kāi)發(fā)人員考慮。實(shí)時(shí)性的支持uClinux本身并不支持實(shí)時(shí)性,目前存在兩種不同的方案提供uClinux對(duì)實(shí)時(shí)性的支持,它們分別是RTLinux(RTL)和RTAI(Real Time Application Interface)。有了這兩種方案,uClinux可以應(yīng)用到對(duì)實(shí)時(shí)性要求較高的場(chǎng)合。 平臺(tái)支持開(kāi)發(fā)uClinux的工具鏈:開(kāi)發(fā)uClinux通常用標(biāo)準(zhǔn)的GNU工具鏈。經(jīng)過(guò)修改的工具鏈支持一些高級(jí)特性,比如XIP(ExecuteInPlace)技術(shù),共享庫(kù)支持等。uClinux所
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1