
在Linux操作系統(tǒng)下有三類主要的設備文件類型,一是字符設備,二是塊設備,三是網(wǎng)絡設備。字符設備和塊設備的主要區(qū)別是:在對字符設備發(fā)出讀/寫請求時,實際的硬件I/O一般就緊接著發(fā)生了,塊設備則不然,它利用一塊系統(tǒng)內存作緩沖區(qū),當用戶進程對設備請求能滿足用戶的要求,就返回請求的數(shù)據(jù),如果不能,就調用請求函數(shù)來進行實際的I/O操作。塊設備是主要針對磁盤等慢速設備設計的,以免耗費過多的CPU時間來等待。
針對MPI集群通信的特點,通過分析當前網(wǎng)絡的通信結構和MPI的點到點通信模式,提出了一種基于數(shù)據(jù)鏈路層的集群通信機制,用以減少協(xié)議開銷和內存拷貝次數(shù),從而提高集群節(jié)點間的通信性能,并且通過實驗驗證了該機制的可行性。
該文以自然界中的盒子魚為原型,設計了一款基于自主視覺的機器魚,通過圖像傳感器采集水下圖像信息并進行處理和識別,并根據(jù)識別結果做出決策控制自身運動。系統(tǒng)以S3C2440為核心,在嵌入式Linux環(huán)境下通過傳感器采集各種有效信息,并控制舵機實現(xiàn)自身上升、下潛和轉彎等三維運動。本文設計了一種針對自主魚的水球比賽實驗,實驗結果顯示,該系統(tǒng)具有較高的實時性和很好的靈活性。
Clutter是移動Linux平臺中用具有創(chuàng)新性的開源圖形庫,其顯著特點是支持三維圖形和動畫GUI,以及使用腳本語言描述圖形用戶界面?;贑lutter的應用程序開發(fā),采用Clutter和GTK+的混合方案是很好的選擇。介紹了Clutter的軟件架構、動畫編程模型,以及集成庫Clutter-gtk的基本結構、事件處理和應用程序開發(fā)實例。
詳細分析了linux系統(tǒng)中input輸入子系統(tǒng)的實現(xiàn)代碼,從input driver層、input core層、event handler層3個方面介紹了input輸入子系統(tǒng)的實現(xiàn)框架及接口類型,對主要數(shù)據(jù)結構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等為硬件基礎的嵌入式Linux數(shù)控系統(tǒng)設計方案,將數(shù)控系統(tǒng)按實時性分為實時模塊和非實時模塊,采用運動控制芯片DSP保證實時性,ARM-Linux則運行實時性要求不高但功能復雜的數(shù)控任務.數(shù)控系統(tǒng)硬件上采用主從式雙CPU結構,軟件架構包括界面層、實時層和非實時層.該方案充分利用了Linux的健壯、開源、應用廣泛和運動
依據(jù)多連通域圖像四鄰域跟蹤原理設計了嵌入式Linux下的細胞特征提取算法.本算法解決了嵌入式下圖像處理API封裝不夠完善以及硬件資源欠缺的問題.實驗結果表明,該算法能夠比較準確地提取細胞的周長、面積等特征參數(shù).該算法移植至移動嵌入式設備中解決了傳統(tǒng)PC機攜帶不便的難題.
物聯(lián)網(wǎng)的興起為智能家居提供了條件。本文提出了一種可行的智能家居的實現(xiàn)方法,通過2.4 GHz的無線射頻收發(fā)芯片nRF24L01完成內部家居終端聯(lián)網(wǎng),并與主控平臺通信。通過西門子公司的MC39i GSM/GPRS終端無線模塊實現(xiàn)與外網(wǎng)通信。整個主控平臺由S3C2440作為主控芯片并基于嵌入式Linux操作系統(tǒng)開發(fā),具有友好的可視化圖形界面。
在高性能嵌入式控制系統(tǒng)中,運行嵌入式Linux操作系統(tǒng)的主機ARM和DSP實現(xiàn)主從控制的設計方案具有顯著優(yōu)勢,并獲得廣泛運用。而實現(xiàn)ARM與DSP之間的可靠通信是其關鍵技術之一。本文以Samsung公司的ARM9芯片S3C2440和TI公司的DSP芯片TMS320F28015為例,分析了I2C通信接口的原理及特點,提出了基于I2C總線的多
筆者在從臺式頻譜儀到手持式頻譜儀的項目研發(fā)中實現(xiàn)了RTOS到Linux的應用移植。本文介紹了整體的設計思路和一些關鍵問題的實現(xiàn)細節(jié)。
vi是Linux系統(tǒng)的第一個全屏幕交互式編輯程序,它從誕生至今一直得到廣大用戶的青睞,歷經(jīng)數(shù)十年仍然是人們主要使用的文本編輯工具,足以見其生命力之強,而強大的生命力是其強大的功能帶來的。由于大多數(shù)讀者在此之前都已經(jīng)用慣了Windows平臺上的編輯器,因此,在剛剛接觸時總會或多或少不適應,但只要習慣之后,就能感受到它的方便與快捷。
有了一個初步的了解后,讀者是否想親自試一下?其實安裝Linux是一件很容易的事情,不過在開始安裝之前,還需要了解一下在Linux安裝過程中可能遇到的一些基本知識以及它與Windows的區(qū)別。
Linux中的文件類型與Windows有顯著的區(qū)別,其中最顯著的區(qū)別在于Linux對目錄和設備都當作文件來進行處理,這樣就簡化了對各種不同類型設備的處理,提高了效率。Linux中主要的文件類型分為4種:普通文件、目錄文件、鏈接文件和設備文件。
當用戶在命令行下工作時,不是直接同操作系統(tǒng)內核交互信息的,而是由命令解釋器接受命令,分析后再傳給相關的程序。shell是一種Linux中的命令行解釋程序,就如同command.com是DOS下的命令解釋程序一樣,為用戶提供使用操作系統(tǒng)的接口。它們之間的關系如圖2.1所示。用戶在提示符下輸入的命令都由shell先解釋然后傳給Linux內核。
在了解了Linux的常見命令之后,下面詳細講解Linux的啟動過程。Linux的啟動過程包含了Linux工作原理的精髓,而且在嵌入式開發(fā)過程中非常需要這方面的知識。
init進程的作用是啟動Linux系統(tǒng)服務(也就是運行在后臺的守護進程)。Linux的系統(tǒng)服務包括兩種,第一種是獨立運行的系統(tǒng)服務,它們常駐內存中,自開機后一直運行著(如httpd),具有很快的響應速度;第二種是由xinet設定的服務。
在Linux下安裝一個完整的軟件(嵌入式Linux的必備工具——交叉編譯工具),掌握Linux常見命令,學會設置環(huán)境變量,同時搭建起嵌入式Linux的交叉編譯環(huán)境(關于交叉編譯的具體概念在本書后面會詳細講解),為今后的實驗打下良好的基礎。
C語言最早是由貝爾實驗室的Dennis Ritchie為了UNIX的輔助開發(fā)而編寫的,它是在B語言的基礎上開發(fā)出來的。盡管C語言不是專門針對UNIX操作系統(tǒng)或機器編寫的,但它與UNIX系統(tǒng)的關系十分緊密。由于它的硬件無關性和可移植性,使C語言逐漸成為世界上使用最廣泛的計算機語言。
讀者通過親自動手安裝Linux操作系統(tǒng),對Linux有個初步的認識,并且加深對Linux中的基本概念的理解,熟悉Linux文件系統(tǒng)目錄結構。
GNU CC是GNU項目中符合ANSI C標準的編譯系統(tǒng),能夠編譯用C、C++和Object C等語言編寫的程序。gcc不僅功能強大,而且可以編譯如C、C++、Object C、Java、Fortran、Pascal、Modula-3和Ada等多種語言,而且gcc是一個交叉平臺編譯器。