Chinaunix首页 | 论坛 | 博客
  • 博客访问: 82552
  • 博文数量: 13
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 100
  • 用 户 组: 普通用户
  • 注册时间: 2014-10-23 11:54
个人简介

让思想和双脚带我去梦的远方

文章分类

全部博文(13)

文章存档

2015年(7)

2014年(6)

我的朋友

分类: 嵌入式

2014-12-03 17:46:36

第一种方法:配置Kconfig
1.配置Kconfig,添加要调试驱动模块的DDEBUG选项,如

kernel_imx\drivers\mxc\pmic\mc13892\Kconfig

config MXC_PMIC_DEBUG
 bool "Support MXC PMIC DEBUG"
 depends on MXC_PMIC
 

2.配置Makefile,添加编译支持驱动模块 EXTRA_CFLAGS  += -DDEBUG ,如

kernel_imx\drivers\mxc\pmic\core\Makefile

ifeq ($(CONFIG_MXC_PMIC_DEBUG),y)
 EXTRA_CFLAGS  += -DDEBUG
endif

 

3.配置内核,使支持动态调试

make menuconfig

  | |        Kernel hacking  --->

  | |    [*] Tracers  --->

  | |          [*]   Trace max stack

  | |    [*] Enable dynamic printk() support

 

  | |        Device Drivers  --->

  | |            MXC support drivers  --->

  | |                MXC PMIC support  ---> 
  | |                       [*] Support MXC PMIC DEBUG

 

4.重烧内核启动后,改变控制台debug消息显示级别,可以打印printk(DEBUG ...)信息
echo > /proc/sys/kernel/printk "8"

第二种方法:直接加tag和宏定义
由pr_debug()的函数定义可以知道,pr_debug()由上层的宏DEBUG控制,一种简单直接的方法是在需要调试的模块的Makefile中加入
ccflags-y := -DDEBUG
直接打开DEBUG调试宏,或者在需要调试的源文件中开头进行预定义
#define DEBUG
最后重烧内核启动后,改变控制台debug消息显示级别,就可以打印debug信息
echo > /proc/sys/kernel/printk "8"

阅读(4056) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~