Это выглядит из исходного кода, поскольку это зависит от версии ядра FreeRTOS ...
Я проверил несколько демонстрационных приложений для вашей конкретной версии, например, эта , а также источник кода для tasks.c .И этого должно быть достаточно, чтобы установить те два макроса, которые вы упомянули.Таким образом, фактическая причина ошибки компоновки выглядит не связанной с самой конфигурацией.Проверьте, перекомпилирован ли исходный файл tasks.c после изменения конфигурации (если нет, зависимости в проекте не обрабатываются должным образом).Проверьте также, что эти определения являются действительными " 1 " - цифрой (не " l " (маленькая буква "L") или " I " (заглавная)I (буква), которая может быть легко перепутана с «1» в зависимости от используемого шрифта).
ОБНОВЛЕНИЕ
Поскольку вы используете Eclipse IDE, взгляните наэто официальное руководство по настройке проекта . Здесь вы можете найти демонстрационный проект для Eclipse для вашей версии FreeRTOS, отметьте, в частности, Makefile , я думаю, что в вашем автоматически сгенерированном файле Makefile отсутствуют строки, такие как:
$(RTOS_SOURCE_DIR)/tasks.c \
PS
Для v9.0.0 этого должно быть достаточно для включения конфигурации, как вы это сделали.Но v10.0.0 также есть зависимость от configSUPPORT_DYNAMIC_ALLOCATION : если в FreeRTOSConfig.h проекта определено что-то отличное от значения по умолчанию ("1") - vTaskList будетбыть исключенным.Однако эта зависимость не упоминается ни в заголовочном файле task.h, ни в онлайн-документации .