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>
就可以用该宏了。