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

正文內(nèi)容

嵌入式系統(tǒng)軟件及操作系統(tǒng)基礎(chǔ)(已修改)

2025-05-28 07:27 本頁(yè)面
 

【正文】 第 8章 嵌入式系統(tǒng)軟件及操作系統(tǒng)基礎(chǔ) 主講人:吳貴芳 2021/6/16 吳貴芳 qq:6974784 Henan Uni versity of Sci . amp。 Tech. 電子信息工程學(xué)院 2 嵌入式軟件基礎(chǔ) ? 嵌入式軟件的特點(diǎn) ? 應(yīng)用在嵌入式計(jì)算機(jī)系統(tǒng)當(dāng)中的各種軟件統(tǒng)稱為嵌入式軟件,作為嵌入式系統(tǒng)的一個(gè)組成部分,目前嵌入式軟件的種類和規(guī)模都得到了極大的發(fā)展,形成了一個(gè)完整、獨(dú)立的體系。除了具有通用軟件的一般特性,同時(shí)還具有一些與嵌入式系統(tǒng)密切相關(guān)的特點(diǎn),如: ? ( l)規(guī)模較小 ? 在一般情況下,嵌入式系統(tǒng)的資源多是比較有限的,要求嵌入式軟件必須盡可能地精簡(jiǎn),多數(shù)的嵌入式軟件都在幾 MB以內(nèi)。 吳貴芳 qq:6974784 Henan Uni versity of Sci . amp。 Tech. 電子信息工程學(xué)院 3 ? ( 2)開(kāi)發(fā)難度大 ? 嵌入式系統(tǒng)由于硬件資源的有限,使得嵌入式軟件在時(shí)間和空間上都受到嚴(yán)格的限制,需要開(kāi)發(fā)人員對(duì)編程語(yǔ)言、編譯器和操作系統(tǒng)有深刻的了解,才有可能開(kāi)發(fā)出運(yùn)行速度快、存儲(chǔ)空間少、維護(hù)成本低的軟件。嵌入式軟件一般都要涉及到底層軟件的開(kāi)發(fā),應(yīng)用軟件的開(kāi)發(fā)也是直接基于操作系統(tǒng)的,這就要求開(kāi)發(fā)人員具有扎實(shí)的軟、硬件基礎(chǔ),能靈活運(yùn)用不同的開(kāi)發(fā)手段和工具,具有較豐富的開(kāi)發(fā)經(jīng)驗(yàn)。嵌入式軟件的運(yùn)行環(huán)境和開(kāi)發(fā)環(huán)境比 PC機(jī)復(fù)雜, 嵌入式軟件是在目標(biāo)系統(tǒng)上運(yùn)行的 ,而 嵌入式軟件的開(kāi)發(fā)工作則是在另外的開(kāi)發(fā)系統(tǒng)中進(jìn)行 ,當(dāng)應(yīng)用軟件調(diào)試無(wú)誤后,再把它放到目標(biāo)系統(tǒng)上去。 吳貴芳 qq:6974784 Henan Uni versity of Sci . amp。 Tech. 電子信息工程學(xué)院 4 ? ( 3)高實(shí)時(shí)性和可靠性要求 ? 具有實(shí)時(shí)處理的能力是許多嵌入式系統(tǒng)的基本要求,實(shí)時(shí)性要求軟件對(duì)外部事件做出反應(yīng)的時(shí)間必須要快,在某些情況下還要求是確定的、可重復(fù)實(shí)現(xiàn)的,不管系統(tǒng)當(dāng)時(shí)的內(nèi)部狀態(tài)如何,都是可以預(yù)測(cè)的。同時(shí),對(duì)于事件的處理一定要在限定的時(shí)間期限之前完成,否則就有可能引起系統(tǒng)的崩潰。 ? 在航天控制、核電站、工業(yè)機(jī)器人等實(shí)時(shí)系統(tǒng)對(duì)嵌入式軟件的可靠性要求是非常高的,一旦軟件出了問(wèn)題,其后果是非常嚴(yán)重的。 ? ( 4)軟件固化存儲(chǔ) ? 為了提高系統(tǒng)的啟動(dòng)速度、執(zhí)行速度和可靠性,嵌入式系統(tǒng)中的軟件一般都固化在存儲(chǔ)器芯片或微處理器中。 吳貴芳 qq:6974784 Henan Uni versity of Sci . amp。 Tech. 電子信息工程學(xué)院 5 ? 1.系統(tǒng)軟件 ? 系統(tǒng)軟件控制和管理嵌入式系統(tǒng)資源,為嵌入式應(yīng)用提供支持的各種軟件,如設(shè)備驅(qū)動(dòng)程序、嵌入式操作系統(tǒng)、嵌入式中間件等。 ? 2.應(yīng)用軟件 ? 應(yīng)用軟件是嵌入式系統(tǒng)中的上層軟件,它定義了嵌入式設(shè)備的主要功能和用途,并負(fù)責(zé)與用戶進(jìn)行交互。應(yīng)用軟件是嵌入式系統(tǒng)功能的體現(xiàn),如飛行控制軟件、手機(jī)軟件、 MP3播放軟件、電子地圖軟件等,一般面向于特定的應(yīng)用領(lǐng)域。 ? 3.支撐軟件 ? 支撐軟件指輔助軟件開(kāi)發(fā)的工具軟件,如系統(tǒng)分析設(shè)計(jì)工具、在線仿真工具、交叉編譯器、源程序模擬器和配置管理工具等。 ? 在嵌入式系統(tǒng)當(dāng)中,系統(tǒng)軟件和應(yīng)用軟件運(yùn)行在目標(biāo)平臺(tái)的(即嵌入式設(shè)備上),而對(duì)于各種軟件開(kāi)發(fā)工具來(lái)說(shuō),它們大部分都運(yùn)行在開(kāi)發(fā)平臺(tái)( PC機(jī))上,運(yùn)行 Windows或 Linux操作系統(tǒng)。 吳貴芳 qq:6974784 Henan Uni versity of Sci . amp。 Tech. 電子信息工程學(xué)院 6 嵌入式軟件的體系結(jié)構(gòu) ? 1.無(wú)操作系統(tǒng)的嵌入式軟件 ? 早期在嵌入式系統(tǒng)的應(yīng)用范圍主要集中在控制領(lǐng)域,硬件的配置比較低,嵌入式軟件的設(shè)計(jì)主要是以應(yīng)用為核心,應(yīng)用軟件直接建立在硬件上,沒(méi)有專門的操作系統(tǒng),軟件的規(guī)模也很小。 ? 無(wú)操作系統(tǒng)的嵌入式軟件主要采用循環(huán)輪轉(zhuǎn)和中斷(前后臺(tái))兩種實(shí)現(xiàn)方式。 ? ( 1)循環(huán)輪轉(zhuǎn)方式 ? 循環(huán)輪轉(zhuǎn)方式的基本設(shè)計(jì)思想是:把系統(tǒng)的功能分解為若干個(gè)不同的任務(wù),放置在一個(gè)永不結(jié)束的循環(huán)語(yǔ)句當(dāng)中,按照時(shí)間順序逐一執(zhí)行。當(dāng)程序執(zhí)行完一輪后,又回到程序的開(kāi)頭重新執(zhí)行,循環(huán)不斷。 吳貴芳 qq:6974784 Henan Uni versity of Sci . amp。 Tech. 電子信息工程學(xué)院 7 ? 循環(huán)輪轉(zhuǎn)方式的程序簡(jiǎn)單、直觀、開(kāi)銷小、可預(yù)測(cè)。軟件的開(kāi)發(fā)可以按照自頂向下、逐步求精的方式,將系統(tǒng)要完成的功能逐級(jí)劃分成若干個(gè)小的功能模塊進(jìn)行編程,最后組合在一起。循環(huán)輪轉(zhuǎn)方式的軟件系統(tǒng)只有一條執(zhí)行流程和一個(gè)地址空間,不需要任務(wù)之間的調(diào)度和切換,其程序的代碼都是固定的,函數(shù)之間的調(diào)用關(guān)系也是明確的,整個(gè)系統(tǒng)的執(zhí)行過(guò)程是可預(yù)測(cè)的。 ? 循環(huán)輪轉(zhuǎn)方式的 缺點(diǎn)是程序必須按順序執(zhí)行 ,無(wú)法處理異步事件,缺乏并行處理的能力。缺乏硬件上的 時(shí)間控制機(jī)制 ,無(wú)法實(shí)現(xiàn)定時(shí)功能。 吳貴芳 qq:6974784 Henan Uni versity of Sci . amp。 Tech. 電子信息工程學(xué)院 8 ? ( 2)中斷方式 ? 中斷方式又稱為 前后臺(tái)系統(tǒng)形式 ,系統(tǒng)在循環(huán)輪轉(zhuǎn)方式的基礎(chǔ)上增加了中斷處理功能。 ISR( Interrupt Service Routine,中斷服務(wù)程序)負(fù)責(zé)處理異步事件,即前臺(tái)程序( foreground),也稱為事件處理級(jí)程序。而后臺(tái)程序( background)是一個(gè)系統(tǒng)管理調(diào)度程序,一般采用的是一個(gè) 無(wú)限的循環(huán)形式 ,負(fù)責(zé)掌管整個(gè)嵌入式系統(tǒng)軟、硬件資源的分配、管理以及任務(wù)的調(diào)度。后臺(tái)程序也稱為任務(wù)級(jí)程序。一般情形下,后臺(tái)程序會(huì)檢查每個(gè)任務(wù)是否具備運(yùn)行條件,通過(guò)一定的調(diào)度算法來(lái)完成相應(yīng)的操作。而一些對(duì)實(shí)時(shí)性有要求的操作通常由中斷服務(wù)程序來(lái)完成, 大多數(shù)的中斷服務(wù)程序只做一些最基本的操作 ,如標(biāo)記中斷事件的發(fā)生等,其余的事情會(huì)延遲到后臺(tái)程序去完成。 吳貴芳 qq:6974784 Henan Uni versity of Sci . amp。 Tech. 電子信息工程學(xué)院 9 ? 2.有操作系統(tǒng)的嵌入式軟件 ? 從 20世紀(jì) 80年代開(kāi)始,操作系統(tǒng)出現(xiàn)在嵌入式系統(tǒng)上。如今,嵌入式操作系統(tǒng)在嵌入式系統(tǒng)中廣泛應(yīng)用,尤其是在功能復(fù)雜、系統(tǒng)龐大的應(yīng)用中顯得愈來(lái)愈重要。在應(yīng)用軟件開(kāi)發(fā)時(shí),程序員不是直接面對(duì)嵌入式硬件設(shè)備,而是采用一些嵌入式軟件開(kāi)發(fā)環(huán)境,在操作系統(tǒng)的基礎(chǔ)上編寫程序。 ? 在控制系統(tǒng)中,采用前后臺(tái)系統(tǒng)體系結(jié)構(gòu)的軟件,在遇到強(qiáng)干擾時(shí),可能會(huì)使應(yīng)用程序產(chǎn)生異常、出錯(cuò),甚至死循環(huán)的現(xiàn)象,從而造成系統(tǒng)的崩潰。而采用嵌入式操作系統(tǒng)管理的系統(tǒng),在遇到強(qiáng)干擾時(shí),可能只會(huì)引起系統(tǒng)中的某一個(gè)進(jìn)程被破壞,但這可以通過(guò)系統(tǒng)的監(jiān)控進(jìn)程對(duì)其進(jìn)行修復(fù),系統(tǒng)具有自愈能力,不會(huì)造成系統(tǒng)崩潰。 吳貴芳 qq:6974784 Henan Uni versity of Sci . amp。 Tech. 電子信息工程學(xué)院 10 ? 在嵌入式操作系統(tǒng)環(huán)境下,開(kāi)發(fā)一個(gè)復(fù)雜的應(yīng)用程序,通??梢园凑哲浖こ痰乃枷?,將整個(gè)程序分解為多個(gè)任務(wù)模塊,每個(gè)任務(wù)模塊的調(diào)試、修改幾乎不影響其他模塊。利用商業(yè)軟件提供的多任務(wù)調(diào)試環(huán)境,可大大提高系統(tǒng)軟件的開(kāi)發(fā)效率,降低開(kāi)發(fā)成本,縮短開(kāi)發(fā)周期。 ? 嵌入式操作系統(tǒng)本身是可以剪裁的,嵌入式系統(tǒng)外設(shè)、相關(guān)應(yīng)用也可以配置,所開(kāi)發(fā)的應(yīng)用軟件可以在不同的應(yīng)用環(huán)境、不同的處理器芯片之間移植,軟件構(gòu)件可復(fù)用,有利于系統(tǒng)的擴(kuò)展和移植。 吳貴芳 qq:6974784 Henan Uni versity of Sci . amp。 Tech. 電子信息工程學(xué)院 11 ? 嵌入式軟件的體系結(jié)構(gòu)圖如圖 ,最底層的是嵌入式硬件系統(tǒng),包括嵌入式微處理器、存儲(chǔ)器、鍵盤、 LCD顯示器等輸入/輸出設(shè)備。在硬件層之上的是設(shè)備驅(qū)動(dòng)層,它負(fù)責(zé)與硬件直接打交道,并為操作系統(tǒng)層軟件提供所需的驅(qū)動(dòng)支持。操作系統(tǒng)層可以分為基本部分和擴(kuò)展部分,基本部分是操作系統(tǒng)的核心,負(fù)責(zé)整個(gè)系統(tǒng)的任務(wù)調(diào)度、存儲(chǔ)管理、時(shí)鐘管理和中斷管理等功能;擴(kuò)展部分為用戶提供網(wǎng)絡(luò)、文件系統(tǒng)、圖形用戶界面 GUI、數(shù)據(jù)庫(kù)等擴(kuò)展功能,擴(kuò)展部分的內(nèi)容可以根據(jù)系統(tǒng)的需要來(lái)進(jìn)行剪裁。在操作系統(tǒng)的上面是一些中間件軟件。最上層是網(wǎng)絡(luò)瀏覽器、MP3播放器、文本編輯器、電子郵件客戶端、電子游戲等各種應(yīng)用軟件,實(shí)現(xiàn)嵌入式系統(tǒng)的功能。 吳貴芳 qq:6974784 Henan Uni versity of Sci . amp。 Tech. 電子信息工程學(xué)院 12 圖 嵌入式軟件體系結(jié)構(gòu) 吳貴芳 qq:6974784 Henan Uni versity of Sci . amp。 Tech. 電子信息工程學(xué)院 13 嵌入式系統(tǒng)的設(shè)備驅(qū)動(dòng) ? 嵌入式系統(tǒng)的設(shè)備驅(qū)動(dòng)層用來(lái)完成嵌入式系統(tǒng)硬件設(shè)備所需要的一些軟件初始化和管理。設(shè)備驅(qū)動(dòng)層直接對(duì)硬件進(jìn)行管理和控制,并為上層軟件提供所需的驅(qū)動(dòng)支持。 ? 1.板級(jí)支持包 ? 設(shè)備驅(qū)動(dòng)層也稱為 BSP( Board Support Package, 板級(jí)支持包),在 BSP中把所有與硬件相關(guān)的代碼都封裝起來(lái),為操作系統(tǒng)提供一個(gè)虛擬的硬件平臺(tái),操作系統(tǒng)運(yùn)行在這個(gè)虛擬的硬件平臺(tái)上。在 BSP當(dāng)中,使用一組定義好的編程接口來(lái)與 BSP進(jìn)行交互,并通過(guò) BSP來(lái)訪問(wèn)真正的硬件。在嵌入式系統(tǒng)中, BSP類似于 PC系統(tǒng)中的 BIOS和驅(qū)動(dòng)程序。 BSP把嵌入式操作系統(tǒng)與具體的硬件平臺(tái)隔離開(kāi)來(lái)。 吳貴芳 qq:6974784 Henan Uni versity of Sci . amp。 Tech. 電子信息工程學(xué)院 14 ? 一般來(lái)說(shuō), BSP是針對(duì)某個(gè)特定的單板而設(shè)計(jì)的,系統(tǒng)都會(huì)提供相應(yīng)的演示版本的 BSP(最小系統(tǒng) BSP)。 BSP對(duì)于用戶(指系統(tǒng)開(kāi)發(fā)人員)是開(kāi)放的,用戶可以根據(jù)不同的硬件需求對(duì)其進(jìn)行改動(dòng)或二次開(kāi)發(fā)。在實(shí)際開(kāi)發(fā)一個(gè)嵌入式系統(tǒng)的時(shí)候,通??梢哉业揭粋€(gè)與自己的硬件系統(tǒng)相近的演示版本的 BSP,并以此為基礎(chǔ),進(jìn)行修改和完善,以適應(yīng)不同單板的需求。 BSP主要包括BootLoader(引導(dǎo)加載程序)和設(shè)備驅(qū)動(dòng)程序兩個(gè)方面的內(nèi)容 。 ? 對(duì)于不同的嵌入式操作系統(tǒng), BSP的具體結(jié)構(gòu)和組成是不相同的。 吳貴芳 qq:6974784 Henan Uni versity of Sci . amp。 Tech. 電子信息工程學(xué)院 15 ? 2. BootLoader ? BootLoader(引導(dǎo)加載程序)是在操作系統(tǒng)內(nèi)核運(yùn)行之前運(yùn)行的一小段程序。通過(guò)這段程序,初始化硬件設(shè)備、建立內(nèi)存空間的映射圖,從而將系統(tǒng)的軟硬件環(huán)境設(shè)置到一個(gè)合適的狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核做好準(zhǔn)備。 BootLoader用來(lái)完成整個(gè)系統(tǒng)的加載啟動(dòng)任務(wù)。通常在系統(tǒng)上電或復(fù)位時(shí), BootLoader程序從地址 0x00000000處開(kāi)始執(zhí)行 。 ? BootLoader的功能與嵌入式系統(tǒng)的硬件平臺(tái)直接相關(guān),不同的CPU體系結(jié)構(gòu)和板級(jí)設(shè)備配置, BootLoader的功能不同。一般來(lái)說(shuō), BootLoader主要包含片級(jí)初始化、板級(jí)初始化和加載內(nèi)核 等一些基本功能。 吳貴芳 qq:6974784 Henan Uni versity of Sci . amp。 Tech. 電子信息工程學(xué)院 16 ? ( 1)片級(jí)初始化 ? 片級(jí)初始化是一個(gè) 純硬件的初始化過(guò)程 ,把微處理器從上電時(shí)的默認(rèn)狀態(tài)逐步設(shè)置成系統(tǒng)所要求的工作狀態(tài)。片級(jí)初始化主要完成設(shè)置微處理器的核心寄存器和控制寄存器、微處理器的核心工作模式及其局部總線模式等初始化。 ? ( 2)板級(jí)初始化 ? 板級(jí)初始化是一個(gè)同時(shí)包含有 軟件和硬件在內(nèi)的初始化過(guò)程 ,通過(guò)正確地設(shè)置各種寄存器的內(nèi)容來(lái)完成微處理器以外的其他硬件設(shè)備的初始化。例如,初始化 LED顯示設(shè)備、定時(shí)器、串口通信和內(nèi)存控制器,建立內(nèi)存空間的地址映射,設(shè)置中斷控制寄存器和某些軟件的數(shù)據(jù)結(jié)構(gòu)和參數(shù)等。 ? ( 3)加載內(nèi)核 ? 將操作系統(tǒng)和應(yīng)用程序的映像 從 Flash存儲(chǔ)器 復(fù)制到 系統(tǒng)的內(nèi)存 當(dāng)中,然后跳轉(zhuǎn)到系統(tǒng)內(nèi)核的第一條指令處繼續(xù)執(zhí)行。 吳貴芳 qq:6974784 Henan Uni versity of Sci . amp。 Tech. 電子信息工程學(xué)院 17 ? 3.設(shè)備驅(qū)動(dòng)程序 ? 在一個(gè)嵌入式系統(tǒng)中,可以沒(méi)有操作系統(tǒng),但設(shè)備驅(qū)動(dòng)程序是必不可少的。設(shè)備驅(qū)動(dòng)程序是一組庫(kù)函數(shù),用來(lái)對(duì)硬件進(jìn)行初始化和管理,并向上層軟件提供訪問(wèn)接口。 ? 不同功能的硬件設(shè)備,它們的設(shè)備驅(qū)動(dòng)程序是不同的。但大多數(shù)的設(shè)備驅(qū)動(dòng)程序都具有硬件啟動(dòng)(初始化)、硬件關(guān)閉(關(guān)機(jī))、硬件停用(暫停)、硬件啟用(重新啟用)、讀操作(讀取數(shù)據(jù))、寫操作(寫入數(shù)據(jù))等基本功能。 ? 設(shè)備驅(qū)動(dòng)程序通常可以完成一些特定的功能,這些功能一般采用函數(shù)的形式來(lái)實(shí)現(xiàn),這些函數(shù)有分層結(jié)構(gòu)和混合結(jié)構(gòu)兩種組織結(jié)構(gòu)形式。 吳貴芳 qq:6974784 Henan Uni versity of Sci . amp。 Tech. 電子信息工程學(xué)院 18 ? 在分層結(jié)構(gòu)中,設(shè)備驅(qū)動(dòng)程序中的函數(shù)分為硬件接口和調(diào)用接口兩種
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1