原创 模塊信息聲明

模塊信息聲明 1、許可證申明 MODULE_LICENSE("GPL"); 宏MODULE_LICENSE用來告知內核, 該模塊帶有一個許可證。 有效的許可證有"GPL“,                          "GPL v2

原创 內核模塊消息打印

1,在 < linux/kernel.h> 中定義了8種 記錄級別。       按照,優先級遞減的順序分別是: KERN_EMERG                    “<0>” 用於緊急消息,常常是那些崩潰前的消息。 KER

原创 內核模塊參數例子

//param.c #include <linux/module.h> #include <linux/init.h> MODULE_LICENSE("GPL"); static char *name = "DAIBITAO"; stat

原创 內核模塊操作指令(安裝與卸載)

內核模塊操作指令(安裝與卸載) 1,加載 insmod (insmod hello.ko) 2,卸載 rmmod (rmmod hello) 3,查看 lsmod  4,加載 modprobe (modprobe hello)  

原创 嵌入式linux常用shell指令

嵌入式linux常用shell指令 注:以上是較常用的指令的簡單用法,在此記錄備用,更多指令及詳細用法:http://www.ourlinux.net 1,mkdir 作用:創建文件夾 用法:mkdir foldername     

原创 x86平臺內核配置,編譯和安裝過程(常用操作)

x86平臺內核配置,編譯和安裝過程(常用操作) 1,獲取linux內核源碼 2,清除臨時文件,中間文件和配置文件 指令:make distclean 介紹:刪除所有配置項和配置文件 3,配置內核 指令:make menuc

原创 內核符號導出例子

/proc/kallsyms 記錄了內核中所有導出的符號的名字與地址。 內核符號的導出使用: EXPORT_SYMBOL(符號名) EXPORT_SYMBOL_GPL(符號名) **其中EXPORT_SYMBOL_GPL只能用於包含GP

原创 嵌入式linux內核製作流程

1,清除原有配置與中間文件 x86:  make distclean arm: make distclean 2、配置內核 x86:  make menuconfig arm: make menuconfig ARCH=arm /*nf

原创 linux下vi命令大全

進入vi的命令 vi filename                     :  打開或新建文件,並將光標置於第一行首 vi +n filename               : 打開文件,並將光標置於第

原创 (網絡層)IP 協議首部格式與其配套使用的四個協議(ARP,RARP,ICMP,IGMP)

目錄 IP協議首部格式地址解析協議 ARP逆向地址解析協議 RARP網際控制報文協議 ICMP網際組管理協議IGMP IP 數據報首部 IP數據報首部格式: 最高位在左邊,記爲0 bit;最低位在右邊,記爲31 bit 版本:

原创 UDP協議及包格式

------------------ 總結起來: 1.無連接,不可靠; 2.出錯(通過校驗和檢查)就丟掉此包,丟失不重傳,只是給個警告; 3.包的格式,有源端口和目的端口,校驗和等; 4.端口號,根據應用層服務的不同,可以是默認的端口

原创 linux設備驅動模型

Linux設備模型的目的:爲內核建立一個統一的設備模型,從而又一個對系統結構的一般性抽象描述。換句話說,Linux設備模型提取了設備操作的共同屬性,進行抽象,並將這部分共同的屬性在內核中實現,而爲需要新添加設備或驅動提供一般性的統一接口

原创 ARM MMU工作原理剖析

一、MMU的產生       許多年以前,當人們還在使用DOS或是更古老的操作系統的時候,計算機的內存還非常小,一般都是以K爲單位進行計算,相應的,當時的程序規模也不大,所以內存容量雖然小,但還是可以容納當時的程序。但隨着圖形界面的興

原创 進程上下文和中斷上下文

內核空間和用戶空間是現代操作系統的兩種工作模式,內核模塊運行在內核空間,而用戶態應用程序運行在用戶空間。它們代表不同的級別,而對系統資源具有不同的訪問權限。內核模塊運行在最高級別(內核態),這個級下所有的操作都受系統信任,而應用程序運行

原创 關於ARM9和ARM7中都是PC=當前執行指令地址+8的解釋

  ARM7是三級流水線,AMR7的三級流水線如下: 執行 指令地址=0           取指 PC = 4 解碼 執行 指令地址=4         取指 PC = 8 解碼