Gömülü Yazılım - Özel açılış ekranı Yocto siyah metin içeren beyaz bir yükleme çubuğu

Yocto Raspberry Pi

İlerleme Çubuğuna sahip Özel Açılış Ekranı

Açılış ekranı görüntüsünü hazırlayın

Sıçrama ekranı, kaynak ağacın "/workdir/poky-honister/meta-raspberrypi/recipes-core" dizini altında bulunan "psplash" adlı bir tarifle işlenir.

"psplash" bir görüntünün başlık dosyası biçiminde olmasını beklediğinden, önce "make-image-header.sh" adlı bir komut dosyası kullanarak görüntünüzü bir başlık dosyası biçimine dönüştürmeniz gerekmektedir.

psplash deposunu kopyalayın

Komut dosyasını almak için yoctoproject psplash deposunu kopyalayın; bu durumda/workdir dizinine kopyalanır

git clone https://git.yoctoproject.org/psplash

Psplash dizininde "make-image-header.sh" komut dosyasını bulacaksınız.

Kitaplığı kur

Komut dosyasının sisteme yüklenmesi için "libgdk-pixbuf2.0-dev" gerekir. Bunu, aşağıdaki özelliklerle ikinci bir terminal penceresinde yapabilirsiniz:

docker exec -it --user=root crops-poky bash
apt-get install libgdk-pixbuf2.0-dev
exit

Şimdi png dosyanızı .h-dosyasına dönüştürmek için komut dosyasını kullanabilirsiniz

./make-image-header.sh <path-to-png>/psplash-ixlogo.png POKY

Sonuç olarak, "psplash-ixlogo-img.h" adlı bir dosya almalısınız. Başlık aşağıdaki gibi görünür:

/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */

#define POKY_IMG_ROWSTRIDE (4080)
#define POKY_IMG_WIDTH (1020)
#define POKY_IMG_HEIGHT (768)
#define POKY_IMG_BYTES_PER_PIXEL (4) /* 3:RGB, 4:RGBA */
#define POKY_IMG_RLE_PIXEL_DATA ((uint8*) \
...

Açılış ekranının arka plan rengini değiştirmek isterseniz, aşağıdaki satırı ekleyebilirsiniz:

#define PSPLASH_BACKGROUND_COLOR 0x07,0x85,0x00

Bu, arka plan rengini yeşil olarak ayarlar.

Özel meta katmanı oluştur

Oluşturulan açılış ekranı görüntüsünü dahil etmek için özel bir meta katmana ihtiyacımız var.

rpi-build'in ilk kaynağı.

source poky-honister/oe-init-build-env rpi-build

"bitbake-layers" ile yeni bir meta katman oluşturuyoruz ve bu meta katmanı mevcut projenin conf/bblayers.conf dosyasına ekliyoruz.

bitbake-layers create-layer meta-interelectronix-rpi
bitbake-layers add-layer meta-interelectronix-rpi

Bu işlemden sonra, "psplash" dizinini meta-raspberrypi/recipes-core'dan yeni meta katmana kopyalayın:

mkdir meta-interelectronix-rpi/recipes-core
cp -r /workdir/poky-honister/meta-raspberrypi/recipes-core/psplash meta-interelectronix-rpi/recipes-core/

psplash-ixlogo-img.h dosyasını meta-interelectronix-rpi/recipes-core/psplash/files/ dizinine kopyalayın

cp <path-to-h-file>/psplash-ixlogo-img.h meta-interelectronix-rpi/recipes-core/psplash/files/

Son olarak "meta-interelectronix-rpi/recipes-core/psplash/psplash_%.bbappend" dosyasını düzenleyin ve "psplash-raspberrypi-img.h"yi "psplash-ixlogo-img.h" olarak değiştirin.

Psplash'i ekleyin

Son adımda, projenin local.conf dosyasına psplash paketi eklenmelidir. Bunu yapmak için de /workdir/rpi-build/conf/local.conf dosyasını düzenleyin

Benim local.conf dosyam şu şekilde görünüyor:

## systemd settings
DISTRO_FEATURES:append = " systemd"
VIRTUAL-RUNTIME:init_manager = "systemd"
VIRTUAL-RUNTIME:initscripts = ""
IMX_DEFAULT_DISTRO_FEATURES:append = " systemd"

## enable some hardware
ENABLE_I2C = "1"
ENABLE_UART = "1"
DISABLE_SPLASH = "1"
DISABLE_RPI_BOOT_LOGO = "1"

IMAGE_INSTALL:append = " psplash"
IMAGE_FEATURES += " splash "

Telif Hakkı Lisansı

Telif Hakkı © 2022Interelectronix e.K.
Bu Proje kaynak kodu ** GPL-3.0**lisansı altında lisanslanmıştır.