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