
介紹了一種精簡的內(nèi)核崩潰信息記錄技術(shù),該技術(shù)保存函數(shù)調(diào)用鏈并有選擇地記錄函數(shù)棧內(nèi)容。記錄下的內(nèi)容可有效地分析定位問題,精簡的記錄存儲可滿足復位后快速重啟的要求。
Boot Loader就是在操作系統(tǒng)內(nèi)核運行之前運行的一段程序。通過這段程序,我們可以初始化硬件設(shè)備、建立內(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)是一種定制設(shè)備,它們對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總線設(shè)備驅(qū)動程序的設(shè)計者在設(shè)計驅(qū)動程序時采用了獨特的體系結(jié)構(gòu)。使開發(fā)I2C總線設(shè)備驅(qū)動程序與開發(fā)一般設(shè)備驅(qū)動程序的方法具有很大差別。因此,開發(fā)I2C總線設(shè)備驅(qū)動程序除了要涉及一般Linux內(nèi)核驅(qū)動程序的知識外。還要對I2C總線驅(qū)動的體系結(jié)構(gòu)有深入的了解。筆者在開發(fā)過程中使用設(shè)備型號為AT24C01A的EEPROM 來測試I2C總線驅(qū)動。
本文以ARM9處理器為平臺,系統(tǒng)地實現(xiàn)了一個識別結(jié)果良好的嵌入式門禁系統(tǒng)。給出了系統(tǒng)設(shè)計的整個算法流程,并重點介紹了圖像分割算法,較前人的研究成果,該系統(tǒng)具有平臺簡單,識別率高,識別快速的優(yōu)點。但該系統(tǒng)對畸變圖像的處理效果并不十分理想,需要在以后的研究中進一步加強。
讓我們來探索一下,Linux 和開源社區(qū)如何為云計算領(lǐng)域做出貢獻。您可能已經(jīng)猜到,Linux 和開放源代碼扮演著極其重要的角色。
本文主要提出了一種可應用于監(jiān)控組態(tài)軟件的實時數(shù)據(jù)庫的實現(xiàn)方法。通過對實時數(shù)據(jù)庫在組態(tài)軟件中的地位與作用的分析,結(jié)合嵌入式Linux在實時多任務方面的特性,設(shè)計并實現(xiàn)了利用多種存儲介質(zhì)構(gòu)造實時數(shù)據(jù)庫存儲結(jié)構(gòu),并給出了描述實時數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)與訪問數(shù)據(jù)庫的通用函數(shù)接口。
哈希表(Hashtable)又稱為“散列”,Hashtable是會根據(jù)索引鍵的哈希程序代碼組織成的索引鍵(Key)和值(Value)配對的集合。Hashtable 對象是由包含集合中元素的哈希桶(Bucket)所組成的。而Bucket是Hashtable內(nèi)元素的虛擬子群組,可以讓大部分集合中的搜尋和獲取工作更容易、更快速。
究竟何謂input設(shè)備,相信市場上賣寵物小狗的大媽都能一口答出來,你能不知道么?對,就是我們傳說中的輸入設(shè)備。說到輸入設(shè)備,相信用過電腦的兄弟都不會陌生了,即按鍵、鼠標、鍵盤、等一系列需要我們用戶“動手”產(chǎn)生信息,然后丟給我們聰明絕頂?shù)膒c來處理的設(shè)備。前面說了,linux內(nèi)核input子系統(tǒng)中已經(jīng)實現(xiàn)了input設(shè)備的接口函數(shù),這使得我們工作量大大的減輕了。我們以akm8973芯片(用于智能手機指南針的主功能芯片,實際上就一電子羅盤)為例,來簡單看一下寫一個input設(shè)備我們需要做的工作。
USB博大精深不是一篇文章就能夠解釋清楚的。想要深入研究USB的話,USB協(xié)議(外加Host和OTG協(xié)議)是必要的知識,另外,國內(nèi)有本也寫的很好很詳細(點擊閱讀原文,21ic嵌入式論壇有下載),唯一美中不足的就是寫得太詳細了反而感覺思路架構(gòu)不是很清晰了。今天我們來簡單地把USB在Linux里的結(jié)構(gòu)框架大致整理下,其中重點解析下USB Core和Hub。
針對嵌入式移動設(shè)備在實時性、可靠性方面的要求,以飛思卡爾半導體公司的MX51為系統(tǒng)硬件平臺,給出了移動手持產(chǎn)品中的重力感應(G?sensor)實現(xiàn)方案。采用ST(意法半導體)公司的LIS33DE芯片采樣重力感應數(shù)據(jù),通過I2C總線傳入系統(tǒng)。運用輸入子系統(tǒng)、查詢、隊列等技術(shù),詳細討論linux2.6.31內(nèi)核下開發(fā)重力感應驅(qū)動程序的方法。該設(shè)計應用于智能手機、平板電腦等產(chǎn)品中,效果良好。
自旋鎖是專為防止多處理器并發(fā)而引入的一種鎖,它在內(nèi)核中大量應用于中斷處理等部分(對于單處理器來說,防止中斷處理中的并發(fā)可簡單采用關(guān)閉中斷的方式,即在標志寄存器中關(guān)閉/打開中斷標志位,不需要自旋鎖)。
鑒于越來越多使用者將Linux移植到晶心平臺(Andes Embedded?)上(AndesCore? N12或N10),本文的目的在協(xié)助使用者快速、有效率的將Linux 移植到自建的FPGA板子上(CPU是AndesCore? 的 N12或N10)。筆者曾協(xié)助多家公司工程師進行Linux移植到晶心平臺的工作,將Linux移植過程容易遭遇的問題與盲點進行實際說明,期望能對使用者有所幫助,也希望讀者不吝指教提供您寶貴的意見。
文中闡述的是家庭監(jiān)護機器人項目中語音識別系統(tǒng)設(shè)計的部分,通過DSP、DMA和ARM Cortex-A8的并行處理,利用雙緩沖的方法,在嵌入式Linux上實現(xiàn)了基于ATK的實時語音識別系統(tǒng)。文中對該系統(tǒng)的軟硬件進行了設(shè)計。在硬件方面,給出語音識別系統(tǒng)的硬件組成原理,并提供了關(guān)鍵部分原理圖;在軟件方面,提出實時語音識別的方法,給出應用程序?qū)崿F(xiàn)
構(gòu)建以FPGA為核心的通信處理模塊,內(nèi)置一個32位處理器,加載uCLinux操作系統(tǒng),驅(qū)動兩個CMOS接口、一個SPI射頻接口、一個以太網(wǎng)接口、一塊液晶顯示器;硬件加速定位、圖像預處理、編碼等算法;開發(fā)良好人機交互接口。
嵌入式系統(tǒng)一般分為兩大類:需要硬實時性能的;和不需要硬實時性能的。過去,我們不得不做出艱難 抉擇,即選擇實時操作系統(tǒng)的性能還是我們鐘愛的 Linux 系統(tǒng)的豐富特性,然后努力彌補不足之處。
系統(tǒng)服務的命令保存在開發(fā)板根文件系統(tǒng)的/usr/etc/rc.local文件中。有的開發(fā)板開機后自動運行圖形界面程序,需要按住ctrl+c讓開發(fā)板進入到linux的SHELL提示符界面。其實可通過注釋掉rc.local文件中調(diào)用圖形界面的命令,增加運行用戶應用程序的命令,達到開機自動運行用戶應用程序的目的。
本系統(tǒng)以AT91ARM9200作為核心芯片,以GoAhead WebServer作為嵌入式Web服務器,針對傳感器網(wǎng)絡的結(jié)構(gòu)、嵌入式Web體系結(jié)構(gòu)、嵌入式數(shù)據(jù)庫模型、嵌入式操作系統(tǒng)模型、嵌入式網(wǎng)關(guān)設(shè)計模型等進行初步的研究與探索,提出一種無線傳感器網(wǎng)絡嵌入式網(wǎng)關(guān)的設(shè)計方案和無線傳感器網(wǎng)絡數(shù)據(jù)管理與查詢模式,研發(fā)了基于Web的傳感器網(wǎng)絡嵌入式網(wǎng)關(guān)系統(tǒng)。