原创 關於unlocked_ioctl。

    爲了把BKL從內核中慢慢去掉,加入了unlocked_ioctl,但是有很多地方都用到ioctl,所以一直保留着,直到b19dd42f的時候,最後移除了所有對ioctl的使用,才把ioctl從file_operations

原创 【轉】ARM9硬件接口學習之一

Watchdog是整個ARM體系結構中相對比較簡單的接口,控制代碼只有幾行,寫起來比較容易。首先選擇學習watchdog,可以快速入門,先對底層硬件工作原理有個初步的認識。(Watchdog即通常我們所說的“看門狗”) Watchdog

原创 關於linux塊設備和字符設備的舉例

字符設備:提供連續的數據流,應用程序可以順序讀取,通常不支持隨機存取。相反此類設備支持按字節/字符來讀寫數據。舉例來說,鍵盤是典型的字符設備。 塊設備:應用程序可以隨機訪問設備數據,程序可自行確定讀取數據的位置。硬盤是典型的塊設備,

原创 Startup.s文件

在Startup.s文件中包含一個startup的入口函數,該函數爲EBOOT的最開始的入口。在系統上電或者冷啓動的時候,這是第一個被執行的函數。該函數都是由彙編語言編寫的,完成基於硬件平臺的最初的初始化,也就是CPU的相關初始化,如果

原创 linux設備驅動中file_operations結…

linux設備驅動中file_operations結構體分析  struct module*owner 第 一個 file_operations 成員根本不是一個操作; 它是一個指向擁有這個結構的模塊的指針.這個成員用來在它的操作還在

原创 ARM指令集小記

Arm七種操作模式: 用戶(usr)、系統(sys)、快中斷(fiq)、中斷(irq)、管理(svc)、中止(abt)、未定義(und) MOV         R1,R0                      ;將寄存器

原创 union

  Union的特點: 1.            union中可以定義多個成員,union的大小由最大的成員的大小決定。 2.            union成員共享同一塊大小的內存,一次只能使用其中的一個成員。 3.  

原创 講講volatile的作用

一個定義爲volatile的變量是說這變量可能會被意想不到地改變,這樣,編譯器就不會去假設這個變量的值了。精確地說就是,優化器在用到這個變量時必須每次都小心地重新讀取這個變量的值,而不是使用保存在寄存器裏的備份。下面是volatile

原创 printk

printk 1概述 對於做嵌入式或者熟悉linux內核的人來說,對printk這個函數一定不會感到陌生。printk相當於printf的孿生姐妹,她們一個運行在用戶態,另一個則在內核態被人們所熟知。 printk是在內核中運行的向控制

原创 【轉】Linux2.6內核驅動與2.4的區…

隨着Linux2.6的發佈,由於2.6內核做了新的改動,各個設備的驅動程序在不同程度上要進行改寫。爲了方便各位Linux愛好者我把自己整理的這分文檔share出來。該文當列舉了2.6內核同以前版本的絕大多數變化,可惜的是由於時間和精力有

原创 網上找的linux內核編譯各種資料

mv /home/zhb/Downloads/ linux-2.6.38.4.tar.bz2 /usr/src tar -xvf linux-2.6.38.4.tar.bz2 ## 使用make install#一步到位或者

原创 (*(volatileunsigned ……

#define  GPIO_CTL_BASE0x56000000                                                 #define rTCFG0  (*(volatileunsigned

原创 【轉】如何在Android中使用OpenCV

原文地址:http://underthehood.blog.51cto.com/2531780/670169,建議直接看原文,我這裏顯示不全。 看了網上的很多教程和官方http://opencv.willowgarage.com/

原创 The connection to adb is down…

啓動android模擬器時.有時會報Theconnection to adb is down, and a severe error hasoccured.的錯誤.在網友說在任務管理器上把所有adb.exe關閉掉.重啓eclipse. 1

原创 驅動編程小記

宏:__KERNEL__, MODULE, __VERSION____KERNEL__:表明這將是用於內核的代碼,否則很多內核過程將無法使用。MODULE:如果是以模塊方式編譯,需要定義這個宏;__VERSION__:定義這個宏則