原创 LED Driver 筆記(翻來的)

想了解 linux kernel 2.6.24.3 中 Driver 的實做,所以先從看起來比較簡單的 LED driver 來開始研究。 S3c

原创 typeof在linux中妙用

今天偶然又看到了typeof這個東西,只知道它大概是返回變量的類型,後來上網查了下發現這個關鍵字在linux中用的非常多, 這裏大概敘述了typeof是一個什麼東西,怎麼用,實際上可以用簡單的話來重述。如果你對sizeof很熟悉的話,那

原创 字符編碼筆記:ASCII,Unicode和UTF-8(轉)

今天中午,打印機的中文老打不出來,估計是編碼轉換不對,於是先上網查了兩篇資料,轉載在此: Unicode和UTF-8之間的關係: 1. ASCII碼 我們知道,在計算機內部,所有的信息最終都表示爲一個二進制的字符串。每一個二進制位

原创 u-boot鏈接分析

一個典型的嵌入式系統中,bootloader代碼放在NOR Flash或NAND Flash裏面,系統加電或復位後,首先運行這段代碼。通常把bootloader代碼放在NOR Flash裏面,NAND Flash由於硬件原因不能隨機訪問,

原创 Linux下網絡編程入門

什麼是Socket   Socket接口是TCP/IP網絡的API,Socket接口定義了許多函數或例程,程序員可以用它們來開發TCP/IP網絡上的應用程序。要學Internet上的TCP/IP網絡編程,必須理解Socket接口。  

原创 list_head 內核

list_head 內核 本文詳細分析了 2.6.x 內核中鏈表結構的實現,並通過實例對每個鏈表操作接口進行了詳盡的講解。 一、鏈表數據結構簡介 鏈表是一種常用的組織有序數據的數據結構,它通過指針將一系列數據節點連接成一條數據鏈,是

原创 Linux設備驅動模型——設備

The Basic Device Structure ~~~~~~~~~~~~~~~~~~~~~~~~~~ struct device {     

原创 linux/compiler.h 內核內一些關鍵詞的定義

所有的內核代碼,基本都包含了linux\compile.h這個文件,所以它是基礎,打算先分析這個文件裏的代碼看看,有空再分析分析其它的代碼。 #ifndef __LINUX_COMPILER_H #define __LINUX_COMPI

原创 adr和ldr的區別

其實這兩個都是僞指令:adr是小範圍的地址讀取僞指令,ldr是大範圍的讀取地址僞指令。可實際上adr是將基於PC相對偏移的地址值或基於寄存器相對地址值讀取的爲指令,而ldr用於加載32爲立即數或一個地址到指定的寄存器中。到這兒就會看到其中

原创 linux qt 隱藏鼠標 熱拔插 USB 鼠標 指針

網上搜索“qt 隱藏鼠標”,大概有以下幾種方法,總結一下: 1.編譯Qt庫的時候添加編譯選項QT_NO_CURSOR,這樣cursor相關的代碼統統不會被編譯進去,自然鼠標光標也不會出現在程序中。 這樣是徹底不能使用鼠標了,很不方便調試

原创 Linux內核 container_of 宏和 offsetof 宏分析

1、#define offsetof(TYPE, MEMBER) ((size_t) & ((TYPE *)0)->MEMBER ) 宏功能:獲得一個結構體變量成員在此結構體中的偏移量。 1. ( (TYPE *)0 ) 將零轉型爲TY

原创 Linux platform驅動模型分析

linux platform 驅動模型分析   一。 概述   platform設備和驅動與linux設備模型密切相關。platform在linu

原创 去掉 embedded LINUX 開機光標以及設置 啓動LOGO

一.去除embedded linux 的開機光標:  在內核的當前目錄進入到drivers/video/console/fbcon.c 文件  將static void fb_flashcursor(void *private)

原创 Linux內核鏈表的研究與應用

前言: 在Linux內核中使用了大量的鏈表來組織其數據,其採用了雙向鏈表作爲其基本的數據結構。但是與我們傳統的數據結構中所學的雙向鏈表又有着本質的一些不同(其不包含數據域)。其主要是Linux內核鏈表在設計時給出了一種抽象的定義。 採用這

原创 Linux對I/O端口資源的管理

Linux對I/O端口資源的管理摘要   本文主要從內核實現的角度分析Linux 2.4.0內核IO子系統中對IO端口資源的管理的實現原理。本文是爲那些想要深入分析Linux的IO子系統的讀者和設備驅動程序開發人員而寫的。(2002-10