Бөлісу құралы:


Устранение неполадок с приложениями с поддержкой реального времени

Ниже приведены некоторые действия по устранению неполадок, которые могут возникнуть во время разработки приложений с поддержкой реального времени (RTApp).

Проблемы отладки

Отладка может завершиться ошибкой по следующим причинам:

  • клиентский компонент Центра обновления Windows заменяет USB-драйвер для ядер реального времени универсальным драйвером. Чтобы восстановить функции отладки для ядер реального времени, откройте интерфейс командной строки с помощью PowerShell или командной строки Windows с правами администратора и повторно включите отладку ядра в режиме реального времени. Требуемый USB-драйвер устанавливается при запуске:

    az sphere device enable-development --enable-rt-core-debugging
    
  • Файл параметров отладки содержит ошибки. В этой ситуации отладчик может не запуститься. Если параметры отладчика изменены, убедитесь в правильности синтаксиса файла.

  • Отладчик на микросхеме, возможно, уже запущен в другом контексте. Если отображается сообщение об ошибке "Сервер отладки: Ошибка: не удалось привязать gdb к сокету на порту 4444: адрес уже используется" или "Ошибка: libusb_open() не удалось выполнить с LIBUSB_ERROR_ACCESS", проверка, чтобы узнать, запущен ли у вас уже запущен процесс openocd или gdb.

    Если вы работаете в Linux, команда sudo lsof -n -i :4444 | grep LISTEN должна отображать все процессы, на которых открыт порт 4444. Замена 4444 на любой другой порт, упомянутый в сообщении об ошибке, должна предоставить те же сведения для этого порта.

  • Возможно, в системе Ubuntu 20.04 отсутствует пакет libncurses5. Если появляется сообщение об ошибке, например "ошибка при загрузке общих библиотек: libncurses.so.5: не удается открыть файл общего объекта: нет такого файла или каталога", установите пакет следующим образом:

    sudo add-apt-repository universe
    sudo apt-get install libncurses5
    
  • Если вы попытаетесь выполнить отладку приложения высокого уровня и двух приложений RTApp одновременно с помощью нескольких экземпляров Visual Studio, второй экземпляр Visual Studio не сможет подключиться к отладчику. Чтобы обойти эту проблему, выполните отладку всех приложений из одного экземпляра Visual Studio, как описано в разделе Отладка партнерских приложений.

Проблемы CMake

При использовании CMake с RTApp могут возникнуть следующие проблемы:

  • При первом открытии проекта CMake в Visual Studio создание CMakeLists автоматически запускается и задает идентификатор компонента для приложения. Если затем удалить идентификатор компонента ( например, потому, что приложение находится в репозитории GitHub и вы выполнили жесткий сброс), сборка завершается сбоем. Чтобы устранить эту проблему, повторно создайте кэш CMake в Visual Studio.
  • Элемент запуска CMakeLists.txt часто повторно создается. Задача CMakeLists запускается каждый раз, когда Visual Studio повторно создает кэш CMake. В результате он может выполняться часто.
  • Visual Studio зависает при сборке ПРИЛОЖЕНИЯ RTApp с CMake. Чтобы избежать этой проблемы, используйте Visual Studio 2019 с обновлением 1 или более поздней версии.

Как правило, если при работе с CMake возникают ошибки, попробуйте повторно создать кэш CMake. Это часто устраняет проблемы.