linux内核日志在,在启动我的linux内核时,从内核日志中的警告中识别代码

狠抓以下行的内核日志:

WARNING: at drivers/gpio/gpiolib.c:1423 0xa02147ab()

这意味着该打印从文件drivers/gpio/gpiolib.c

WARN_ON()的行号1423触发在Linux Kernel中从drivers/gpio/gpiolib.c:1423触发的。

int __gpio_get_value(unsigned gpio)

{

struct gpio_chip *chip;

chip = gpio_to_chip(gpio);

WARN_ON(extra_checks && chip->can_sleep);

return chip->get ? chip->get(chip, gpio - chip->base) : 0;

}

注:上面的代码是(上拱v2.6.33 = 86)。在继续上述分析之前,请确认您确实在x86硬件上运行Linux Kernel v2.6.33。行号随内核版本而变化。在不同的内核版本的同一行上,您可能会偶然碰到另一个函数中的WARN_ON()。

更新:

因为这个问题而与RTC-DS3232外围设备(这是工作,不然罚款)通信造成我们可以禁用警告。

执行此操作的一种方法是在Linux内核版本配置中禁用CONFIG_DEBUG。这又会禁用gpio驱动程序中的extra_checks。

或者一个可以在extra_checks定义如下

/* When debugging, extend minimal trust to callers and platform code.

* Also emit diagnostic messages that may help initial bringup, when

* board setup or driver bugs are most common.

*

* Otherwise, minimize overhead in what may be bitbanging codepaths.

*/

#ifdef DEBUG

#define extra_checks 1

#else

#define extra_checks 0

#endif

/* override extra_checks irrespective of debug-mode */

#define extra_checks 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值