임베디드 소프트웨어 - 자동 시작 Qt 응용 프로그램 컴퓨터의 스크린 샷

자동 시작 Qt 애플리케이션

Yocto 및 Raspberry Pi 4

메타 레이어 설정

첫 번째 단계에서는 Yocto 프로젝트의 메타 레이어 구성을 설정해야 합니다. 저희는 2개의 사용자 지정 메타 레이어를 생성했으며 추가 텍스트에 다운로드 링크를 제공합니다.

메타 레이어 시작 화면

사용자 정의 시작 화면을 사용하려는 경우 메타 레이어를 추가할 수 있습니다. 이 메타 레이어를 사용하는 방법은 사용자 정의 시작 화면이 있는 Yocto Raspberry Pi 4에 설명되어 있습니다.

브라우저를 사용하여 meta-interelectronix-rpi.zip에서 메타 레이어 zip 파일을 다운로드할 수 있습니다.

메타 레이어 Qt 및 데모 애플리케이션

브라우저를 사용하여 meta-interelectronix-rpi-qt.zip에서 메타 레이어 zip 파일을 다운로드할 수 있습니다.

이 메타 레이어에는 Qt 및 Qt 데모 애플리케이션을 포함하는 데 필요한 설정 정보가 포함되어 있습니다. 저희는 Qt 레시피에서 사용할 수 있기 때문에 자동 시작을 위해 Qt 데모 애플리케이션을 사용합니다.

레이어에는 나중에 프로젝트를 구축하는 데 필요한 이미지 정보 "qt5-ix-basic-image"도 포함되어 있습니다

bitbake -k qt5-ix-basic-image

bblayers.conf에 메타 레이어 포함

이제 Yocto 프로젝트 bblayers.conf 파일에 다운로드한 레이어를 추가할 수 있습니다. 도커 환경에서의 Yocto build Raspberry Pi 4에서 설명한 설정을 사용하는 경우 bblayers.conf 파일은 다음과 같습니다:

BBLAYERS ?= " \
  /workdir/poky-honister/meta \
  /workdir/poky-honister/meta-poky \
  /workdir/poky-honister/meta-yocto-bsp \
  /workdir/poky-honister/meta-openembedded/meta-oe \
  /workdir/poky-honister/meta-openembedded/meta-multimedia \
  /workdir/poky-honister/meta-openembedded/meta-networking \
  /workdir/poky-honister/meta-openembedded/meta-perl \
  /workdir/poky-honister/meta-openembedded/meta-python \
  /workdir/poky-honister/meta-raspberrypi \
  /workdir/poky-honister/meta-security \ 
  /workdir/poky-honister/meta-qt5 \
  /workdir/rpi-build/meta-interelectronix-rpi \
  /workdir/rpi-build/meta-interelectronix-rpi-qt \
  "

자신의 프로젝트를 사용하는 경우 필요에 따라 파일 경로를 조정해야 합니다.

Qt 구성 자동 시작

Qt 데모 애플리케이션을 자동으로 시작하기 위해, 저희는 systemd를 사용하여 서비스를 설치합니다. 필요한 모든 파일과 구성 파일은 위에서 다운로드한 meta-interelectronix-rpi-qt.zip 파일에 포함되어 있습니다.

qt_demo_start.service

필요한 파일은 "meta-interelectronix-rpi-qt/recipes-ext/systemd/..." 디렉터리에 저장되어 있습니다.

local.conf

Yocto 프로젝트의 local.conf 파일에서 systemd를 활성화해야 합니다.

Yocto local.conf

적어도, 프로젝트의 local.conf 구성 파일을 조정하기는 해야 합니다. rpi4-build.zip에서 bblayers.conf 및 local.conf를 다운로드하여 그대로 사용하거나 검사하여 필요한 섹션을 프로젝트에 복사하세요.

systemd

systemd를 활성화하려면 local.conf 파일에 다음 행을 추가해야 합니다:

## systemd settings
DISTRO_FEATURES:append = " security systemd usbhost ${DISTRO_FEATURES_LIBC}"

INIT_MANAGER = "systemd"

VIRTUAL-RUNTIME:init_manager = "systemd"
VIRTUAL-RUNTIME:initscripts = "systemd-compat-units"

Qt 라이선스 정보

상업용 프로젝트에서 Qt를 사용하는 경우 주의하세요. Qt의 라이선스 계약은 이해하기 쉽지 않으며 사용하기도 쉽지 않습니다. Robert Berger의 블로그 Yocto/Qt5: hello-qt part2 - Licensing에서 중요한 생각과 정보를 확인할 수 있습니다.

제안 또는 실수

개선을 위한 제안 사항이 있거나 실수를 발견한 경우, 주저하지 말고 이 페이지의 끝부분에 있는 문의 양식을 사용하여 저희에게 연락해 주시기 바랍니다.

저작권 라이선스

Copyright © 2022 Interelectronix e.K.
이 프로젝트 소스 코드는 GPL-3.0 라이선스에 따라 라이선스가 부여됩니다.