From 122b2708893bff6b13d19f890251b03c023bac08 Mon Sep 17 00:00:00 2001 From: limingqiang Date: Wed, 13 Nov 2024 17:17:34 +0800 Subject: [PATCH] hipico: modify bsp build and add mpp sample 1.Modify bsp bitbake to enable USB virtual UART funtion. 2.Add hipico mpp sample code url to manifest.yaml, copy all sample add related libs to rootfs. Signed-off-by: limingqiang --- .oebuild/manifest.yaml | 6 +- .../recipes-bsp/hi3516cv610/hipico-bsp-pkg.bb | 31 +++++++--- .../hipico_mpp_sample/hipico-mpp-sample.bb | 59 +++++++++++++++++++ .../recipes-core/images/bsp-hipico.inc | 22 +++++++ .../recipes-core/images/image-hipico.inc | 1 + 5 files changed, 109 insertions(+), 10 deletions(-) create mode 100755 bsp/meta-hisilicon/recipes-core/hipico_mpp_sample/hipico-mpp-sample.bb diff --git a/.oebuild/manifest.yaml b/.oebuild/manifest.yaml index 213cb7ff0bf..91447b73fe1 100644 --- a/.oebuild/manifest.yaml +++ b/.oebuild/manifest.yaml @@ -2183,5 +2183,7 @@ manifest_list: version: 64676572e789604efd056143200b6e4677fb64fc hipico_hardware_driver: remote_url: https://gitee.com/hieuler-pico/hardware_driver.git - version: fb6b8fb7ec1d0ebfcc6f94602990fe4faf6d4fac - + version: 8d24bd57774369f7f8a089478666110fe98510bb + hipico_mpp_sample: + remote_url: https://gitee.com/hieuler-pico/hi_mpp_sample.git + version: c3b677338dc029fd71a8a68dbbae53615cde5082 diff --git a/bsp/meta-hisilicon/recipes-bsp/hi3516cv610/hipico-bsp-pkg.bb b/bsp/meta-hisilicon/recipes-bsp/hi3516cv610/hipico-bsp-pkg.bb index 882a76dbe80..0637a2c9816 100644 --- a/bsp/meta-hisilicon/recipes-bsp/hi3516cv610/hipico-bsp-pkg.bb +++ b/bsp/meta-hisilicon/recipes-bsp/hi3516cv610/hipico-bsp-pkg.bb @@ -11,15 +11,21 @@ SRC_URI = " file://hipico_hardware_driver \ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' file://hipico-bsp.service ', '', d)} \ " -S = "${WORKDIR}/hipico_hardware_driver/drivers" +S = "${WORKDIR}/hipico_hardware_driver" INSANE_SKIP:${PN} += "already-stripped" -FILES:${PN} = "${sysconfdir} ${systemd_system_unitdir} /usr/sbin /ko" +FILES:${PN} = "${sysconfdir} ${systemd_system_unitdir} /usr/sbin /ko /etc /root" + +do_compile () { + pushd ${S}/reg-tools-1.0.0 + oe_runmake + popd +} do_install () { install -d ${D}${sysconfdir}/init.d - install -m 0755 ${S}/S90AutoRun.sh ${D}${sysconfdir}/init.d/ + install -m 0755 ${S}/drivers/S90AutoRun.sh ${D}${sysconfdir}/init.d/ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then install -d ${D}${systemd_system_unitdir} install -m 0644 ${WORKDIR}/hipico-bsp.service ${D}${systemd_system_unitdir} @@ -28,12 +34,21 @@ do_install () { fi install -d ${D}/ko/wifi - - cp ${S}/ws73/etc/* ${D}${sysconfdir}/ -r - cp ${S}/ws73/ko/* ${D}/ko/wifi/ + + cp ${S}/ko/* ${D}/ko -r + cp ${S}/drivers/ws73/etc/* ${D}${sysconfdir}/ -r + cp ${S}/drivers/ws73/ko/* ${D}/ko/wifi/ install -d ${D}/usr/sbin - install -m 0755 ${S}/ws73/bin/sparklinkctrl ${D}/usr/sbin - install -m 0755 ${S}/ws73/bin/sparklinkd ${D}/usr/sbin + install -m 0755 ${S}/drivers/ws73/bin/sparklinkctrl ${D}/usr/sbin + install -m 0755 ${S}/drivers/ws73/bin/sparklinkd ${D}/usr/sbin + + install -d ${D}/usr/sbin + cp ${S}/reg-tools-1.0.0/bin/* ${D}/usr/sbin + + install -d ${D}/root + cp ${S}/scripts/* ${D}/root/ + + cp -rf ${S}/Wireless ${D}/etc/ } INHIBIT_PACKAGE_STRIP = "1" diff --git a/bsp/meta-hisilicon/recipes-core/hipico_mpp_sample/hipico-mpp-sample.bb b/bsp/meta-hisilicon/recipes-core/hipico_mpp_sample/hipico-mpp-sample.bb new file mode 100755 index 00000000000..811764ca6d7 --- /dev/null +++ b/bsp/meta-hisilicon/recipes-core/hipico_mpp_sample/hipico-mpp-sample.bb @@ -0,0 +1,59 @@ +SUMMARY = "hipico mpp sample" +DESCRIPTION = "mpp samples for hipico" +HOMEPAGE = "https://gitee.com/hieuler-pico/hi_mpp_sample" +LICENSE = "CLOSED" + +inherit pkgconfig + +OPENEULER_LOCAL_NAME = "hipico_mpp_sample" + +SRC_URI = " \ + file://hipico_mpp_sample \ +" + +S = "${WORKDIR}" + +do_compile:prepend () { + rm -rf ${S}/hipico_mpp_sample/bin +} + +TARGET_CC_ARCH += "${LDFLAGS}" +# Makefile does not support the use of the CC environment variable, +# so use make CC="${CC}" +EXTRA_OEMAKE += 'CC="${CC}"' + +# workaround to fix error: +# `undefined reference to `vtable for __cxxabiv1::__class_type_info'` +LDFLAGS:remove = "-Wl,--as-needed" + +do_compile () { + pushd ${S}/hipico_mpp_sample + oe_runmake + popd +} + +do_install () { + install -d ${D}/root/ + install -d ${D}/lib/ + + cp ${S}/hipico_mpp_sample/lib/libsecurec.so ${D}/lib/libsecurec.so.1.0 + cp ${S}/hipico_mpp_sample/lib/libmp3_enc.so ${D}/lib/libmp3_enc.so.1.0 + cp ${S}/hipico_mpp_sample/lib/libmp3_lame.so ${D}/lib/libmp3_lame.so.1.0 + cp ${S}/hipico_mpp_sample/lib/libmp3_dec.so ${D}/lib/libmp3_dec.so.1.0 + cp ${S}/hipico_mpp_sample/lib/libsvp_aicpu.so ${D}/lib/libsvp_aicpu.so.1.0 + + cp ${S}/hipico_mpp_sample/bin/* ${D}/root/ +} + +FILES_${PN}-dev += "${libdir}/libsecurec.so ${libdir}/libsecurec.so.1.0" +FILES_${PN}-dev += "${libdir}/libmp3_enc.so ${libdir}/libmp3_enc.so.1.0" +FILES_${PN}-dev += "${libdir}/libmp3_lame.so ${libdir}/libmp3_lame.so.1.0" +FILES_${PN}-dev += "${libdir}/libmp3_dec.so ${libdir}/libmp3_dec.so.1.0" +FILES_${PN}-dev += "${libdir}/libsvp_aicpu.so ${libdir}/libsvp_aicpu.so.1.0" + +FILES:${PN} = " \ + /root/ \ + /lib/ \ +" + +INSANE_SKIP:${PN} += "already-stripped" diff --git a/bsp/meta-hisilicon/recipes-core/images/bsp-hipico.inc b/bsp/meta-hisilicon/recipes-core/images/bsp-hipico.inc index b2ff0e6b5e4..082dd9e7f40 100644 --- a/bsp/meta-hisilicon/recipes-core/images/bsp-hipico.inc +++ b/bsp/meta-hisilicon/recipes-core/images/bsp-hipico.inc @@ -3,3 +3,25 @@ IMAGE_INSTALL:append = " \ hipico-bsp-pkg \ " + +set_virtual_uart_login() { + if [ -e ${IMAGE_ROOTFS}/etc/inittab ];then + echo "::respawn:/sbin/getty -L ttyGS0 115200 vt100 -n root -I \"Auto login as root ...\"" >> ${IMAGE_ROOTFS}/etc/inittab + fi +} + +IMAGE_PREPROCESS_COMMAND:append = "set_virtual_uart_login;" + +add_lib_soft_link() { + if [ -d ${IMAGE_ROOTFS}/lib/ ];then + cd ${IMAGE_ROOTFS}/lib/ + ln -sf libsecurec.so.1.0 libsecurec.so + ln -sf libmp3_enc.so.1.0 libmp3_enc.so + ln -sf libmp3_lame.so.1.0 libmp3_lame.so + ln -sf libmp3_dec.so.1.0 libmp3_dec.so + ln -sf libsvp_aicpu.so.1.0 libsvp_aicpu.so + cd - + fi +} + +IMAGE_PREPROCESS_COMMAND:append = "add_lib_soft_link;" diff --git a/bsp/meta-hisilicon/recipes-core/images/image-hipico.inc b/bsp/meta-hisilicon/recipes-core/images/image-hipico.inc index e12b1047992..190b4265e73 100644 --- a/bsp/meta-hisilicon/recipes-core/images/image-hipico.inc +++ b/bsp/meta-hisilicon/recipes-core/images/image-hipico.inc @@ -62,6 +62,7 @@ glib-2.0 \ libbfd \ wpa-supplicant \ hostapd \ +hipico-mpp-sample \ " # some packages to be removed from IMAGE_INSTALL -- Gitee