Cómo compilar el código fuente de pixhawk px4 en el entorno ubuntu
Categoría: UAV compilación de código ubuntu Pixhawk
(3946) (6)
Firmware nativo Pixhawk en Ubuntu La compilación El problema de PX4 me ha estado molestando durante dos días. Puede deberse a la falta de capacidad intelectual del blogger, principalmente porque el entorno no se puede configurar. La razón principal fue que no se pudo configurar el entorno. La razón principal debería ser la ruta. Finalmente, con la ayuda del maestro, tuve la suerte de construir la ruta y compilarla con éxito.
El siguiente es el proceso de establecimiento del entorno.
1. Entorno operativo
Cada vez que escribo un artículo, se debe presentar el entorno. Diferentes entornos siempre tendrán diferentes problemas.
Mi entorno es Instalar un. máquina virtual en Windows y ejecute Ubuntu
Windows: win10 de 64 bits
Máquina virtual: VMware Workstation 12 Pro 12.1.0 build-3272444
Ubuntu :Ubuntu15 .10
2. Entorno de compilación
(1) Configuración de permisos
Consejos oficiales:
Advertencia: nunca utilices" sudo "Reparar permiso asuntos. Esto creará más problemas de permisos durante el proceso de reparación y requerirá una reinstalación del sistema para resolverlos.
Lo que significa que tendrás problemas de permisos, nunca uses sudo para solucionarlos, eso causará más problemas, pero no lo escuché, no lo usé y finalmente me di cuenta de esto p>
Instrucciones oficiales
[plain] ver copia simple
Luego cierre sesión y vuelva a iniciar sesión para que surta efecto
(2) Instalación p >
Actualice la lista de paquetes e instale las siguientes dependencias para compilar PX4. Series soportadas principalmente por PX4:
Hardware basado en NuttX: Pixhawk, Pixfalcon
Hardware de vuelo Snapdragon: Snapdragon
Hardware Raspberry Pi: Raspberry Pi 2
p>Emulación de host: jMAVSim SITL y Gazebo SITL
Nota: La instalación de Ninja Build System hará que su compilación sea más rápida que make. Si lo instala, será seleccionado automáticamente para compilar con él.
[Normal] Ver la copia normal
Desinstalar el administrador de modo
[Normal] Ver la copia normal
Actualizar la lista de paquetes e instalarlo Las siguientes dependencias. Asegúrese de instalar la versión especificada del paquete de software
[plain] ver copia simple
El código en la parte roja de arriba debe estar muy atento. Compílelo con gcc. -arm-none-eabi versión de PX4/Error de firmware, ahora apt-get instaló gcc-arm-none-eabi básicamente su versión es 4.9 pero este firmware requiere gcc-arm-none-eabi versión 4.8de, así que después de la instalación final verifique su Versión gcc-arm-none-eabi, si es 4.9, debe instalar manualmente la versión 4.8. El método para instalar gcc-arm-none-eabi versión 4.8 es el siguiente:
[plain]Ver. copia simple
Advertencia: La ruta roja anterior debe agregarse correctamente; de lo contrario, se producirán muchos problemas. La ingresé incorrectamente la primera vez, lo que provocó que la computadora no pudiera iniciarse y tuviera que ingresar la contraseña repetidamente. .
El blogger instaló un sistema Ubuntu de 64 bits y el arm-none-eabi anterior es una versión de 32 bits que se descarga y compila directamente. También necesita instalar una cosa más
[plain] Ver. la copia simple
Puede verificar si arm-none-eabi 4.4 se instaló correctamente; ingrese el siguiente comando:
[plain] ver copia simple
Si aparece el mensaje anterior, significa que el entorno de compilación cruzada se ha creado correctamente
(3) Compilación de código
Según el tutorial del sitio web oficial PX4 Chinese Wiki.
Instalar Git
[Normal] Ver copia normal
Descargar código
[Normal] Ver copia normal
Inicialización
Primero ingrese a la carpeta del firmware, luego inicialice y actualice los submódulos, ¡espere pacientemente! ......
[plain] ver copia simple
Permisos
Encontrarás problemas de permisos al compilar, ejecuta el comando
[plain] ver copia simple
-R es para los permisos de los subarchivos contenidos en el archivo, * es para los permisos de todos los subarchivos contenidos en el archivo, * es para todos subarchivos contenidos en el archivo Problemas de permisos de subarchivos, * son para todos los subarchivos contenidos en el archivo. R representa los permisos de los subarchivos contenidos en el archivo, * representa los permisos de todos los archivos
Compilar
[Puro] Ver copia pura
Tenga en cuenta que "make" es el compilador de comandos de caracteres, "px4fmu-v2" es la versión de hardware, "px4fmu-v2" es la versión de hardware, "px4fmu-v2" es la versión de hardware. " es la versión de hardware, "predeterminada " es la configuración predeterminada y todos los objetivos de compilación PX4 siguen la configuración predeterminada.
Finalmente, se adjunta un fragmento de código que se compila correctamente. Si aún tiene problemas con esto , por favor déjeme un mensaje.
[plain] ver copia simple
-- nuttx-px4fmu-v2-default
-- El indicador del compilador ASM es GNU
-- Ensamblador encontrado: /opt/ gcc-arm-none-eabi-4_8-2014q3/bin/arm-none-eabi-gcc
-- PythonInterp encontrado: /usr /bin/python (versión encontrada "2.7.10")
-- Usando C++03
-- Tipo de compilación de lanzamiento: RelWithDebInfo
-- Agregue el controlador de plataforma UAVCAN STM32
--Configuración completada
--Generación completa
--Se ha escrito el archivo compilado:
# +@Tools/check_ submodules.sh
PX4 CONFIG:
Escanear las dependencias del git_mavlink de destino
Escanear las dependencias del git_uavcan de destino
Escanee las dependencias del git_gencpp de destino Dependencias
Escanee las dependencias del git_genmsg de destino
[ 0%] Genere git_init_mavlink_include_mavlink_v1.
0.stamp
[ 0%] Generar git_init_src_modules_uavcan_libuavcan.stamp
[ 0%] Generar git_init_ Tools_genmsg.stamp
[ 0%] Generar git_init_Tools_gencpp. p>
[ 0%] Se ha creado el objetivo git_uavcan
[ 0%] Se ha creado el objetivo git_ mavlink
[ 0%] Se ha creado el objetivo git_genmsg
[ 0%] Objetivo git_gencpp construido