一、linux MMC驅動pr_debug開啟方法
linux的的mmc驅動在kerner/drivers/mmc 中,mmc驅動源碼中有pr_debug打印信息,這個打印信息默認是不打印的,如果要打印則需要手動開啟。pr_debug函數定義在kernel/include/linux/printk.h文件中如下所示:
pr_debug定義了三種情況,分別是dynamic_pr_debug動態打印,pringk打印和no_prink不打印。只要打開對應的宏,就能實現其中一種打印。默認情況下是不打印。下面說明如何在mmc驅動中開啟pr_debug用pringk方式打印。要想讓pr_debug用pringk方式打印,只要定義DEBUG即可。
1、配置內核,開啟mmc debug功能:
-->Device Drives
-->MMC/SD/SDIO Card Surpport
-->MMC host drivers debuging (選擇y)
2、在kernel/drivers/mmc/core/Makefile和kernel/drivers/mmc/host/Makefile中分別添加以下內容:
ifeq ($(CONFIG_MMC_DEBUG),y) EXTRA_CFLAGS += -DDEBUG endif
這樣就能用第一步配置內核方式打開或關閉mmc的debug信息
3、重新編譯內核
4、由於pr_debug的printk方式的打印等級是KERN_DEBUG(8),所以需要修改系統的prink顯示等級
echo 8 4 1 7 > /proc/sys/kernel/printk