Computadora de placa única para programador integrado

Este tutorial será útil para los programadores que han cambiado de avr o stm32 a computadoras de placa única que ejecutan Ubuntu. Depende de usted decidir qué distribución de Linux usar, pero Ubuntu es la distribución más amigable.





Introducción

Entonces, ayer programó en un microcontrolador UART, GPIO y nada presagiaba problemas, pero el cliente también quería una pantalla de 20 "con una pantalla táctil ... Y ahora está considerando opciones para computadoras de placa única (SBC). Hay muchas Compartiré mi amarga experiencia Estaba buscando una opción más económica y mi elección fue Orange Pi.





Primero, el modelo PC PLUS. Para ello existe un ensamblaje de Armbian con un SO nuevo, a diferencia de la página web del fabricante, donde se te ofrecerá Ubuntu 16. Pero mala suerte, con Armbian OrangePi PC PLUS no se apaga. El sistema de escritura OrangePi PC PLUS se detuvo al final, porque el coprocesador AR100 con códigos fuente cerrados, que no estaban incluidos en Armbian, es responsable de apagar . Puede obtener la imagen de Ubuntu en el sitio web del fabricante. Hay varias imágenes, probé todo, solo una apaga la placa única. ¿Cuál es la actitud de xunlong hacia el usuario, que publica firmware, donde su creación no se puede apagar? También en PC PLUS hubo dificultades insuperables con la conexión de pantalla 4: 3.





A continuación, probé OrangePi 4G. Por supuesto, quiero tener control sobre el sistema, por lo que Android no es adecuado para mí. Sin embargo, desde Ubuntu en OrangePi 4G, nada funciona excepto la CPU. Sin controladores ... Todo funciona para Android excepto HDMI, xunlong logró hacer HDMI, que es incompatible con la mayoría de los monitores (es imposible saber de antemano si su monitor será compatible con OrangePi 4g).





OrangePi 4B. , Orange Pi 4. SBC 4B ( pcb v1.4). Armbian SBC . , Ubuntu 18 ( xunlong). Ubuntu 18 CONFIG-ERROR) dhd_conf_set_intiovar : txbf setting failed -23 ...





SBC. GPU MALI, . MALI, - DRI2: failed to authenticate .





SBC STM32MP157C-DK2 , MALI, .





OrangePi 4B. Ubuntu 18 Ubuntu 20.04 . RK3399 ?





. :





  • gcc -





  • g++ - ++





  • gcc --version g++ --version





  • g++ - , g++-9 g++-10, , g++





gcc g++ , :





sudo ln -s g++-10 /usr/bin/g++







g++ 10 . gcc . Linux: , /usr/bin, . , , . ls.





, SBC - ++. , SBC. , Qt. Qt - , , , : GUI, com port, ethernet, 3D, , xml ...





Ubuntu . - , , . Ubuntu , , Ubuntu .





, Qt . SBC SBC. , , , OrangePi 4B.





Qt - . , Qt , . IDE Qt Creator Qt , x86_64 ( AArch64) Qt . , Qt , . , Qt , qmake qmake .





Qt

Qt 5.15 . . , GUI, com port, . C++20, . , ( std) .





Ubuntu out-of-source build. ! , ext4, . , QtFromGit, . build ( ) build_artifacts , qmake, . QtFromGit Qt:





git clone git://code.qt.io/qt/qt5 qt5 && cd qt5 && git checkout 5.15 && cd qt5





perl init-repository --module-subset=default,qtcharts,qtserialport,-qtactiveqt,-qtcanvas3d,-qtdocgallery,-qtfeedback,-qtserialbus,-qtconnectivity,-qtdeclarative,-qtquickcontrols2,-qtsvg,-qtquickcontrols,-qtwebengine,-qtwayland,-qtandroidextras,-qtdoc,-qtgraphicaleffects,-qtqa,-qttranslations,-qtvirtualkeyboard,-qtquicktimeline,-qtquick3d,-qtrepotools,-qttools,-qtshadertools,-qtimageformats,-qtnetworkauth,-qtwebsockets,-qt5compat,-qt3d,-qtsensors,-qtquicktimeline,-qtmultimedia,-qtdatavis3d,-qtscript,-qtgamepad,-qtlottie,-qtmacextras,-qtremoteobjects,-qtlocation,-qtspeech,-qtwebchannel,-qtwebglplugin,-qtwebview,-qtwinextras,-qtpurchasing,-testsuites,-qtxmlpatterns





. X11:





cd ../build && ../qt5/configure -release -static -opensource -make libs -nomake examples -nomake tests -confirm-license -no-pch -no-xcb -no-xcb-xlib -no-gtk -skip webengine -skip qtwayland -skip qtdoc -skip qtgraphicaleffects -skip qtqa -skip qttranslations -skip qtvirtualkeyboard -skip qtquicktimeline -skip qtquick3d -skip qt3d -skip qtrepotools -skip qttools -skip qtimageformats -skip qtnetworkauth -skip qtwebsockets -skip qtactiveqt -skip qtmacextras -skip winextras -skip qtmultimedia -skip qtgamepad -skip qtserialbus -skip qtspeech -skip qtsensors -skip qtcharts -skip qtlocation -opengl es2 -qpa eglfs -no-ssl -c++std c++2a -prefix ../build_artifacts





. :





export QT_QPA_EGLFS_INTEGRATION=eglfs_kms





export QT_DEBUG_PLUGINS=1





cd ../build && ../qt5/configure -release -static -opensource -make libs -nomake examples -nomake tests -confirm-license -no-pch -no-xcb -no-xcb-xlib -no-gtk -skip webengine -skip qtwayland -skip qtdoc -skip qtgraphicaleffects -skip qtqa -skip qttranslations -skip qtvirtualkeyboard -skip qtquicktimeline -skip qtquick3d -skip qt3d -skip qtrepotools -skip qttools -skip qtimageformats -skip qtnetworkauth -skip qtwebsockets -skip qtactiveqt -skip qtmacextras -skip winextras -skip qtmultimedia -skip qtgamepad -skip qtserialbus -skip qtspeech -skip qtsensors -skip qtcharts -skip qtlocation -kms -opengl es2 -qpa eglfs -no-ssl -c++std c++2a -prefix ../build_artifacts









make -j8





make install





! htop. !





Qt qmake , qmake.





sudo ln -s /QtFromGit/buildartifacts/bin/qmake /usr/bin//qmake





qtcharts. QtFromGit build_qtcharts. cd build_qtcharts.





qmake ../qt5/qtcharts/qtcharts.pro INCLUDEPATH+=../qt5/qtcharts/include/QtCharts CONFIG+=release





make -j8





make install





Qt Orange Pi 4B. com port dialout . , make clean, , build. (, Qt - , ), . :





git submodule foreach --recursive "git clean -dfx" && git clean -dfx





. qt5 ( Qt) 325 . ( ) build buildartifacts 293 . Qt. build_artifacts, Qt, 150 . , Qt . . 4 1,8 . Release, -developer-build ( Qt ), 12 + .





Si está interesado en este tema, ¡apoye en los comentarios! Planeo dedicar la segunda parte al parpadeo del LED.








All Articles