mapishi ya bitbake pigpio
Kwa mradi huu tunahitaji kuwa na maktaba ya nguruwe ili kufikia I2C, SPI na GPIOs zingine na maktaba moja.
Kwa bahati mbaya hatukupata kichocheo kwa ajili yake katika safu za kawaida za meta kwa Yocto na tunapaswa kuunda yetu wenyewe.
pigpio_git.bb mapishi
Kuunda mapishi maalum kwa Yocto sio ngumu sana - lakini kwa undani inaweza kuwa.
Utaratibu wa kawaida ni, kupata chanzo na kuiruhusu bitbake:
DESCRIPTION = "pigpio"
SECTION = "devel/libs"
LICENSE = "CLOSED"
LIC_FILES_CHKSUM = "file://UNLICENCE"
COMPATIBLE_MACHINE = "^rpi$"
SRC_URI = "git://github.com/joan2937/pigpio.git;protocol=https;tag=v79 \
"
S = "${WORKDIR}/git"
inherit pkgconfig cmake
Lakini ikiwa "bitbake pigpio", inatupa makosa kadhaa, kwa sababu hakuna maktaba zilizosanidiwa na eneo la faili za manpages hazishughulikiwi vizuri.
Hitilafu ya kurasa za manpages
Kwanza kosa lifuatalo hutokea:
ERROR: pigpio-git-r0 do_package: QA Issue: pigpio: Files/directories were installed but not shipped in any package:
/usr/man
/usr/man/man1
...
Unaweza kurekebisha kosa hili kwa mipangilio ifuatayo:
FILES:${PN}-doc += "\
/usr/man/man1/pigs.1 \
/usr/man/man1/pig2vcd.1 \
/usr/man/man1/pigpiod.1 \
/usr/man/man3/pigpio.3 \
/usr/man/man3/pigpiod_if.3 \
/usr/man/man3/pigpiod_if2.3 \
"
Hitilafu isiyo ya Symlink
Baada ya kurekebisha kosa na kurasa za manpages, kosa linalofuata linakuja:
ERROR: pigpio-git-r0 do_package_qa: QA Issue: pigpio rdepends on pigpio-dev [dev-deps]
ERROR: pigpio-git-r0 do_package_qa: QA Issue: -dev package pigpio-dev contains non-symlink .so '/usr/lib/libpigpio.so'
-dev package pigpio-dev contains non-symlink .so '/usr/lib/libpigpiod_if2.so'
-dev package pigpio-dev contains non-symlink .so '/usr/lib/libpigpiod_if.so' [dev-elf]
Hii hutokea, kwa sababu hakuna maktaba za toleo zinazozalishwa kutoka "CMakeLists.txt". Ili kurekebisha hii, tunaongeza:
SOLIBS = ".so"
FILES_SOLIBSDEV = ""
Mfumo wa kuanza kiotomatiki nguruwe
Ili kuanzisha kiotomatiki Daemon ya nguruwe, tunaongeza yafuatayo:
do_install() {
install -d ${D}${bindir}
install -d ${D}${libdir}
install -d ${D}${PYTHON_SITEPACKAGES_DIR}
install -m 0644 ${S}/pigpio.py ${D}${PYTHON_SITEPACKAGES_DIR}
install -d ${D}${systemd_system_unitdir}
install -m 0644 ${S}/util/pigpiod.service ${D}${systemd_system_unitdir}
cmake_do_install
}
SYSTEMD_SERVICE:${PN} = "pigpiod.service"
Kumbuka
Ikiwa unahitaji faili za kichwa zilizosakinishwa kwa maendeleo, lazima usakinishe IMAGE_FEATURES "dev-pkgs
IMAGE_FEATURES += "package-management dev-pkgs doc-pkgs"
Usanidi wa picha ya ulimwengu
Pakua faili za usanidi zilizofungwa kutoka kwa rpi4-build.
Kwanza angalia faili ya bblayers.conf. Ndani unapata safu za meta zinazohitajika. Pakua safu za meta, ikiwa haujafanya tayari na urekebishe faili yako ya bblayers.conf.
Pili angalia faili ya local.conf.
Mipangilio ya I2C
Ikiwa unataka kutumia chip ya sensor (kwa mfano sensor ya joto) iliyounganishwa na I2C, lazima uwezeshe I2C kwenye faili ya local.conf.
ENABLE_I2C = "1"
KERNEL_MODULE_AUTOLOAD_rpi += " i2c-dev"
Ondoa X11 na Wayland
Kuna makosa mengi katika mchakato wa bitbake, ikiwa hatutaondoa X11 na Wayland
Kwa upande wetu - kwa kuwa hatuhitaji madirisha mengi - tunayaondoa.
DISTRO_FEATURES:remove = "ptest x11 wayland vulkan directfb"
Ili kutumia eglfs vizuri, tunaongeza:
VC4DTBO ?= "vc4-fkms-v3d"
picha ya bitbake Raspberry
Katika faili "rpi4-64-qt5-gpio-image.bb" tunafafanua, ni vifurushi gani tunahitaji katika usambazaji wetu wa linux. Hapa unaweza - kama ilivyoelezwa hapo awali - ni pamoja na IMAGE_FEATURES "dev-pkgs".
Faili imegawanywa katika sehemu kadhaa kama kwa mfano DEV-SDK, EXTRA_TOOLS na kadhalika, ili kuongeza vifurushi vinavyohitajika kwa urahisi.
mfuko wa pigpio
Kifurushi hiki kinaongezwa chini ya CUSTOM_STUFF:
CUSTOM_STUFF = " \
pigpio \
"
Vifurushi vya Qt
Vifurushi vinavyohitajika kwa Qt vinaongezwa kwenye vikundi vya kifurushi na vikundi hivi vya kifurushi vimeongezwa hapa:
IMAGE_INSTALL:append += " packagegroup-qt5 packagegroup-qt5-toolchain-target packagegroup-qt5-qtcreator-debug"
Unaweza kupata "packagegroup-qt5" kwenye faili "packagegroup-qt5.bb" na kuongeza au kufuta vifurushi vya Qt.
Pakua safu ya meta iliyofungwa na picha kutoka kwa meta-interelectronix-rpi-qt.
Baada ya hapo unaweza kupiga picha:
bitbake rpi4-64-qt5-gpio-image
bitbake SDK
Ikiwa unataka kuunda programu ya Qt kwa usambazaji huu maalum wa Linux, hakika unataka kuwa na mnyororo wa zana wa kukusanya, ili kuiongeza kwenye usanidi wako wa QtCreator.
Unaweza kuunda SDK kwa urahisi na amri ifuatayo ya bitbake:
bitbake -c populate_sdk rpi4-64-qt5-gpio-image
Tuna vikundi vya kifurushi "packagegroup-qt5-toolchain-target packagegroup-qt5-qtcreator-debug" iliyoongezwa kwenye faili ya usanidi wa picha.
Sakinisha SDK
Unapata SDK iliyozalishwa katika saraka ifuatayo:
/tmp/deploy/sdk
Kwa upande wetu inaitwa "poky-glibc-x86_64-rpi4-64-qt5-gpio-image-cortexa72-raspberrypi4-64-toolchain-3.4.3.sh".
Faili hii ina maagizo ya usanidi na faili zote zinazohitajika (katika umbizo lililobanwa).
Nakili faili hii kwenye kompyuta yako ya ukuzaji na uitekeleze:
./poky-glibc-x86_64-rpi4-64-qt5-gpio-image-cortexa72-raspberrypi4-64-toolchain-3.4.3.sh
Fuata maagizo ya kusakinisha SDK.</:code16:></:code15:></:code14:>
Leseni ya Hakimiliki
Copyright © 2022 Interelectronix e.K.
Msimbo huu wa chanzo cha Mradi una leseni chini ya leseni ya GPL-3.0.