C语言:【U-boot 和 kernel】添加【调试log宏】

1、uboot调试宏定义(#include <common.h>)

1、在【include/common.h】中加入如下宏定义,

2、其他c文件头加入:【#include <common.h>】即可使用该宏了。

//lsy log
#define LSY_DEBUG 1
#ifdef LSY_DEBUG
    #define LSY_DEBUG_POSITION(format, ...)                 \
        do {                                                \
            printf("\r\n");                                 \
            printf("↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓\r\n");  \
            printf("[lsy:log]:\r\n");                       \
            printf("    "format"\r\n", ##__VA_ARGS__);      \
            printf("[lsy:position]: \r\n");                 \
            printf("    [line : %d]\r\n", __LINE__);        \
            printf("    [func : %s]\r\n", __func__);        \
            printf("    [file : %s]\r\n", __FILE__);        \
            printf("↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\r\n");  \
            printf("\r\n");                                 \
        } while(0)
    #define LSY_DEBUG_INFO(format, ...) printf("[lsy--->]: "format"\r\n", ##__VA_ARGS__)
#else
    #define LSY_DEBUG_POSITION(format, ...)
    #define LSY_DEBUG_INFO(format, ...)
#endif
//lsy log end

2、Kernel调试宏定义(#include <linux/of.h>)

因为of.h头文件几乎所有内核c文件都会引用,所以直接在of.h文件中添加如下debug宏(和uboot中的宏几乎一样,唯一区别是:printf换成printk)。

路径为:【kernel顶层目录/include/linux/of.h】

//lsy log
#define LSY_DEBUG 1
#ifdef LSY_DEBUG
    #define LSY_DEBUG_POSITION(format, ...)                 \
        do {                                                \
            printk("\r\n");                                 \
            printk("↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓\r\n");  \
            printk("[lsy:log]:\r\n");                       \
            printk("    "format"\r\n", ##__VA_ARGS__);      \
            printk("[lsy:position]: \r\n");                 \
            printk("    [line : %d]\r\n", __LINE__);        \
            printk("    [func : %s]\r\n", __func__);        \
            printk("    [file : %s]\r\n", __FILE__);        \
            printk("↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\r\n");  \
            printk("\r\n");                                 \
        } while(0)
    #define LSY_DEBUG_INFO(format, ...) printk("[lsy--->]: "format"\r\n", ##__VA_ARGS__)
#else
    #define LSY_DEBUG_POSITION(format, ...)
    #define LSY_DEBUG_INFO(format, ...)
#endif
//lsy log end

如果【要打印log的.c文件中】文件中没有include的话,则加入

#include <linux/of.h>

就可以用该宏了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值