原创 LINUX字符設備驅動糾正

以前的字符設備驅動框架 0、確定主設備號 1、構造file_opeartions 2、register_chrdev(主設備號, name,file_opeartions ) 3、入口函數,調用register_chrde

原创 Linux設備驅動中的阻塞和非阻塞I/O

阻塞操作 : 是指在執行設備操作時,若不能獲得資源,則掛起進程直到滿足操作條件後再進行操作。被掛起的進程進入休眠, 被從調度器移走,直到條件滿足。 非阻塞操作 :在不能進行設備操作時,並不掛起,它或者放棄,或者不停地查詢,直到可

原创 Linux設備驅動之USB網卡驅動程序

1、select函數 定義函數 int select(int n,fd_set * readfds,fd_set * writefds,fd_set * exceptfds,struct timeval * timeout); 函

原创 Linux驅動之字符設備的簡單分析

下面的字符設備的筆記是基於Linux-2.6.22.6內核 首先問題:應用層是如何調用到驅動層的呢? VFS架構     用戶空間            用戶程序(進程)                              

原创 Linux ALSA聲卡驅動之二:聲卡的創建

聲明:本博客出處:http://blog.csdn.net/droidphone 1. struct snd_card   1.1. snd_card是什麼 snd_card可以說是整個ALSA音頻驅動最頂層的一個結構,整個聲卡的軟件邏

原创 無線視頻監控Mjpg-streamer輸出分析

通常採用的是http輸出通道,我們隊http通道進行詳細分析 涉及的都是多線程分析      對pthread進行深入剖析,則對整個程序都可以明白透徹      參考文章:      http://blog.csdn.net/ithome

原创 無線視頻監控Mjpg-streamer輸入分析

關於輸入通道,我們着重分析input_uvc input_uvc.c: /*******************************************************************************

原创 Linux設備驅動之異步通知

作用:有按鍵按下,驅動程序提醒應用程序  如何實現??? ①、應用程序:註冊信號處理函數 ②、誰發送信號?    答:驅動 ③、誰接收信號?    答:應用程序,而且應用程序最關鍵的就是要告訴驅動 應用程序的PID ④、怎麼發?    

原创 Linux ALSA聲卡驅動之一:ALSA架構簡介

聲明:本博內容均由http://blog.csdn.net/droidphone原創! 一.  概述     ALSA是Advanced Linux Sound Architecture 的縮寫,目前已經成爲了linux的主流音頻體

原创 Linux內核啓動及文件系統加載過程

上接博文《u-boot之u-boot-2009.11啓動過程分析》 Linux內核啓動及文件系統加載過程 當u-boot開始執行bootcmd命令,就進入Linux內核啓動階段,與u-boot類似,普通Linux內核的啓動過程也可

原创 Android輸入系統之如何進行Dispatche分發

分發主要流程: ①:查找目標:           向WindowManagerService查詢當前Window,獲得對應的Connetion ②:把輸入事件放入Connetion的隊列outboundQueue ③:從隊列中逐個把

原创 LINUX攝像驅動三:從零開始寫虛擬驅動

重大問題1 遇到insmod myvivi.ko不通過 原因是前面的視頻沒有好好看並且操作,現在補回來 測試虛擬攝像頭vivi: 1. 確實ubuntu的內核版本 uname -a Linux book-desktop 2.6.

原创 LINUX系統中斷處理結構及中斷函數的實現

中斷系統流程解析: asm_do_IRQ(unsigned int irq, struct pt_regs *regs)      handle_IRQ(irq, regs); generic_handle_irq(irq);/*Garm

原创 Linux攝像驅動四:USB攝像驅動分析

五、寫一個USB攝像頭驅動程序 大體框架如下所示: 1.構造一個usb_driver 2.設置    probe:         2.1. 分配video_device:video_device_alloc         2.2. 設

原创 Android輸入系統之App跟輸入系統建立聯繫

核心:socketpair -----------------------------------------------------------------------------------------------------