原创 Linux異常處理結構、中斷處理結構

LINUX 的異常向量在哪裏:0xffff0000(可通過配置某個寄存器來配置) 1、ARM異常向量表 void __init trap_init(void)   //將0x00000000異常向量 複製到 0xffff0000 處

原创 字符設備驅動程序之定時器防抖動

當按鍵按得比較快的時候,這裏出現了兩次中斷值,也即產生了抖動。 這裏產生了“抖動”,按鍵是機械開關,按下鬆開時裏面的金屬彈片可能抖動了好幾次。這種抖動產生了多次“脈衝”導致多次中斷。 方法: 使用定時器來防抖動。 定時器有兩個概念:

原创 linux驅動編寫之poll機制

linux驅動編寫之poll機制 1. poll情景描述:              以按鍵驅動爲例進行說明,用阻塞的方式打開按鍵驅動文件/dev/buttons,     應用程序使用read()函數來讀取按鍵的鍵值。這樣做的效果是:如

原创 字符設備驅動程序之異步通知

異步通知:      驅動程序的所謂異步通知,指的是應用程序不是主動對驅動程序進行操作,而是驅動程序查詢到有事件發生或者有數據發生變化的時候通知應用程序。角色發生了變化,應用程序由主動改爲被動執行。 比如按鍵驅動: 1、要不斷進行查詢

原创 u-boot學習(一):u-boot概述

 我們知道對於PC機,使用電腦時我們首先按下開機按鍵,然後等待電腦的啓動,開機完成後,我們會進行各種需要的操作,如qq聊天、寫CSDN博客等。其實這個過程是:啓動BIOS程序,由BIOS程序引導Windows操作系統,再由操作系統識別C盤

原创 u-boot學習(三):u-boot源碼分析

前面兩節已經知道,u-boot其實就是一個大的單片機程序,它負責啓動內核,主要包括硬件方面的一些初始化。下面就以u-boot-1.2.0爲例對u-boot源碼進行詳細的分析。 u-boot的啓動分爲兩個階段,第一階段的代碼就是上一節所說的

原创 u-boot學習(二):u-boot簡要分析

(一) 以u-boot-1.1.6爲例分析目錄結構如下: 1、平臺相關的或開發板相關的目錄:board、cpu、lib_i386類似 2、通用函數的目錄:include、lib_generic、common 3、通用的設備驅動程序:dis

原创 linux入門第二天--Linux基本命令(一)

第一組  用戶管理類命令 1.添加用戶 範例:useradd david 2.刪除用戶格式:userdel [選項] [用戶名]範例:userdel –r david 3.修改密碼 格式:passwd [選項] [用戶名]範例: pass

原创 庫函數方式文件編程

1.核心理論 庫函數:基於c函數庫的文件編程是獨立於具體的操作系統平臺的,不管是在windows下還是linux下,都是使用這些函數,使用庫函數進行程序設計可提高程序的可移植性。 流:對於標準的c函數庫,它們的操作都是圍繞流來進行的。流是

原创 系統調用方式文件編程

1.核心理論 文件描述符:         在linux系統中,所有打開的文件對應一個數字,這個數字由系統來分配,我們稱之爲:文件描述符。 2.函數學習 打開文件 函數名:    open 函數原型:int open(const char

原创 linux靜態庫和動態庫

我們通常把一些公用函數製作成函數庫,供其它程序使用。 函數庫分爲靜態庫和動態庫兩種。 靜態庫在程序編譯時會被連接到目標代碼中,程序運行時將不再需要該靜態庫。 動態庫在程序編譯時並不會被連接到目標代碼中,而是在程序運行是才被載入,因此在程序

原创 二、進程管理

                         

原创 一、進程基礎

                         

原创 linux入門第一天

1、目錄結構/:根目錄,根目錄下一般只存放子目錄,不存放文件。/bin: 存放可執行的二進制文件,如常用的命令ls、tar、mv、cat等。/boot:存放linux系統啓動時需要的一些文件。/dev:存放linux系統下的設備文件,訪問

原创 三、進程的系統調用

                            execle()使用