Compartir a través de


Solución de problemas de las aplicaciones con respuesta en tiempo real

Importante

Esta es la documentación de Azure Sphere (heredado). Azure Sphere (heredado) se retira el 27 de septiembre de 2027 y los usuarios deben migrar a Azure Sphere (integrado) en este momento. Use el selector de versiones situado encima de la TOC para ver la documentación de Azure Sphere (integrado).

Estos son algunos pasos para ayudarle a resolver los problemas que pueden producirse durante el desarrollo de aplicaciones con respuesta en tiempo real (RTApp).

Problemas de depuración

La depuración podría dar error por los siguientes motivos:

  • Windows Update sustituye el controlador USB de los núcleos en tiempo real por un controlador genérico. Para restaurar la funcionalidad de depuración de los núcleos en tiempo real, abra una interfaz de línea de comandos mediante PowerShell o el símbolo del sistema de Windows con privilegios de administrador y vuelva a habilitar la depuración principal en tiempo real. El controlador USB necesario se instala al ejecutar:

    azsphere device enable-development --enable-rt-core-debugging
    
  • El archivo de configuración de depuración contiene errores. En esta situación, el depurador podría no iniciarse. Si ha modificado la configuración del depurador, asegúrese de que la sintaxis del archivo es correcta.

  • Es posible que el depurador en chip ya se haya iniciado en otro contexto. Si ve un error como "Debugger Server: Error: no se pudo enlazar gdb al socket en el puerto 4444: Address already in use" o "Error: libusb_open() failed with LIBUSB_ERROR_ACCESS", compruebe si ya tiene un proceso openocd o gdb en ejecución.

    Si se ejecuta en Linux, el comando sudo lsof -n -i :4444 | grep LISTEN debe mostrar los procesos que contengan el puerto 4444 abierto. Reemplazar por 4444 cualquier otro puerto mencionado en el mensaje de error debe proporcionar la misma información para ese puerto.

  • Es posible que falte el paquete libncurses5 en el sistema Ubuntu 20.04. Si ve un error como "error al cargar bibliotecas compartidas: libncurses.so.5: no se puede abrir el archivo de objeto compartido: no se puede abrir este archivo o directorio", debe instalar el paquete de la siguiente manera:

    sudo add-apt-repository universe
    sudo apt-get install libncurses5
    
  • Si intenta depurar una aplicación de alto nivel y dos RTApps a la vez mediante varias instancias de Visual Studio, la segunda instancia de Visual Studio no podrá conectarse al depurador. Para solucionar este problema, depure todas las aplicaciones de una sola instancia de Visual Studio, como se describe en Depurar aplicaciones de asociados.

Problemas de CMake

Podría encontrarse los siguientes problemas al usar CMake con una aplicación RTApp:

  • La primera vez que abre un proyecto de CMake en Visual Studio, se ejecuta automáticamente la generación de CMakeLists y se establece el identificador de componente de la aplicación. Si elimina entonces el identificador de componente —por ejemplo, porque la aplicación está en un repositorio de GitHub y ha llevado a cabo un restablecimiento completo— se produce un error en la compilación. Para resolver este problema, vuelva a generar la caché de CMake en Visual Studio.
  • El elemento de inicio CMakeLists.txt se vuelve a generar con frecuencia. La tarea CMakeLists se ejecuta cada vez que Visual Studio vuelve a generar la caché de CMake. Como resultado, se puede ejecutar con frecuencia.
  • Visual Studio se bloquea cuando se compila una aplicación RTApp con CMake. Para evitar este problema, utilice la actualización 1 de Visual Studio 2019 o una versión posterior.

Como nota general, si se producen errores cuando trabaja con CMake, intente volver a generar la caché de CMake. A menudo esto resuelve los problemas.