這份筆記基本按時間順序紀錄了我剛接觸Linux到對它有整體認識的學習、調(diào)試過程,出現(xiàn)的問題及心得總結等,也是我平時工作中不可缺少的手冊。
Motorola通信處理器PowerPC在通信業(yè)中使用廣泛,并具有良好的性價比,可以滿足VPN安全網(wǎng)關的設計需要。另外,安全產(chǎn)品涉及一個國家的主權和敏感的安全信息,作為保證安全極為重要的操作系統(tǒng)和加密算法應該完全為自己掌握。因此,采用具有自主知識產(chǎn)權的操作系統(tǒng)和加密算法尤為重要。而Linux操作系統(tǒng)源代碼的開放性及其在網(wǎng)絡產(chǎn)品中的優(yōu)異表現(xiàn),使得我們可以用其構建具有自主知識產(chǎn)權的VPN安全網(wǎng)關。
交叉編譯是嵌入式開發(fā)過程中的一項重要技術,它的主要特征是某機器中執(zhí)行的程序代碼不是在本機編譯生成,而是由另一臺機器編譯生成,一般把前者稱為目標機,后者稱為主機。采用交叉編譯的主要原因在于,多數(shù)嵌入式目標系統(tǒng)不能提供足夠的資源供編譯過程使用,因而只好將編譯工程轉移到高性能的主機中進行。
根文件系統(tǒng)是構建一個嵌入式Linux系統(tǒng)的重要組成部分。本文章采用Cramfs作為嵌入式Linux系統(tǒng)的根文件系統(tǒng),討論了Cramfs文件系統(tǒng)的特點,并詳細地說明了在FS2410開發(fā)板上設計一個Cramfs根文件系統(tǒng)的一般步驟。
近年來的研究以細化時鐘粒度來提高Linux的實時應用能力提出了一些方案和設想,主要有KURT-Linux系統(tǒng)、RT-Linux系統(tǒng)。本文對KURT_Linux、RT-Linux提高時鐘精度的方法進行分析,考慮在強周期性應用或者在某個時段內(nèi)有大量高精度定時器將超時的情況下,采用一種動態(tài)的多模式時鐘機制來提高Linux的時鐘精度,并通過分析測試證明該方案確實可行。
在Linux下通過串口編程對MEMS IMU數(shù)據(jù)采集和解算,實現(xiàn)了其高速實時采集。其中,設計的IIR低通濾波器有效消除了信號中的噪聲成分,并通過Qt編程設計了應用程序窗口將MEMS IMU的輸出數(shù)據(jù)動態(tài)顯示在ARM開發(fā)板上。
本文針對嵌入式系統(tǒng)的特點,以高性價比的32位ARM嵌入式處理器AT91RM9200為硬件核心,搭建了通用工控硬件平臺,在此平臺上移植嵌入式Linux操作系統(tǒng)和圖形界面開發(fā)環(huán)境MiniGUI。以此通用工控平臺為基礎,可以方便地構建工程應用所需的絕大部分自動測控系統(tǒng)。
GPS信息的采集是導航定位系統(tǒng)的重要組成部分。分析了GPS普遍采用的NMEA-0183通信協(xié)議,然后介紹了目標平臺及交叉編譯環(huán)境的建立。在此基礎上實現(xiàn)了嵌入式ARM-Linux平臺下GPS的數(shù)據(jù)采集與處理,為導航定位系統(tǒng)或者GIS系統(tǒng)的應用奠定了基礎。
介紹了ARM-μCLinux嵌入式系統(tǒng)的結構組成,重點分析了ARM-μCLinux嵌入式系統(tǒng)啟動引導的過程和實現(xiàn)該系統(tǒng)啟動引導的技術難點,提出了一種有效的啟動引導方案。
系統(tǒng):arm板/Linux系統(tǒng)內(nèi)核:2.6.7設備:/dev/mixer功能:linux系統(tǒng)聲音效果調(diào)節(jié)文件名:xxx.c編譯:gcc xxx.c -o mixerSet終端執(zhí)行:./mixerSet [leftvalue] [rightvalue]測試:無問題#include #inclu
德國康佳特科技,宣布與開源自動化開發(fā)實驗室(OSADL, Open Source Automation Development Lab) 合作優(yōu)化對實時Linux的板級支持,并且該板已在OSADL測試機架中展示。
本文結合內(nèi)存管理項目深入研究了Linux在系統(tǒng)引導過程中的保護模式下的工作,對于實現(xiàn)內(nèi)存管理有重要意義。著重論述重置描述符表、檢測A20地址線、檢測數(shù)學協(xié)處理器以及分頁處理等機制。
中斷響應時間是影響中斷實時性的主要因素。中斷響應定義為從中斷發(fā)生到開始執(zhí)行用戶的中斷服務代碼來處理這個中斷的時間[1>,其中包括中斷延遲時間和保護中斷現(xiàn)場的時間。所有實時系統(tǒng)在進入臨界區(qū)代碼段之前都要關中斷,執(zhí)行完臨界代碼之后再開中斷。
現(xiàn)有的雷達終端系統(tǒng)采用了大量的高速專用芯片實現(xiàn)。而芯片的更新?lián)Q代很快,許多芯片已面臨淘汰,即使還沒有完全消失,價格也已經(jīng)很昂貴,給系統(tǒng)的維護和升級換代帶來極大不便。隨著計算機、軟件和網(wǎng)絡技術的不斷發(fā)
介紹了一種精簡的內(nèi)核崩潰信息記錄技術,該技術保存函數(shù)調(diào)用鏈并有選擇地記錄函數(shù)棧內(nèi)容。記錄下的內(nèi)容可有效地分析定位問題,精簡的記錄存儲可滿足復位后快速重啟的要求。
Boot Loader就是在操作系統(tǒng)內(nèi)核運行之前運行的一段程序。通過這段程序,我們可以初始化硬件設備、建立內(nèi)存空間的映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個合適的狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準備好正確的環(huán)境。因此,正確建立uClinux的移植的前提條件是具備一個與uClinux配套、易于使用的Bootloader。
未來幾年,嵌入式Linux GUI將朝以下方向發(fā)展:第一,輕型、占用資源少,不希望建立在龐大累贅的、非常消耗系統(tǒng)資源的操作系統(tǒng)和GUI之上。第二,高性能、高可靠性,特別是工業(yè)實時控制系統(tǒng),對實時性的要求非常高,并且比起嵌入式系統(tǒng)來說,對GUI的要求也更高。第三,可配置,我們必須清楚的意識到,嵌入式系統(tǒng)是一種定制設備,它們對GUI的需求各不相同,有的系統(tǒng)只要求一些圖形功能,而有些系統(tǒng)要求完備的GUI支持,因此,GUI也必須是可定制的。
工作隊列(workqueue)的Linux內(nèi)核中的定義的用來處理不是很緊急事件的回調(diào)方式處理方法.以下代碼的linux內(nèi)核版本為2.6.19.2, 源代碼文件主要為kernel/workqueue.c.
GUI已經(jīng)成為了人與機器溝通的橋梁,嵌入式系統(tǒng)對GUI的需求越來越高,而這一切均要求有一個輕型、占用資源少、高性能、高可靠、可配置及美觀的GUI支持。
由于I2C總線的特性,Linux的I2C總線設備驅動程序的設計者在設計驅動程序時采用了獨特的體系結構。使開發(fā)I2C總線設備驅動程序與開發(fā)一般設備驅動程序的方法具有很大差別。因此,開發(fā)I2C總線設備驅動程序除了要涉及一般Linux內(nèi)核驅動程序的知識外。還要對I2C總線驅動的體系結構有深入的了解。筆者在開發(fā)過程中使用設備型號為AT24C01A的EEPROM 來測試I2C總線驅動。