ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
23 ноября
1236857
Dingo (05.09.2022 12:23, просмотров: 3078)
Отладочный вывод в LwIP - как расшевелить? Больше дня потерял. 

Хочу для модуля UDP вывод, а "фигвам". В юзерском lwipopts.h прописал

#define LWIP_DEBUG 1

#define UDP_DEBUG LWIP_DBG_ON


Вывод теряется в debig.h

#ifdef LWIP_DEBUG

/** print debug message only if debug message type is enabled...

* AND is of correct type AND is at least LWIP_DBG_LEVEL

*/

#define LWIP_DEBUGF(debug, message) do { \

if ( \

((debug) & LWIP_DBG_ON) && \

((debug) & LWIP_DBG_TYPES_ON) && \

((s16_t)((debug) & LWIP_DBG_MASK_LEVEL) >= LWIP_DBG_MIN_LEVEL)) { \

LWIP_PLATFORM_DIAG(message); \

if ((debug) & LWIP_DBG_HALT) { \

while(1); \

} \

} \

} while(0)

#else /* LWIP_DEBUG */

#define LWIP_DEBUGF(debug, message)

#endif /* LWIP_DEBUG */


Если заполняю "заглушечную" реализацию LWIP_DEBUGF(debug, message) - то начинает вывод в консоль. По всем модулям. Ковырял зависимости #includes, очень много кольцевых.


udp.c

..#include "lwip/opt.h"

....#include "lwipopts.h" /* Пользовательский */

......#include "lwipopts.h" /* Сам на себя ссылается! */

......#include "lwip/debug.h"

........#include "lwip/arch.h"

..........#include "arch/cc.h" /* Пользовательский */

........#include "lwip/opt.h" /* Ещё на круг пошли?! */

....#include "lwip/debug.h"

..#if LWIP_UDP /* don't build if not configured for use in lwipopts.h */

..#include "lwip/udp.h"

....#include "lwip/opt.h" /* Третий круг?! */

..#include "lwip/def.h"

..// .....

..#endif /* LWIP_UDP */


Что я не так делаю? Где точно есть информация, как надо?

PS: Зачем этот цирк с конями? Потому что по UDP пакеты отправляю, а принять не могу, udp_bind() , udp_recv() выполнены.