原创 vfork與fork

fork()與vfock()都是創建一個進程,那他們有什麼區別呢?總結有以下三點區別:  1.  fork  ():子進程拷貝父進程的數據段,代碼段      vfork ( ):子進程與父進程共享數據段  2.  fork ()父子進程

原创 kobject與kset

參考:http://blog.chinaunix.net/uid-25695950-id-4475182.html            https://blog.csdn.net/lizuobin2/article/details/51

原创 linux塊設備驅動簡介和實例

1、塊設備是linux3大設備之一。其驅動模型主要針對磁盤,Flash等存儲類設備。 2、塊設備爲什麼要緩存?      針對帶磁頭設備,需讀取扇區,分佈可能隨機。需優化讀取順序,減小磁頭機械運轉次數。      針對不帶磁頭設備,暫時先

原创 網絡驅動與DM9000

網卡驅動在linux系統中的位置: 重要數據結構和函數: /* 網卡設備 */ struct net_device { /* * This is the first field of the "visible" part o

原创 linux內核可變參數分析

typedef char * va_list; /* * Storage alignment properties */ #define _AUPBND (sizeof (acpi_native_int) - 1) //ac

原创 轉義字符

1、C中定義了一些字母前加"\"來表示常見的那些不能顯示的ASCII字符,如\0,\t,\n等,就稱爲轉義字符,因爲後面的字符,都不是它本來的ASCII字符意思了 2、常見的轉移字符表 轉義字符 意義 ASCII碼值(十

原创 C語言中內存分配

3.1 內存管理基本概念 3.1.1 C程序內存分配 1.C程序結構 下面列出C語言可執行程序的基本情況(Linux 2.6環境/GCC4.0)。 [root@localhost Ctest]# ls test -l    

原创 Tiny210v2( S5PV210 ) 平臺下 FIMD 對應 的 framebuffer 驅動中,關於 video buffer 的理解

如之前所說,一直想知道顯示數據都在哪個地方,通常的數據,比如 framebuffer 中的顯示數據,和OpenGL 處理的數據有啥關係。 目前爲止我還沒有弄明白 OpenGL 這塊,但是 framebuffer 這部分差不多了。這篇文章記

原创 ubuntu 14.04 gedit中文亂碼

    在中文支持配置還不完整的Ubuntu 14.04中,使用gedit打開帶有中文字符的文件有時會出現亂碼的情況,這是由於gedit對字符編碼匹配不正確導致的,解決方法如下:     在終端中輸入如下命令,     gsettings

原创 C語言操作符優先級

C語言操作符優先級 優先級 運算符 含    義 要求運算 對象的個數 結合方向 1 () [] -> . 圓括號 下

原创 函數指針

1、函數指針的定義   int (*p)[10 ]表示定義一個數組指針,指針p 指向數組類型int [10]   同理我們可以定義函數指針,指針指向某一函數類型   int *(*fun)(char *p,int *n) 表示定義了一個函

原创 c庫函數——字符串函數

Code: char   stpcpy(char*dest,const char *src)        將字符串src複製到dest char   strcat(char*dest,const char *src)        將字

原创 linux中斷下半部處理

1、軟中斷 註冊軟中斷    如:open_softirq(MY_SOFTIRQ, my_softirq_action) 在中斷處理程序中觸發軟中斷  如:raise_softirq(MY_SOFTIRQ) 2、tasklet 初始化一個

原创 Linux輸入子系統

                                     Linux輸入子系統       Linux 的輸入子系統不僅支持鼠標、鍵盤等常規輸入設備,而且還支持蜂鳴器、觸摸屏等設備。本章將對 Linux 輸入子系統進行詳細

原创 ARM I/O內存

訪問外部設備都是讀寫器寄存器,若寄存器可以當做內存一部分(統一編址)稱爲IO內存,比如ARM,POWERPC等 外設寄存器看成獨立空間的稱爲IO端口,比如x86 操作步驟: 1、申請 2、映射 3、訪問 4、釋放 具體操作操作步驟如下: