Mi primer programa Qt que ejecuté en una placa de desarrollo de Linux

Resumen: Aprender Linux no es difícil, pero es difícil encontrar el tutorial correcto y nadie te guiará rápidamente. Después de comprar la placa de desarrollo, la puse allí para comer cenizas. No puedo ver el video y no puedo entender el documento. ¡Es demasiado difícil! Este artículo describe los pasos básicos para ejecutar un programa qt en la placa de desarrollo Punctual Atomic Linux de una manera fácil de entender y se esfuerza por permitir que los principiantes ejecuten el primer programa en medio día.

硬件:正点原子 Linux mini开发板
软件:win10,vmware,ubuntu,qtcreator

El efecto de ejecución se muestra en la siguiente figura, que consiste en ejecutar una serialportrutina basada en la interfaz de usuario predeterminada de Punctual Atom.


Permítanme hablar sobre la experiencia del desarrollo integrado de Linux para principiantes. Al aprender STM32, estoy familiarizado con el entorno de desarrollo integrado Keil o IAR, y también puedo usar un registro simple para controlar un pin determinado. Después de comenzar con el desarrollo de Linux, primero me asustaron las docenas de imágenes de instalación de G. Sentí que era muy complicado y difícil compilar Linux. También hay una gran variedad de comandos con cientos de caracteres, lo que es demasiado difícil para nosotros, que estamos acostumbrados al desarrollo gráfico. También hay docenas de horas de videos del vendedor, y los videos se dividen en varios temas: desarrollo de controladores, desarrollo de aplicaciones, desarrollo de Qt, etc.

Todos los videos son largos y difíciles. Originalmente compré un tablero porque quería jugarlo, pero después de ver tantos videos, no quería aprenderlo en un instante. Como resultado, desde la entrada hasta el abandono, el tablero fue puesto allí para comer cenizas. El propósito de este artículo es permitir que todos dejen de lado el video y condensen este video de diez horas en un artículo, ¡permitiéndole experimentar rápidamente la diversión del desarrollo integrado de Linux! Por supuesto, sugiero que el oficial también publique un tutorial rápido para que los desarrolladores experimenten la diversión rápidamente, ¡así que creo que el efecto será mejor!

1. Descargar información

En primer lugar, vaya al foro atómico puntual para descargar la información. Tenga cuidado de no descargar el video. Puede ver el video en cualquier momento y en cualquier lugar en la estación B. ¡Nadie será tan aburrido como para descargar el video!

Puede descargar los datos que desee. La mayoría de los datos son discos de red de Baidu. Si no abre una membresía, será muy lento. Se recomienda comprar una membresía temporal al descargar datos. Después de descargar los datos, continuar con el siguiente paso.

2. Instalar la máquina virtual

La instalación de una máquina virtual se cubre básicamente en la mayoría de los tutoriales en PDF de Punctual Atom, por lo que no es necesario decir más aquí. Si el artículo no está claro, también puede ir a la estación B para ver el video.

Se recomienda que los principiantes lo lean detenidamente, si está mal instalado, no es gran cosa borrarlo e instalarlo de nuevo.

En el paso de instalación de ubuntu, se recomienda encarecidamente descargar directamente la imagen del qtcreator empaquetado por Punctual Atom.Después de instalar la imagen, no es necesario configurarla paso a paso. Para los estudiantes que necesitan ejecutar rápidamente el primer programa de Linux, se puede evitar la trampa de aprender más y más confuso. Saltarse estos tediosos pasos nos permite comprender rápidamente todo el proceso de desarrollo desde una perspectiva global.

¿Qué significa esto? Es decir, su ubuntu recién instalado no tiene ningún entorno o software, debe instalarlo usted mismo, lo cual es más problemático. Pero puede usar el sistema Ubuntu atómico puntual de otras personas en su computadora, él empaquetó este sistema para usted, solo necesita instalar su sistema empaquetado en su máquina virtual, ¿qué le parece? ¿No es sorprendente que también pueda instalar el sistema informático de otra persona en su computadora? ¿Dónde está este sistema?

Descárgalo así

Luego siga las instrucciones aquí para instalar el sistema empaquetado por Punctual Atomic para usted.

Nombre del archivo: [Átomo puntual] I.MX6U Manual de referencia de la máquina virtual V1.3.pdf

3. Configurar el entorno de red

Después de instalar ubutn, es posible que no pueda acceder a Internet. Todos enfrentan este problema de manera diferente. Se recomienda seguir el tutorial de Punctual Atomic para conectar sus ventanas, ubuntu y placas de desarrollo para que sus conexiones de red funcionen normalmente. Puede consultar: [Punctuality Atom] I.MX6U Network Environment TFTP&NFS Construction Manual V1.3.1.pdf

Si no entiende el documento, también hay un video, puede seguir el video paso a paso.

Así que no tienes que preocuparte por la red.

Cuarto, instala qtcreator

Instale también el software qtcreator, puede consultar: [Punctuality Atom] I.MX6U Embedded Qt Development Guide V1.1.pdf

Después de instalar el software qtcreator en ubuntu, puede escribir programas como en Windows y luego ejecutarlos en ubuntu. Pero nuestro propósito es permitir que el software qt se ejecute bajo nuestra placa de desarrollo del brazo, ¿verdad? En este momento, naturalmente pensamos en instalar una herramienta de compilación en ubuntu para compilar el programa en un código que se pueda ejecutar en la placa de desarrollo del brazo. Esto se llama una "cadena de compilación cruzada" . "Cruzar" en un compilador cruzado significa compilar el código de otra arquitectura en una arquitectura, lo que equivale a "cruzar" las dos arquitecturas.

Cinco, instale el compilador cruzado qt

Puede consultar: [Punctual Atom] I.MX6U Factory System Qt Cross Compilation Environment Build V1.6.pdf El contenido del Capítulo 1, instale el compilador cruzado, solo después de instalarlo, puede compilarlo en ubuntu y desarrollarlo en el código del brazo que se ejecuta en el tablero. Este paso debe hacerse. Y sigue su tutorial paso a paso.

5.1 Copia del compilador

Coloque la placa de desarrollo CD A-datos básicos-> 5, herramientas de desarrollo-> 1, compilador cruzado->fsl-imx-x11-glibc-x86_64-meta- toolchain-qt5-cortexa7hf-neon-toolchain-4.1.15-2.1.0.sh

Copie a la máquina virtual de Ubuntu.

El software de copia puede usar MobaXtermsoftware, el uso de este software puede consultar este artículo: El primer artículo de 2022, el artefacto terminal completo MobaXterm

Como se muestra en la figura a continuación, este artículo ha copiado la herramienta de compilación cruzada a la máquina virtual de Ubuntu.

Ejecute el siguiente comando para modificar los permisos del script.Después de modificar los permisos, puede ver que la pantalla de color del script cambia, lo que indica que la modificación se realizó correctamente.

chmod u+x fsl-imx-x11-glibc-x86_64-meta-toolchain-qt5-cortexa7hf-neon-toolchain-4.1.15-2.1.0.sh

Ejecute directamente el script para instalar la herramienta de compilación cruzada, presione la tecla Intro dos veces para confirmar y luego ingrese la contraseña de usuario . El directorio de esta instalación es el directorio de instalación predeterminado especificado por el script, y la subsiguiente compilación cruzada del entorno de compilación del kernel se realiza de acuerdo con este directorio de instalación.

5.2 Configuración de variables de entorno

Sabemos que en Linux, si ejecuta un archivo ejecutable, debe hacer clic con el botón derecho para abrir el terminal en el directorio correspondiente y luego ./instruirlo para ejecutarlo, ¿qué pasa con ejecutar un programa específico en otra carpeta?

Por supuesto, puede usar " variables de entorno ". ¡Así es, las variables de entorno también son necesarias en Linux! Su función es exactamente la misma que debajo de las ventanas. Es equivalente a omitir un directorio muy largo. Antes de que no haya variables de entorno, los comandos que debemos ingresar son:

/aaa/bbb/ccc/ddd/eee/fff/hhh/xxx.sh

Después de que tenemos las variables de entorno, las instrucciones que ingresamos son, y esta es la diferencia. Las variables de entorno le permiten al sistema saber que no importa dónde llame al comando xxx.sh, es un programa en una carpeta específica llamada.

xxx.sh

La forma de configurar la variable de entorno es source /opt......hacer clic derecho en el directorio del proyecto para abrir el terminal y luego ejecutar la variable de entorno.

source /opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi 

A continuación, use el envcomando para ver las variables de entorno.Después de que aparezcan las opciones de configuración de estas palabras, puede hacerlo. Significa que hemos configurado la "Cadena de herramientas de compilación cruzada" que acabamos de instalar en variables de entorno.

Use el arm-poky-linux-gnueabi-gcc -vcomando para verificar la versión de gcc, lo que indica que la variable de entorno ha tenido efecto.

OK, hasta ahora su compilador qt cross está instalado.

5.3 Instalar el entorno de compilación cruzada

Arriba, acaba de instalar el compilador cruzado en ubuntu. Si desea compilar la aplicación Qt y ejecutarla en la placa de desarrollo, debe crear un entorno de compilación cruzada , y el programa compilado con el compilador cruzado de la plataforma ARM puede se desarrollará en el i.MX6U y se ejecutará en la placa.

Lo principal es configurar Kits en la configuración de Qt Creator.Kit kit de traducción, que es el kit del entorno de desarrollo y compilación, puede construir kits para diferentes plataformas y compilar aplicaciones para diferentes plataformas con diferentes kits, lo que también verifica el cruce características de la plataforma de Qt! También puede ejecutar programas qt en su teléfono si tiene instalada la suite de Android.

Documentos de referencia: [Puntuality Atom] I.MX6U Factory System Qt Cross Compilation Environment Build V1.6.pdf Sección 2.3.

Aquí necesitamos escribir el comando para configurar la variable de entorno habilitada en el script, primero abra este script.

sudo vi /opt/Qt5.12.9/Tools/QtCreator/bin/qtcreator.sh

qtcreator.shInserte el siguiente comando en la primera línea, como se muestra en la figura a continuación .

source /opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi

Guarde el archivo de script (ESC: wq). Use el siguiente comando para abrir Qt Creator. El papel de "&" es ejecutarse en segundo plano

/opt/Qt5.12.9/Tools/QtCreator/bin/qtcreator.sh &

5.4 Kits de instalación

Después de instalar el software qtcreater, solo hay un kit predeterminado y luego siga el tutorial para construir los otros dos kits, de los cuales ATK-I.MX6U es el kit que se usa para ejecutarse en la gran plataforma ARM de imx6ull. IMX6U-rsync es un kit para la depuración de red y la descarga de programas a la placa de desarrollo. Después de compilarlo en qtcreater, haga clic para ejecutarlo y su programa se mostrará directamente en la pantalla principal de la placa de desarrollo.

De forma predeterminada en Qt Creator, se utilizan sftp o rsync para enviar programas a la placa. Dado que existe un comando rsync en el sistema de archivos Qt (sistema de archivos V1.9 y posterior) de la factoría atómica puntual I.MX6U, es muy conveniente utilizar este método para la depuración remota de Qt. En primer lugar, debemos confirmar el número de versión del sistema de archivos de fábrica actual y ejecutar los siguientes comandos en el sistema de fábrica.

cat /etc/version

Si el sistema de archivos no es V1.9 o no es compatible con el comando rsync, vaya al disco de red para descargar el último sistema de fábrica y use el último sistema.

Establecer la IP estática de la placa de desarrollo

Dado que el chip de red LAN8720PHY no tiene una dirección MAC, se generará una dirección MAC aleatoria para uso en la red cuando se inicie el sistema. Cada vez que se genera una dirección MAC, la ip obtenida por la red no se fija cada vez que se enciende la red. (El sistema de archivos de la versión v2.3 ha corregido una dirección MAC aleatoria, que no cambiará cada vez que inicie, actualice al sistema de archivos más reciente) Por lo tanto, debemos configurar una IP estática para ello, que no se cambiará debido al cambio de la dirección MAC Arreglada la depuración del método ip. La placa de desarrollo obtendrá automáticamente la ip cuando se inicie. La forma más fácil es configurarle una ip directamente. De esta forma, agregamos los siguientes archivos al archivo /etc/rc.local en el sistema de archivos de fábrica como se muestra en la figura.

vi /etc/rc.local

Agregue el siguiente contenido, configure la dirección IP del segmento de red correspondiente de acuerdo con el enrutador que utiliza. La siguiente figura muestra la dirección IP estática de eth0. ¡Tenga en cuenta que esta IP entra en conflicto con la IP de otros dispositivos!

PATH=/sbin:/bin:/usr/sbin:/usr/bin
ifconfig eth0 192.168.1.115 netmask 255.255.255.0
route add default gw 192.168.1.1
echo "nameserver 114.114.114.114" > /etc/resolv.conf

De esta forma, cada vez que la placa de desarrollo se conecte al cable de red y se encienda, la dirección IP de la placa de desarrollo será 192.168.1.115.

Agréguelo y consulte la sección [Punctuality Atom] I.MX6U Factory System Qt Cross Compilation Environment Building V1.6.pdf 2.5.1 para completar la instalación de los kits de depuración remota Qt en modo rsync.

Sexto, el combate real

Abrimos la rutina que viene con el átomo puntual, aquí un ejemplo de Qt/03/03_serialport. Haga doble clic 03_serialport.pro.

Después de abrir, seleccione el kit IMX6U-rsync

Después de abrir, el software compilará automáticamente, generalmente no hay error, simplemente haga clic en el triángulo verde en la esquina inferior izquierda para compilar y ejecutar.

Luego puede ver una escena mágica en la placa de desarrollo. Su computadora host se ejecuta en la placa de desarrollo, y luego puede conectarse al puerto serie en la placa de desarrollo y jugar felizmente.

Nota : debido a que la placa de desarrollo tiene un escritorio qt de arranque atómico puntual, puede prohibir que lo muestre, consulte lo siguiente:

efecto final:

¿Qué tal? Tal vez no sepa por qué hace esto, pero la forma más rápida de aprender algo nuevo es jugarlo primero, ¡y el aprendizaje inverso puede aumentar su interés en aprender!

Supongo que te gusta

Origin blog.csdn.net/qq_39400113/article/details/125614193
Recomendado
Clasificación