/*模組載入是向核心傳遞引數 如果不傳遞就用預設的引數*/
/*使用者向核心傳遞引數的方法 eg insmod param.ko name="wenhui" age=20*/
/*核心除錯資訊的使用*/
#undef pdebug /*取消對pdebug的定義 以防重複定義*/
#ifdef ***_debug
#define pdebug(fmt) printk("<0>***:%d\n",fmt)
#else
#define pdebug(fmt) /*除錯被關閉不做任何事情*/
#endif
#include#includemodule_license("gpl");
static char *name = "wenhui";
static int age = 30;
module_param(age, int, s_irugo); // s_irugo 引數讀寫許可權
module_param(name, charp, s_irugo); //
static int __init hello_init(void)
static void __exit hello_exit(void)
module_init(hello_init);
module_exit(hello_exit);
kerdir = /home/linux-2.6.32.2
obj-m += debug_example.o
build: kernel_modules
kernel_modules:
make -c $(kerdir) m=$(curdir) modules
clean:
make -c $(kerdir) m=$(curdir) clean
#comment/ucomment the following line to disable/enable debugging
debug = n
#add your debugging flag(or not) to cflags
ifeq ($(debug),y)
debflags = -o -g -d***_debug # "-o"is needed to expand inlines
else
debflags = -o2
endif
#cflags += $(debflags)
extra_cflags += $(debflags)
驅動的快速除錯方法
之前使用動態載入驅動 用驅動除錯助手匯入登錄檔 啟用驅動 若想更改platform.bib platform.reg後驅動隨系統啟動而載入,登錄檔的更改可採用在platform.reg中 include targetplatroot src drivers reg 的方式,這樣便於理解和後續的維護。...
Windbg除錯核心驅動方法
一般說來,調速驅動程式分為兩種 1.存在pdb檔案的除錯 這裡的pdb檔案其實就是除錯符號檔案,假如我們除錯的這樣的檔案,我們可以再windbg中使用 bp 驅動名 driverentry,這個時候當載入驅動的時候,程式就會斷在入口了。2.沒有pdb檔案的除錯 在除錯別人的驅動程式時,也就是自己只有...
wince驅動快速編譯除錯的方法
這段時間在學習 wince 驅動開發,但是每次 wince 編譯都要很久,浪費很多時間。經過網上搜尋和自己摸索,發現了兩個不錯的方法。編譯驅動更新程式都是非常的快。1.單獨編譯驅動,然後再 build os 選單下,選擇 make run time image 這個僅僅需要 1分鐘左右時間 單獨編譯...