
本系統(tǒng)以AT91ARM9200作為核心芯片,以GoAhead WebServer作為嵌入式Web服務(wù)器,針對(duì)傳感器網(wǎng)絡(luò)的結(jié)構(gòu)、嵌入式Web體系結(jié)構(gòu)、嵌入式數(shù)據(jù)庫(kù)模型、嵌入式操作系統(tǒng)模型、嵌入式網(wǎng)關(guān)設(shè)計(jì)模型等進(jìn)行初步的研究與探索,提出一種無(wú)線傳感器網(wǎng)絡(luò)嵌入式網(wǎng)關(guān)的設(shè)計(jì)方案和無(wú)線傳感器網(wǎng)絡(luò)數(shù)據(jù)管理與查詢模式,研發(fā)了基于Web的傳感器網(wǎng)絡(luò)嵌入式網(wǎng)關(guān)系統(tǒng)。
在分析Linux2.6內(nèi)核新特性的基礎(chǔ)上,在S3C2410開發(fā)板上移植了2.6內(nèi)核和新的文件系統(tǒng),并成功地對(duì)H.264編解碼多媒體系統(tǒng)提供了支持。
本章主要給出了Linux平臺(tái)下文件、進(jìn)程控制與通信、線程控制與通信的編程實(shí)例。至此,一個(gè)完整的,涉及硬件原理、Bootloader、操作系統(tǒng)及文件系統(tǒng)移植、驅(qū)動(dòng)程序開發(fā)及應(yīng)用程序編寫的嵌入式Linux系列講解就全部結(jié)束了。
基于華邦W90P710處理器的Linux內(nèi)核應(yīng)用,詳細(xì)介紹了Linux串口驅(qū)動(dòng)的實(shí)現(xiàn)方法。同時(shí)對(duì)Linux文件系統(tǒng)操作入口函數(shù)及內(nèi)核的編譯做了詳細(xì)的說(shuō)明。
隨著嵌入式技術(shù)的不斷發(fā)展,嵌入式系統(tǒng)在各種領(lǐng)域中得到了廣泛的應(yīng)用。本文針對(duì)嵌入式系統(tǒng)需要在顯示屏上實(shí)現(xiàn)字符的輸入,在Linux環(huán)境下,利用QT/E庫(kù)軟件,實(shí)現(xiàn)了軟鍵盤設(shè)計(jì)。主要介紹了軟鍵盤的設(shè)計(jì)以及軟鍵盤實(shí)現(xiàn)的程序編寫。
Linux系統(tǒng)下的多線程遵循POSIX線程接口,稱為pthread。編寫Linux下的多線程程序,需要使用頭文件pthread.h,連接時(shí)需要使用庫(kù)libpthread.a。順便說(shuō)一下,Linux下pthread的實(shí)現(xiàn)是通過(guò)系統(tǒng)調(diào)用clone()來(lái)實(shí)現(xiàn)的。clone()是Linux所特有的系統(tǒng)調(diào)用,它的使用方式類似fork,關(guān)于clone()的詳細(xì)情況,有興趣的讀者可以去查看有關(guān)文檔說(shuō)明。
使用GNU的工具我們?nèi)绾卧贚inux下創(chuàng)建自己的程序函數(shù)庫(kù)?一個(gè)“程序函數(shù)庫(kù)”簡(jiǎn)單的說(shuō)就是一個(gè)文件包含了一些編譯好的代碼和數(shù)據(jù),這些編譯好的代碼和數(shù)據(jù)可以在事后供其他的程序使用。程序函數(shù)庫(kù)可以使整個(gè)程序更加模塊化,更容易重新編譯,而且更方便升級(jí)。
本文討論了 Linux 內(nèi)核中可用的大量同步或鎖定機(jī)制。這些機(jī)制為 2.6.23 版內(nèi)核的許多可用方法提供了應(yīng)用程序接口(API)。但是在深入學(xué)習(xí) API 之前,首先需要明白將要解決的問(wèn)題。
Linux 的虛擬內(nèi)存管理有幾個(gè)關(guān)鍵概念: 每個(gè)進(jìn)程有獨(dú)立的虛擬地址空間,進(jìn)程訪問(wèn)的虛擬地址并不是真正的物理地址 虛擬地址可通過(guò)每個(gè)進(jìn)程上頁(yè)表與物理地址進(jìn)行映射,獲得真正物理地址 如果虛擬地址對(duì)應(yīng)物理地址不在物理內(nèi)存中,則產(chǎn)生缺頁(yè)中斷,真正分配物理地址,同時(shí)更新進(jìn)程的頁(yè)表;如果此時(shí)物理內(nèi)存已耗盡,則根據(jù)內(nèi)存替換算法淘汰部分頁(yè)面至物理磁盤中。
中斷(interrupt)被定義為一個(gè)事件,該事件改變處理器執(zhí)行的指令順序,這樣的事件與CPU芯片內(nèi)外部硬件電路產(chǎn)生的電信號(hào)相對(duì)應(yīng)。中斷通常分為同步(synchronous)中斷和異步(asynchronous)中斷。同步中斷指的是當(dāng)指令執(zhí)行時(shí)由CPU控制單元產(chǎn)生的,之所以稱為同步,是因?yàn)橹挥性谝粭l指令終止執(zhí)行后CPU才會(huì)發(fā)出中斷。異步中斷是由其他硬件設(shè)備依照CPU時(shí)鐘信號(hào)隨機(jī)產(chǎn)生的。在Intel處理器中,同步中斷被稱為異常,異步中斷被稱為中斷。
面向嵌入式 Linux 的 DPM 是一種正在發(fā)展的技術(shù)。由于全球開放源代碼領(lǐng)域的開發(fā)人員所做的貢獻(xiàn),它的核心技術(shù)正在進(jìn)步,但實(shí)際應(yīng)用仍然必須清除一系列“路障”。
在Linux操作系統(tǒng)下有三類主要的設(shè)備文件類型,一是字符設(shè)備,二是塊設(shè)備,三是網(wǎng)絡(luò)設(shè)備。字符設(shè)備和塊設(shè)備的主要區(qū)別是:在對(duì)字符設(shè)備發(fā)出讀/寫請(qǐng)求時(shí),實(shí)際的硬件I/O一般就緊接著發(fā)生了,塊設(shè)備則不然,它利用一塊系統(tǒng)內(nèi)存作緩沖區(qū),當(dāng)用戶進(jìn)程對(duì)設(shè)備請(qǐng)求能滿足用戶的要求,就返回請(qǐng)求的數(shù)據(jù),如果不能,就調(diào)用請(qǐng)求函數(shù)來(lái)進(jìn)行實(shí)際的I/O操作。塊設(shè)備是主要針對(duì)磁盤等慢速設(shè)備設(shè)計(jì)的,以免耗費(fèi)過(guò)多的CPU時(shí)間來(lái)等待。
針對(duì)MPI集群通信的特點(diǎn),通過(guò)分析當(dāng)前網(wǎng)絡(luò)的通信結(jié)構(gòu)和MPI的點(diǎn)到點(diǎn)通信模式,提出了一種基于數(shù)據(jù)鏈路層的集群通信機(jī)制,用以減少協(xié)議開銷和內(nèi)存拷貝次數(shù),從而提高集群節(jié)點(diǎn)間的通信性能,并且通過(guò)實(shí)驗(yàn)驗(yàn)證了該機(jī)制的可行性。
該文以自然界中的盒子魚為原型,設(shè)計(jì)了一款基于自主視覺(jué)的機(jī)器魚,通過(guò)圖像傳感器采集水下圖像信息并進(jìn)行處理和識(shí)別,并根據(jù)識(shí)別結(jié)果做出決策控制自身運(yùn)動(dòng)。系統(tǒng)以S3C2440為核心,在嵌入式Linux環(huán)境下通過(guò)傳感器采集各種有效信息,并控制舵機(jī)實(shí)現(xiàn)自身上升、下潛和轉(zhuǎn)彎等三維運(yùn)動(dòng)。本文設(shè)計(jì)了一種針對(duì)自主魚的水球比賽實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果顯示,該系統(tǒng)具有較高的實(shí)時(shí)性和很好的靈活性。
Clutter是移動(dòng)Linux平臺(tái)中用具有創(chuàng)新性的開源圖形庫(kù),其顯著特點(diǎn)是支持三維圖形和動(dòng)畫GUI,以及使用腳本語(yǔ)言描述圖形用戶界面?;贑lutter的應(yīng)用程序開發(fā),采用Clutter和GTK+的混合方案是很好的選擇。介紹了Clutter的軟件架構(gòu)、動(dòng)畫編程模型,以及集成庫(kù)Clutter-gtk的基本結(jié)構(gòu)、事件處理和應(yīng)用程序開發(fā)實(shí)例。
詳細(xì)分析了linux系統(tǒng)中input輸入子系統(tǒng)的實(shí)現(xiàn)代碼,從input driver層、input core層、event handler層3個(gè)方面介紹了input輸入子系統(tǒng)的實(shí)現(xiàn)框架及接口類型,對(duì)主要數(shù)據(jù)結(jié)構(gòu)struct input dev、struct input handle、struct input handler、struct input event、input register handle和重要函數(shù)input allocate device、input register device、i
提出一種以ARM+DSP等為硬件基礎(chǔ)的嵌入式Linux數(shù)控系統(tǒng)設(shè)計(jì)方案,將數(shù)控系統(tǒng)按實(shí)時(shí)性分為實(shí)時(shí)模塊和非實(shí)時(shí)模塊,采用運(yùn)動(dòng)控制芯片DSP保證實(shí)時(shí)性,ARM-Linux則運(yùn)行實(shí)時(shí)性要求不高但功能復(fù)雜的數(shù)控任務(wù).數(shù)控系統(tǒng)硬件上采用主從式雙CPU結(jié)構(gòu),軟件架構(gòu)包括界面層、實(shí)時(shí)層和非實(shí)時(shí)層.該方案充分利用了Linux的健壯、開源、應(yīng)用廣泛和運(yùn)動(dòng)
依據(jù)多連通域圖像四鄰域跟蹤原理設(shè)計(jì)了嵌入式Linux下的細(xì)胞特征提取算法.本算法解決了嵌入式下圖像處理API封裝不夠完善以及硬件資源欠缺的問(wèn)題.實(shí)驗(yàn)結(jié)果表明,該算法能夠比較準(zhǔn)確地提取細(xì)胞的周長(zhǎng)、面積等特征參數(shù).該算法移植至移動(dòng)嵌入式設(shè)備中解決了傳統(tǒng)PC機(jī)攜帶不便的難題.
物聯(lián)網(wǎng)的興起為智能家居提供了條件。本文提出了一種可行的智能家居的實(shí)現(xiàn)方法,通過(guò)2.4 GHz的無(wú)線射頻收發(fā)芯片nRF24L01完成內(nèi)部家居終端聯(lián)網(wǎng),并與主控平臺(tái)通信。通過(guò)西門子公司的MC39i GSM/GPRS終端無(wú)線模塊實(shí)現(xiàn)與外網(wǎng)通信。整個(gè)主控平臺(tái)由S3C2440作為主控芯片并基于嵌入式Linux操作系統(tǒng)開發(fā),具有友好的可視化圖形界面。
在高性能嵌入式控制系統(tǒng)中,運(yùn)行嵌入式Linux操作系統(tǒng)的主機(jī)ARM和DSP實(shí)現(xiàn)主從控制的設(shè)計(jì)方案具有顯著優(yōu)勢(shì),并獲得廣泛運(yùn)用。而實(shí)現(xiàn)ARM與DSP之間的可靠通信是其關(guān)鍵技術(shù)之一。本文以Samsung公司的ARM9芯片S3C2440和TI公司的DSP芯片TMS320F28015為例,分析了I2C通信接口的原理及特點(diǎn),提出了基于I2C總線的多