Устранение неполадок с приложениями с поддержкой реального времени
Ниже приведены некоторые действия по устранению неполадок, которые могут возникнуть во время разработки приложений с поддержкой реального времени (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. Это часто устраняет проблемы.