Программа Simple ThreadX перестает работать после изменения tx_port.h для демонстрационной программы BSD

Я создаю приложение для микроконтроллера ATSAME70. Я пробую ThreadX с NetXDuo. Я компилирую библиотеки, связанные с ThreadX, отдельно от моего фактического приложения, а затем копирую файлы libs, .c и .h из папки threadX в каталог моего приложения. Я хотел опробовать демонстрационную программу BSD, но после внесения изменений, предложенных в [https://docs.microsoft.com/en-us/azure/rtos/netx-duo/netx-duo-bsd/chapter2](NetX Duo BSD Addon) перестает работать тестовая программа мигания светодиода, которая работала до внесения изменений, перестает работать.

Шаги:

  1. Скомпилируйте ThreadX с FileX и NetXDuo без изменения файла tx_port.h.

  2. Скопируйте библиотеки и соответствующие файлы .c и .h для threadX, fileX и netXDuo в каталог приложения.

  3. Создайте приложение.

  4. Программа мигания светодиода работает.

  5. Скомпилируйте ThreadX с FileX и NetXDuo после изменения файла tx_port.h. Пока не копируйте измененный файл tx_port.h в каталог приложения.

  6. Скопируйте библиотеки для threadX, fileX и netXDuo в каталог приложения.

  7. Создайте приложение.

  8. Программа мигания светодиода по-прежнему работает. На данный момент я не включил связанный с BSD код в основное приложение. Я только что обновил библиотеки threadx.

  9. Скопируйте измененный файл tx_port.h в каталог приложения.

  10. Создайте приложение.

  11. Светодиод мигает, программа перестает работать. Программа застряла в tx_kernel_enter().

Изменение, которое я сделал в tx_port.h, переопределило TX_THREAD_EXTENSION_3:

#define TX_THREAD_EXTENSION_3 int bsd_errno;

Может ли кто-нибудь сказать мне, где я ошибаюсь?

Для компиляции библиотек netxduo с помощью threadx я просто копирую исходные файлы filex и netxduo, полученные из github, в папку threadx и добавляю команды add_subdirectory в CMakeLists в threadx. Для аддона BSD я просто обновляю файл tx_port.h. Нужно ли мне включать файлы nxd_bsd.h и nxd_bsd.c при создании библиотек для threadx и netxduo? В настоящее время я не использую файлы nxd_bsd для создания библиотек. Я использую их только в основном приложении.

0 ответов

Другие вопросы по тегам