[LWIP] 如何启LWIP用调试信息输出

主要在两个文件内配置opt.h和lwipopts.h。

第一步 启动调试项

cpp 复制代码
//LWIP调试选项
#define LWIP_DEBUG        LWIP_DBG_ON	 //LWIP_DBG_OFF关闭DEBUG选项 LWIP_DBG_ON

第二步 设置调试等级和类型

opt.h文件中

cpp 复制代码
 * LWIP_DBG_MIN_LEVEL: After masking, the value of the debug is
 * compared against this value. If it is smaller, then debugging
 * messages are written.
 * @see debugging_levels
 */
#if !defined LWIP_DBG_MIN_LEVEL || defined __DOXYGEN__
#define LWIP_DBG_MIN_LEVEL              LWIP_DBG_LEVEL_ALL
#endif

/**
 * LWIP_DBG_TYPES_ON: A mask that can be used to globally enable/disable
 * debug messages of certain types.
 * @see debugging_levels
 */
#if !defined LWIP_DBG_TYPES_ON || defined __DOXYGEN__
#define LWIP_DBG_TYPES_ON               LWIP_DBG_ON
#endif

LWIP_DBG_MIN_LEVEL 调试信息等级

LWIP_DBG_TYPES_ON 调试类型

调试等级LWIP_DBG_MIN_LEVEL有以下可定义

cpp 复制代码
 #define LWIP_DBG_LEVEL_ALL     0x00
/** Debug level: Warnings. bad checksums, dropped packets, ... */
#define LWIP_DBG_LEVEL_WARNING 0x01
/** Debug level: Serious. memory allocation failures, ... */
#define LWIP_DBG_LEVEL_SERIOUS 0x02
/** Debug level: Severe */
#define LWIP_DBG_LEVEL_SEVERE  0x03    

调试类型在 opt.h中定义开启比如将NETIF_DEBUG调试信息开启

cpp 复制代码
#if !defined NETIF_DEBUG || defined __DOXYGEN__
#define NETIF_DEBUG                     LWIP_DBG_ON
#endif      

第三步 定义输出信息函数

实现调试信息输出函数定义,一般是实现printf函数。

cpp 复制代码
#define LWIP_PLATFORM_DIAG(x)         do { printf x; } while(0)  // 需要实现printf

调试建议

在调试等级设置上,建议设置LWIP_DBG_LEVEL_WARNING及以上等级,如果设置ALL可能会有太多的输出信息难以查找问题。

关闭调试

只需将LWIP_DEBUG选项设置为关闭即可

cpp 复制代码
//LWIP调试选项
#define LWIP_DEBUG        LWIP_DBG_OFF  //LWIP_DBG_OFF关闭DEBUG选项 LWIP_DBG_ON
相关推荐
v先v关v住v获v取2 小时前
桌面级五轴机械臂cad1张总图+三维图+设计说明书
科技·单片机·51单片机
电子工程师-C512 小时前
基于51单片机的智能调温淋浴器
单片机·嵌入式硬件·51单片机
番茄灭世神3 小时前
32位ARM单片机视频教程第一篇
arm开发·单片机·嵌入式·gd32·pn学堂
尼喃5 小时前
3.7V锂电池充电芯片精选,PW4054H/PW4057H/PW4056HH/PW4213一站式解决方案
单片机·51单片机·芯片
国科安芯5 小时前
RISC-V 异常中断机制全解析
运维·单片机·嵌入式硬件·安全·risc-v·安全性测试
猪八戒1.05 小时前
STM32F407 systick延迟
stm32·单片机·嵌入式硬件
先知后行。5 小时前
常见元器件3
单片机·嵌入式硬件
GUET_一路向前7 小时前
STM32 MCU OTA 升级办法2
stm32·单片机·嵌入式硬件
brave and determined7 小时前
传感器学习(day15):无人超市:从技术狂欢到理性回归,RFID的发展
单片机·嵌入式硬件·rfid·数字电路·nfc·嵌入式设计·近场通讯