原创 關於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__:定義這個宏則