Разобрался. Макрос configUSE_TRACE_FACILYTI нужно устанавливать только при трассировке с записью в буфер, при этом надо выделить память под буфер и задать на него указатель.
Другая проблема, в некоторые отладочные макросы, к примеру traceTASK_CREATE(pxTask), передается указатель на структуру блока управления задачей tskTaskControlBlock. Как из этого указателя вытащить данные о задаче (к примеру, имя задачи, приоритет)? Для этого указатель надо привести к типу tskTaskControlBlock, но поскольку определение структуры находиться в с-файле, компилятор не видит его в файле, где я переопределяю трассировочные макросы. Возможные варианты решения: 1. Определить смещение нужных полей от начала структуры 2. Определить свою структуру, с полями идентичными полям структуры tskTaskControlBlock и приводить указатель к указателю на нее.
Оба решения негибки и не очевидны. Наверное, авторы предусмотрели более простое решение. Хотелось бы знать, какое?
P.S. Непонятно, зачем потребовалось размещать определение структуры tskTaskControlBlock в с-файле. Или это такая защита от случайного доступа к полям структуры?
|