linux 內核調試


一、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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM