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

正文內(nèi)容

基于arm9的linux下音頻總線驅(qū)動(dòng)程序的設(shè)計(jì)(參考版)

2024-11-14 03:57本頁(yè)面
  

【正文】 使用動(dòng)態(tài)連接庫(kù),可以讓應(yīng)用程序跟函數(shù) 庫(kù)的更新、升級(jí)分離,便于維護(hù),可以讓同時(shí)運(yùn)行的多個(gè)程序共享一段代碼。一個(gè)標(biāo)準(zhǔn)的 glib庫(kù)大約要 1200kB 存儲(chǔ)空間,考慮到嵌入式 Linux 內(nèi)核往往很小,這種運(yùn)行庫(kù)實(shí)在太大,基于 ARM9 的 LINUX 下音頻總線驅(qū)動(dòng)程序的設(shè)計(jì) 22 我們做了一些精簡(jiǎn)的工作,方法有兩種: (1)使用靜態(tài)連接的方法,完全不使用運(yùn)行庫(kù)動(dòng)態(tài)連接; (2)對(duì)這個(gè)庫(kù)的函數(shù)進(jìn)行精簡(jiǎn)。其中最基本的是 C 語(yǔ)言的運(yùn)行庫(kù) glib。由于嵌入式系統(tǒng)應(yīng)用一般都是在開發(fā)平臺(tái)上預(yù)先生成的,因此 嵌入式系統(tǒng)只需向應(yīng)用提供動(dòng)態(tài)函數(shù)庫(kù)。靜態(tài)函數(shù)庫(kù)在生成應(yīng)用時(shí)直接鏈接到用戶應(yīng)用中。 精簡(jiǎn)運(yùn)行環(huán)境 Linux 通常的運(yùn)行環(huán)境指用戶運(yùn)行任何應(yīng)用的基礎(chǔ)設(shè)施,主要包括函數(shù)庫(kù)和基本命令集等。一般嵌入式設(shè)備文件系統(tǒng)主要使用 RamDisk 技術(shù)和網(wǎng)絡(luò)文件系統(tǒng)技術(shù)。 文件系統(tǒng)是嵌入式 Linux 操作系統(tǒng)必不可少的。在該點(diǎn)處,系統(tǒng)檢測(cè)是否存在未處理的緊急中斷,有則剝奪內(nèi)核的運(yùn)行,及時(shí)處理中斷。對(duì)于無(wú)硬盤設(shè)備的嵌入式系統(tǒng),不必采用虛存管理。因?yàn)闃?biāo)準(zhǔn) Linux 系統(tǒng)使用虛擬內(nèi)存管理的目的是為了能同時(shí)運(yùn)行多個(gè)進(jìn)程,但是這樣每個(gè)待運(yùn)行的進(jìn)程所能分配的 CPU 時(shí)間片就受限制,資源的使用效率就低。此時(shí),可采用先從硬盤或軟盤加載一個(gè)小操作系統(tǒng),如嵌入式DOS,然后再執(zhí)行 “ Loadlin” 加載程序從 FLASH 引導(dǎo)嵌入式 Linux。在支持直接從 FLASH設(shè)備引導(dǎo)的系統(tǒng)中,如華恒公司的 uClinux,引導(dǎo)程序主要完成對(duì)硬件系統(tǒng)的初始化工作和操作系統(tǒng)的解壓、移位工作。標(biāo)準(zhǔn) Linux 啟動(dòng)代碼實(shí)現(xiàn)了系統(tǒng)初始化和從軟盤、硬盤 O 盤區(qū)引導(dǎo)內(nèi)核。經(jīng)過(guò)裁剪、壓縮后的系統(tǒng)內(nèi)核一般只有 300k 左右,十分適合嵌入式設(shè)備。 嵌入式 Linux 內(nèi)核一般由標(biāo)準(zhǔn) Linux 內(nèi)核裁剪而來(lái)。用戶進(jìn)程可直接通過(guò)系統(tǒng)調(diào)用或者函數(shù)庫(kù)來(lái)訪問內(nèi)核資源。 精簡(jiǎn)內(nèi)核 第四章 嵌入式操作系統(tǒng) Linux 21 Linux 內(nèi)核有自己的結(jié)構(gòu)體系,其中進(jìn)程管理、內(nèi)存管理和文件系統(tǒng)是其最基本的 3個(gè)子系統(tǒng)。 嵌入式 Linux 的建立 完整的嵌入式 Linux 解決方案應(yīng)包括嵌入式 Linux 操作系統(tǒng)內(nèi)核、運(yùn)行環(huán)境、圖形化界面和應(yīng)用軟件等。系統(tǒng)目標(biāo)一方面是小型化,另一方面能重用 Linux 的驅(qū)動(dòng)和其它模塊。目前,中科院計(jì)算所自行開發(fā)的開放源碼的嵌入式操作系統(tǒng) Easy Embedded OS(EEOS)也已經(jīng)開始進(jìn)入實(shí)用階段了。 “ MidoriLinux” ”這個(gè)名字來(lái)源于日本的 “ 綠色 ” Midori,用來(lái)反映其 Linux 操作系統(tǒng)的環(huán)保外觀。 MidoriLinux 由 Transmeta公司推出的 MidoriLinux操作系統(tǒng)代碼開放,在 GUN普通公共許可 (GPL)下發(fā)布,可以在 : // 上立即獲得。 PoketLinux 平臺(tái)使用戶的視線從設(shè)備、平臺(tái)和網(wǎng)絡(luò)上移開,由此引發(fā)了信息技術(shù)新時(shí)代的產(chǎn)生。它可以提供跨操作系統(tǒng)構(gòu)造統(tǒng)一的、標(biāo)準(zhǔn)化的和開放的信息通信基礎(chǔ)結(jié)構(gòu),在此結(jié)構(gòu)上實(shí)現(xiàn)端到端方案的完整平臺(tái)。因此, XLinux 在推廣 Linux 的國(guó)際應(yīng)用方面有獨(dú)特的優(yōu)勢(shì)。他在加盟網(wǎng)虎幾個(gè)月后便開發(fā)出了基于 XLinux 的、號(hào)稱是世界上最小的嵌入式 Linux 系統(tǒng),內(nèi)核只有 143KB,而且還在不斷減小??梢哉f(shuō), Embedix 是一種完整的嵌入式 Linux 解決方案。 Luneo 還發(fā)布了另一個(gè)重要的軟件產(chǎn)品,它可以讓在Windows CE 上 運(yùn)行的程序能夠在 Embedix 上運(yùn)行。 Embedix 基于 Linux 內(nèi)核,并已經(jīng)成功地移植到了 Intel x86 和 PowerPC 處理器系列上。 Embedix 提供了超過(guò) 25 種的 Linux 系統(tǒng)服務(wù),包括Web 服務(wù)器等。其編譯后目標(biāo)文件可控制在幾百 KB 數(shù)量級(jí),并已經(jīng)被成功地移植到很多平 臺(tái)上。雖然它的體積很小,卻仍然保留了 Linux 的大多數(shù)的優(yōu)點(diǎn):穩(wěn)定、良好的移植性、優(yōu)秀的網(wǎng)絡(luò)功能、對(duì)各種文件系統(tǒng)完備的支持和標(biāo)準(zhǔn)豐富的 API。 uCLinux 是一種優(yōu)秀的嵌入式 Linux 版本,是 microConrolLinux 的縮寫。它已經(jīng)被成功地移植到了很多平臺(tái) 上。 uClinux uCLinux 是 Lineo 公司的主打產(chǎn)品,同時(shí)也是開放源碼的嵌入式 Linux 的典范之作。為此, RTLinux 提出了精巧的內(nèi)核,并把標(biāo)準(zhǔn)的 Linux 核心作為實(shí)時(shí)核心的一個(gè)進(jìn)程,同用戶的實(shí)時(shí)進(jìn)程一起調(diào)度。到目前為止, RTLinux 已經(jīng)成功地應(yīng)用于航天飛機(jī)的空間數(shù)據(jù)采集、科學(xué)儀器測(cè)控和電影特技圖像處理等廣泛領(lǐng)域。這些 Linux 被統(tǒng)稱為 “ 嵌入式 Linux” 。其強(qiáng)大的語(yǔ)言編譯器 GCC, C++等也可以很容易 得到,不但成熟完善,而且使用方便。 Linux 帶有 Unix 用戶熟悉的完善的開發(fā)工具,幾乎所有的 Unix 系統(tǒng)的應(yīng)用軟件都已移植到了 Linux 上。其程序源碼全部公開,任何人可以修改并在 GUN 通用公共許可證 (GNU General Public License)下發(fā)行。 Linux 的高度模塊化使添加部件非常容易。毫無(wú)疑問,這會(huì)節(jié)省大量的開發(fā)費(fèi)用。 Linux 可以隨意地配置,不需要任何的許可證或商家的合作關(guān)系,源代碼可以免費(fèi)得到。原型可以在標(biāo)準(zhǔn)平臺(tái)上開 發(fā)后移植到具體的硬件上,加快了軟件與硬件的開發(fā)過(guò)程。 Linux 作為嵌入式操作系統(tǒng)的優(yōu)勢(shì) Linux 作為嵌入式操作系統(tǒng)的優(yōu)勢(shì)主要有以下幾點(diǎn): 可應(yīng)用于多種硬件平臺(tái)。 ThinLinux 面向?qū)S玫恼障鄼C(jī)服務(wù)器、 X10 控制器、 MP3 播放器和其它類似的嵌入式應(yīng)用。其中有代表性的包括: uClinux、ETLinux、 ThinLinux、 LOAF 等。這些模塊運(yùn)行的內(nèi)核空間正是操作系統(tǒng)實(shí)現(xiàn)進(jìn)程調(diào)度、中斷處理和程序執(zhí)行的部分,因此錯(cuò)誤的代碼可能會(huì)破壞操作系統(tǒng),進(jìn)而影響整個(gè)系統(tǒng)的可靠性和穩(wěn)定性。同時(shí),由于具有良好的可移植性,人們已成功使 Linux 運(yùn)行于數(shù)百種硬件平臺(tái)之上。一個(gè)帶有中文系統(tǒng)和圖形用戶界面的核心程序也可以做到不足 1MB,并且同樣穩(wěn)定。首先, Linux 的源代碼是開放的,任何人都可以獲取并修改,用之開發(fā)自己的產(chǎn)品。 Linux 是一個(gè)成熟而穩(wěn)定的網(wǎng)絡(luò)操作系統(tǒng)。 Linux 從1991 年問世到現(xiàn)在,短短的十幾年時(shí)間已經(jīng)發(fā)展成為功能強(qiáng)大、設(shè)計(jì)完善的操作系統(tǒng)之一;可運(yùn)行在 X8 Alpha、 Sparc、 MIPS、 PPC、 Motorola、 NEC、 ARM 等多種硬件平臺(tái),而且 開放源代碼,可以定制;可與各種傳統(tǒng)的商業(yè)操作系統(tǒng)分庭抗?fàn)帯? 第三章 基于 S3C2440 的嵌入式平臺(tái) ME2440 17 調(diào)試終端配置 在 PC 機(jī)上打開 DNW( ),在 configuration 中按下圖設(shè)置,如圖 11 所示: 圖 11:調(diào)試終端設(shè)置 ME2440A Bootloader 使用說(shuō)明 按復(fù)位鍵后,在 DNW 中敲任意鍵進(jìn)入 Bootloader 啟動(dòng)目錄界面,如 圖 12 所示: 基于 ARM9 的 LINUX 下音頻總線驅(qū)動(dòng)程序的設(shè)計(jì) 18 圖 12: Bootloader 啟動(dòng)目錄界面 ME2440A 開發(fā)板所帶的 Bootloader 主要功能有通過(guò)串口或 USB 口下 載文件(配合DNW 使用)、 NAND FLASH 燒寫、啟動(dòng) FLASH 中的程序、設(shè)置啟動(dòng)參數(shù)。 圖 10:并口驅(qū)動(dòng)安裝(五) 在 “廠商文件復(fù)制來(lái)源 ”中選擇光盤中 所在的目錄,點(diǎn)擊 “確定 ”接下來(lái)的步驟一直選擇 “ 下一步 ” ,最后 GIVEIO 將成功安裝到系統(tǒng)中。 第三章 基于 S3C2440 的嵌入式平臺(tái) ME2440 15 圖 6:并口驅(qū)動(dòng)安裝(一) 圖 7:并口驅(qū)動(dòng)安裝(二) 選擇 “ 否,我想從列表 … ” ,點(diǎn)擊 “ 下一步 ” 選擇 “ 端口 ”, 點(diǎn)擊 “ 下一步 ”,如圖 圖 9。在 WINDOWS 的 “控制面板 ”中選擇 “ 添加 /刪除硬件 ” 。 基于 ARM9 的 LINUX 下音頻總線驅(qū)動(dòng)程序的設(shè)計(jì) 14 圖 4: USB 驅(qū)動(dòng)安裝(二) 安裝好 USB 驅(qū)動(dòng)后可以在設(shè)備管理器中的 “ 通用串行總線控制 ” 下多了 “ USB Mass Storage Device” 一項(xiàng) ,如圖 5。 開發(fā)板使用 Windows 下驅(qū)動(dòng)的安裝 安裝 USB 驅(qū)動(dòng) 打開電源,系統(tǒng)會(huì)提示找到新硬件,按以下步驟安裝好 USB 驅(qū)動(dòng) ,如圖 3。 ? 常用應(yīng)用程序: 第三章 基于 S3C2440 的嵌入式平臺(tái) ME2440 13 LED 跑馬燈, MP3 播放。 ? 常用 USB 設(shè)備: U 盤,移動(dòng)硬盤, USB Hub, USB 鼠標(biāo),鍵盤?,F(xiàn)僅介紹嵌入式 Linux 操作系統(tǒng): ? 內(nèi)核: 或 (用戶可任選一種); ? 文件系統(tǒng): cramfs/ramfs/etx2/fat32/nfs/yaffs/jeffs2; ? 驅(qū)動(dòng)支持: 系統(tǒng)中斷和系統(tǒng)時(shí)鐘驅(qū)動(dòng);串口驅(qū)動(dòng)( Serial device driver);塊設(shè)備驅(qū)動(dòng)(包括 IDE硬盤, CF 卡); Nand Flash 驅(qū)動(dòng);網(wǎng)卡驅(qū)動(dòng);實(shí)時(shí)時(shí)鐘驅(qū)動(dòng); USB Host 驅(qū)動(dòng); USB Slave驅(qū)動(dòng); LEDS 燈驅(qū)動(dòng); VGA 驅(qū)動(dòng); TV驅(qū)動(dòng)。 開發(fā)板接口如圖 2 所示。 ME2440A 開發(fā)板簡(jiǎn)介 開發(fā)板外觀及硬件資源 基于 ARM9 的 LINUX 下音頻總線驅(qū)動(dòng)程序的設(shè)計(jì) 10 圖 1: ME2440 開發(fā)板外觀 開發(fā)板硬件資源: 中央處理器 ? CPU:三星 S3C2440A,主頻 400MHz; 外部存儲(chǔ)器 ? 內(nèi)存: 64M 字節(jié); ? NAND Flash: 64M 字節(jié)( K9F1208,用戶可自己更換為 16M、 32M 或 128M 的 NAND Flash) 串口 ? 個(gè)五線異步串行口,波特率最高 1152020bps; ? 另外兩個(gè)串口擴(kuò)展引出。目前已成功移植 Linux, WINCE 等操作系統(tǒng)到 M2440 板上 [3]。第三章 基于 S3C2440 的嵌入式平臺(tái) ME2440A ME2440A 是一款基于 ARM9 的嵌入式電腦平臺(tái),它基于三星公司的 ARM 處理器S3C2440A,內(nèi)部帶有全性能的 MMU(內(nèi)存處理單元),它適用于設(shè)計(jì)移動(dòng)手持設(shè)備等產(chǎn)品 。 第四階段是以基于 Inter 為標(biāo)志 的嵌入式系統(tǒng),這是一個(gè)正在迅速發(fā)展的階段。 第三階段是通用的嵌入式實(shí)時(shí)操作系統(tǒng)階段,是以嵌入式操作系統(tǒng)為核心的嵌入式系統(tǒng)。 第二階段是以嵌入式 CPU 為基礎(chǔ)、以簡(jiǎn)單操作系統(tǒng)為核心的嵌入式系統(tǒng)。這一階段系統(tǒng)的主要特點(diǎn)是:系統(tǒng)結(jié)構(gòu)和功能都相對(duì)單一,處理效率較低,存儲(chǔ)容量較小,幾乎沒有用戶接口。 第一階段是無(wú)操作系統(tǒng)的嵌入算法階段,是以單芯片為核心的可編程控制器形式的系統(tǒng),同時(shí)具有與監(jiān)測(cè)、伺服、指示設(shè)備相配合的功能。通過(guò)這種方式的任務(wù)調(diào)度保證第二章 嵌入式系統(tǒng) 9 了系統(tǒng)的實(shí)時(shí)性,但是,如果任務(wù)之間搶占 CPU 控制權(quán)處理不好,會(huì)產(chǎn)生系統(tǒng)崩潰、死機(jī)等嚴(yán)重后果 。 可搶占型實(shí)時(shí)操作系統(tǒng)的實(shí)時(shí)性好,優(yōu)先級(jí)高的任務(wù)只要具備了運(yùn)行的條件,或者說(shuō)進(jìn)入了就緒態(tài) ,就可以立即運(yùn)行。使用這種實(shí)時(shí)操作系統(tǒng)的實(shí)時(shí)性比不使用實(shí)時(shí)操作系統(tǒng)的系統(tǒng)性能好,其實(shí)時(shí)性取決于最長(zhǎng)任務(wù)的執(zhí)行時(shí)間。不可搶占型實(shí)時(shí)操作系統(tǒng)使用某種算法并決定讓某個(gè)任務(wù)運(yùn)行 后,就把 CPU 的控制權(quán)完全交給了該任務(wù),直到它主動(dòng)將 CPU 控制權(quán)還回來(lái)。 實(shí)時(shí)操作系統(tǒng)可分為可搶占型和不可搶占型兩類。實(shí)時(shí) 操作系統(tǒng)具有如下功能:任務(wù)管理 (多任務(wù)和基于優(yōu)先級(jí)的任務(wù)調(diào)度 )、任務(wù)間同步和通信 (信號(hào)量和郵箱等 )、存儲(chǔ)器優(yōu)化管理 (含ROM 的管理 )、實(shí)時(shí)時(shí)鐘服務(wù)、中斷管理服務(wù)。 實(shí)時(shí)多任務(wù)操作系統(tǒng)是指具有實(shí)時(shí)性、能支持實(shí)時(shí)控制系統(tǒng)工作的操作系統(tǒng)。實(shí)時(shí)應(yīng)用軟件的設(shè)計(jì)一般比非實(shí)時(shí)應(yīng)用軟件的設(shè)計(jì)困難。軟實(shí)時(shí)系統(tǒng)僅要求事件響應(yīng)是實(shí)時(shí)的,并不要求限定某一任務(wù)必須在多長(zhǎng)時(shí)間內(nèi)完成;而在硬實(shí)時(shí)系統(tǒng)中,不僅要求任務(wù)響應(yīng)要實(shí)時(shí),而且要求在規(guī)定的時(shí)間內(nèi)完成事件的處理。 實(shí)時(shí)系統(tǒng)對(duì)邏輯和時(shí)序的要求非常嚴(yán)格,如果邏輯和時(shí)序出現(xiàn)偏差將會(huì)引起嚴(yán)重后果。“在確定的時(shí)間內(nèi) ”是該定義的核心。 ( 2)實(shí)時(shí)操作系統(tǒng) 實(shí)時(shí)系統(tǒng)是指能在確定的時(shí)間內(nèi)執(zhí)行其功能并對(duì)外部的異步事件做出響應(yīng)的計(jì)算機(jī)系統(tǒng)。另
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1