
FS2410開發(fā)板的S3C2410處理器具有117個多功能通用I/O(GPIO)端口管腳,包括GPIO 8個端口組,分別為GPA(23個輸出端口)、GPB(11個輸入/輸出端口)、GPC(16個輸入/輸出端口)、GPD(16個輸入/輸出端口)、GPE(16個輸入/輸出端口)、GPF(8個輸入/輸出端口)、GPH(11個輸入/輸出端口)。
前面所講述的驅(qū)動程序中都沒有涉及中斷處理,而實際上,有很多Linux的驅(qū)動都是通過中斷的方式來進行內(nèi)核和硬件的交互。中斷機制提供了硬件和軟件之間異步傳遞信息的方式。硬件設(shè)備在發(fā)生某個事件時通過中斷通知軟件進行處理。中斷實現(xiàn)了硬件設(shè)備按需獲得處理器關(guān)注的機制,與查詢方式相比可以大大節(jié)省CPU資源的開銷。
LED和蜂鳴器是最簡單的GPIO的應(yīng)用,都不需要任何外部輸入或控制。按鍵同樣使用GPIO接口,但按鍵本身需要外部的輸入,即在驅(qū)動程序中要處理外部中斷。按鍵硬件驅(qū)動原理圖如圖11-7所示。
該實驗是編寫最簡單的字符驅(qū)動程序,這里的設(shè)備也就是一段內(nèi)存,實現(xiàn)簡單的讀寫功能,并列出常用格式的Makefile以及驅(qū)動的加載和卸載腳本。讀者可以熟悉字符設(shè)備驅(qū)動的整個編寫流程。
本章主要介紹了嵌入式Linux設(shè)備驅(qū)動程序的開發(fā)。首先介紹了設(shè)備驅(qū)動程序的概念及Linux對設(shè)備驅(qū)動的處理,這里要明確驅(qū)動程序在Linux中的定位。
目前的桌面機操作系統(tǒng)大多有著美觀、操作方便、功能齊全的GUI(圖形用戶界面),例如KDE或者GNOME。GUI(圖形用戶界面)是指計算機與其使用者之間的對話接口,可以說,GUI是當(dāng)今計算機技術(shù)的重大成就。它的存在為使用者提供了友好便利的界面,并大大地方便了非專業(yè)用戶的使用,使得人們從繁瑣的命令中解脫出來,可以通過窗口、菜單方便地進行操作。
通過編寫一個跳動的“Hello,World”字符串,進一步熟悉嵌入式Qt的開發(fā)過程。
這里要講的線程相關(guān)操作都是用戶空間中的線程的操作。在Linux中,一般pthread線程庫是一套通用的線程庫,是由POSIX提出的,因此具有很好的可移植性。
本章主要講解了嵌入式Linux的圖形編程。首先介紹了幾種常見的嵌入式圖形界面編程機制,并給出了它們之間的關(guān)系。
AND指令將表示的數(shù)值與寄存器的值按位(bitwise)做邏輯與操作,并將結(jié)果保存到目標寄存器中,同時根據(jù)操作的結(jié)果更新CPSR寄存器。
SUB(Subtract)減操作指令,從寄存器中減去表示的數(shù)值,并將結(jié)果保存到目標寄存器中,并根據(jù)指令的執(zhí)行結(jié)果設(shè)置CPSR中相應(yīng)的標志位。
RSB(Reverse Subtract)減操作指令,從寄存器中減去表示的數(shù)值,并將結(jié)果保存到目標寄存器中,并根據(jù)指令的執(zhí)行結(jié)果設(shè)置CPSR中相應(yīng)的標志位。
ADD加操作指令,將寄存器的值加上表示的數(shù)值,并將結(jié)果保存到目標寄存器中,并根據(jù)指令的執(zhí)行結(jié)果設(shè)置CPSR中相應(yīng)的標志位。
ADC加操作指令,將寄存器的值加上表示的數(shù)值,再加上CPSR中的C條件標志位的值,將結(jié)果保存到目標寄存器中,并根據(jù)指令的執(zhí)行結(jié)果設(shè)置CPSR中相應(yīng)的標志位。
嵌入式設(shè)備之所以能與用戶親密接觸,最重要的因素就是它可以提供友好的用戶界面、圖像界面、靈活的控制方式、對專業(yè)知識要求低,甚至不需要嵌入式的知識就能讓人們很快、很容易掌握嵌入式產(chǎn)品的使用方法,因此在嵌入式系統(tǒng)開發(fā)工作中人機交互界面的開發(fā)設(shè)計就顯得尤為重要,值得設(shè)計開發(fā)人員深入了解,認真思考。
嵌入式操作系統(tǒng)(Embedded Operation System,EOS)是指用于嵌入式系統(tǒng)的操作系統(tǒng)。嵌入式系統(tǒng)分為4層,硬件層、驅(qū)動層、操作系統(tǒng)層和應(yīng)用層。嵌入式操作系統(tǒng)是負責(zé)嵌入式系統(tǒng)的全部軟、硬件資源的分配、任
介紹了實時操作系統(tǒng)μC/OS-II的特點和內(nèi)核結(jié)構(gòu),并首次實現(xiàn)μC/OS-II在Motorola嵌入式處理器MCF5272上的移值?! ∽鳛橐粋€實時內(nèi)核,μC/OS從1992年開始為人們熟悉,到現(xiàn)在已經(jīng)發(fā)展為μC/OS-I
本文介紹了以LPC2365為核心處理器、嵌入式實時操作系統(tǒng)μC/OS-II下的多串口通信編程方法。對于固定長度的短字節(jié)幀數(shù)據(jù),通過設(shè)置合適的字節(jié)觸發(fā)深度,一次中斷完成數(shù)據(jù)接收任務(wù);對于變長的長字節(jié)幀
隨著嵌入式式技術(shù)的不斷發(fā)展,ARM處理器憑借其高性能、廉價、耗能低的優(yōu)質(zhì)特性而得到廣泛應(yīng)用。文中主要針對貨車動態(tài)稱重系統(tǒng)中大量實時載重數(shù)據(jù)存取的需求,在ARM9嵌入式處理器和μC/OS-II操作系統(tǒng)基
本文提出了一種擴展Uboot實現(xiàn)嵌入式設(shè)備操作系統(tǒng)維護與升級的方法。該方法將待升級的內(nèi)核和文件系統(tǒng)映像放入SD卡中,當(dāng)系統(tǒng)重啟時,擴展后的Uboot會自動檢測并讀取SD卡中的映像文件,再燒寫到嵌入式設(shè)