Message ID | 20250806170442.243461-2-b-padhi@ti.com |
---|---|
State | New |
Headers | show |
Series | Add recipe to package MessageQ Application and Firmware | expand |
Beleswar, On 06/08/25 22:34, Beleswar Padhi wrote: > Add a recipe to build the Application Host (for A15 core) to demonstrate > IPC with remote processors through messageq firmware. Also package this > in the /usr/bin directory for testing IPC. This recipe only builds the > app_host, and the firmwares are available in ti-linux-firmware > repository. > > Signed-off-by: Beleswar Padhi <b-padhi@ti.com> > --- > .../ipc/ti-ipc-examples-linux_git.bb | 68 +++++++++++++++++++ > 1 file changed, 68 insertions(+) > create mode 100644 meta-ti-extras/recipes-ti/ipc/ti-ipc-examples-linux_git.bb > > diff --git a/meta-ti-extras/recipes-ti/ipc/ti-ipc-examples-linux_git.bb b/meta-ti-extras/recipes-ti/ipc/ti-ipc-examples-linux_git.bb > new file mode 100644 > index 00000000..3a64409e > --- /dev/null > +++ b/meta-ti-extras/recipes-ti/ipc/ti-ipc-examples-linux_git.bb > @@ -0,0 +1,68 @@ > +DESCRIPTION = "TI Inter Processor Communication (IPC) MessageQ Application for > +Linux Host" > + > +require recipes-ti/ipc/ti-ipc-common.inc > +require ti-ipc-rtos.inc > + > +LICENSE = "BSD-3-Clause" > +LIC_FILES_CHKSUM = "file://${S_ipc-examples}/src/makefile;beginline=1;endline=30;md5=a52324bd5033bb49ea07bade1244ac9a" > + > +INSANE_SKIP:${PN} += "arch" I guess this is not required since we are only building linux application? Regards, Aniket > + > +IPC_INSTALL_DIR = "${STAGING_DIR_TARGET}/usr/share/ti/ti-ipc-tree" > +INHIBIT_PACKAGE_STRIP = "1" > + > +DEPENDS = "ti-ipc ti-ipc-rtos ti-xdctools-native zip-native" > + > +EX02_PATH = "examples/DRA7XX_linux_elf/ex02_messageq/host" > + > +do_compile() { > + cd ${S_ipc-examples}/src > + oe_runmake .examples \ > + IPCTOOLS="${S_ipc-metadata}/src/etc" > + > + for alt_platform in ${ALT_PLATFORM}; do > + oe_runmake .examples "PLATFORM=${alt_platform}" \ > + IPCTOOLS="${S_ipc-metadata}/src/etc" > + done > + > + if [ "${PLATFORM}" != "UNKNOWN" ]; then > + oe_runmake extract HOSTOS="linux" IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" > + > + if [ ! -z ${ALT_PLATFORM} ]; then > + oe_runmake extract PLATFORM="${ALT_PLATFORM}" HOSTOS="linux" \ > + IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" > + fi > + oe_runmake -C ${EX02_PATH} all HOSTOS="linux" \ > + LINUX_SYSROOT_DIR="${STAGING_INCDIR}" \ > + IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" > + > + if [ ! -z ${ALT_PLATFORM} ]; then > + oe_runmake -C ${EX02_PATH} all HOSTOS="linux" \ > + LINUX_SYSROOT_DIR="${STAGING_INCDIR}" \ > + IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" \ > + PLATFORM="${ALT_PLATFORM}" > + fi > + fi > +} > + > +do_install() { > + cd ${S_ipc-examples}/src > + > + if [ "${PLATFORM}" != "UNKNOWN" ]; then > + # Install directory for linux examples > + install -d ${D}${bindir}/ipc/examples/ex02_messageq > + oe_runmake -C ${EX02_PATH} install IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" \ > + LINUX_SYSROOT_DIR="${STAGING_INCDIR}" \ > + HOSTOS="linux" EXEC_DIR="${D}/${bindir}/ipc/examples/ex02_messageq" > + > + if [ ! -z ${ALT_PLATFORM} ]; then > + oe_runmake -C ${EX02_PATH} install IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" \ > + LINUX_SYSROOT_DIR="${STAGING_INCDIR}" \ > + HOSTOS="linux" EXEC_DIR="${D}/${bindir}/ipc/examples/ex02_messageq" \ > + PLATFORM="${ALT_PLATFORM}" > + fi > + fi > +} > + > +FILES:${PN} += "${bindir}/*"
On 8/6/25 12:04 PM, Beleswar Padhi wrote: > Add a recipe to build the Application Host (for A15 core) to demonstrate > IPC with remote processors through messageq firmware. Also package this > in the /usr/bin directory for testing IPC. This recipe only builds the > app_host, and the firmwares are available in ti-linux-firmware > repository. > > Signed-off-by: Beleswar Padhi <b-padhi@ti.com> > --- > .../ipc/ti-ipc-examples-linux_git.bb | 68 +++++++++++++++++++ > 1 file changed, 68 insertions(+) > create mode 100644 meta-ti-extras/recipes-ti/ipc/ti-ipc-examples-linux_git.bb > > diff --git a/meta-ti-extras/recipes-ti/ipc/ti-ipc-examples-linux_git.bb b/meta-ti-extras/recipes-ti/ipc/ti-ipc-examples-linux_git.bb > new file mode 100644 > index 00000000..3a64409e > --- /dev/null > +++ b/meta-ti-extras/recipes-ti/ipc/ti-ipc-examples-linux_git.bb > @@ -0,0 +1,68 @@ > +DESCRIPTION = "TI Inter Processor Communication (IPC) MessageQ Application for > +Linux Host" > + > +require recipes-ti/ipc/ti-ipc-common.inc > +require ti-ipc-rtos.inc > + > +LICENSE = "BSD-3-Clause" > +LIC_FILES_CHKSUM = "file://${S_ipc-examples}/src/makefile;beginline=1;endline=30;md5=a52324bd5033bb49ea07bade1244ac9a" > + > +INSANE_SKIP:${PN} += "arch" > + > +IPC_INSTALL_DIR = "${STAGING_DIR_TARGET}/usr/share/ti/ti-ipc-tree" > +INHIBIT_PACKAGE_STRIP = "1" > + > +DEPENDS = "ti-ipc ti-ipc-rtos ti-xdctools-native zip-native" Do we really depend on "ti-ipc-rtos"? Once we add pre-built IPUMM firmware to linux-firmware, we should be able to drop the "ti-sysbios" recipe and all the recipes that depend on it, including ti-ipc-rtos. Andrew > + > +EX02_PATH = "examples/DRA7XX_linux_elf/ex02_messageq/host" > + > +do_compile() { > + cd ${S_ipc-examples}/src > + oe_runmake .examples \ > + IPCTOOLS="${S_ipc-metadata}/src/etc" > + > + for alt_platform in ${ALT_PLATFORM}; do > + oe_runmake .examples "PLATFORM=${alt_platform}" \ > + IPCTOOLS="${S_ipc-metadata}/src/etc" > + done > + > + if [ "${PLATFORM}" != "UNKNOWN" ]; then > + oe_runmake extract HOSTOS="linux" IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" > + > + if [ ! -z ${ALT_PLATFORM} ]; then > + oe_runmake extract PLATFORM="${ALT_PLATFORM}" HOSTOS="linux" \ > + IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" > + fi > + oe_runmake -C ${EX02_PATH} all HOSTOS="linux" \ > + LINUX_SYSROOT_DIR="${STAGING_INCDIR}" \ > + IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" > + > + if [ ! -z ${ALT_PLATFORM} ]; then > + oe_runmake -C ${EX02_PATH} all HOSTOS="linux" \ > + LINUX_SYSROOT_DIR="${STAGING_INCDIR}" \ > + IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" \ > + PLATFORM="${ALT_PLATFORM}" > + fi > + fi > +} > + > +do_install() { > + cd ${S_ipc-examples}/src > + > + if [ "${PLATFORM}" != "UNKNOWN" ]; then > + # Install directory for linux examples > + install -d ${D}${bindir}/ipc/examples/ex02_messageq > + oe_runmake -C ${EX02_PATH} install IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" \ > + LINUX_SYSROOT_DIR="${STAGING_INCDIR}" \ > + HOSTOS="linux" EXEC_DIR="${D}/${bindir}/ipc/examples/ex02_messageq" > + > + if [ ! -z ${ALT_PLATFORM} ]; then > + oe_runmake -C ${EX02_PATH} install IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" \ > + LINUX_SYSROOT_DIR="${STAGING_INCDIR}" \ > + HOSTOS="linux" EXEC_DIR="${D}/${bindir}/ipc/examples/ex02_messageq" \ > + PLATFORM="${ALT_PLATFORM}" > + fi > + fi > +} > + > +FILES:${PN} += "${bindir}/*"
diff --git a/meta-ti-extras/recipes-ti/ipc/ti-ipc-examples-linux_git.bb b/meta-ti-extras/recipes-ti/ipc/ti-ipc-examples-linux_git.bb new file mode 100644 index 00000000..3a64409e --- /dev/null +++ b/meta-ti-extras/recipes-ti/ipc/ti-ipc-examples-linux_git.bb @@ -0,0 +1,68 @@ +DESCRIPTION = "TI Inter Processor Communication (IPC) MessageQ Application for +Linux Host" + +require recipes-ti/ipc/ti-ipc-common.inc +require ti-ipc-rtos.inc + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://${S_ipc-examples}/src/makefile;beginline=1;endline=30;md5=a52324bd5033bb49ea07bade1244ac9a" + +INSANE_SKIP:${PN} += "arch" + +IPC_INSTALL_DIR = "${STAGING_DIR_TARGET}/usr/share/ti/ti-ipc-tree" +INHIBIT_PACKAGE_STRIP = "1" + +DEPENDS = "ti-ipc ti-ipc-rtos ti-xdctools-native zip-native" + +EX02_PATH = "examples/DRA7XX_linux_elf/ex02_messageq/host" + +do_compile() { + cd ${S_ipc-examples}/src + oe_runmake .examples \ + IPCTOOLS="${S_ipc-metadata}/src/etc" + + for alt_platform in ${ALT_PLATFORM}; do + oe_runmake .examples "PLATFORM=${alt_platform}" \ + IPCTOOLS="${S_ipc-metadata}/src/etc" + done + + if [ "${PLATFORM}" != "UNKNOWN" ]; then + oe_runmake extract HOSTOS="linux" IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" + + if [ ! -z ${ALT_PLATFORM} ]; then + oe_runmake extract PLATFORM="${ALT_PLATFORM}" HOSTOS="linux" \ + IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" + fi + oe_runmake -C ${EX02_PATH} all HOSTOS="linux" \ + LINUX_SYSROOT_DIR="${STAGING_INCDIR}" \ + IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" + + if [ ! -z ${ALT_PLATFORM} ]; then + oe_runmake -C ${EX02_PATH} all HOSTOS="linux" \ + LINUX_SYSROOT_DIR="${STAGING_INCDIR}" \ + IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" \ + PLATFORM="${ALT_PLATFORM}" + fi + fi +} + +do_install() { + cd ${S_ipc-examples}/src + + if [ "${PLATFORM}" != "UNKNOWN" ]; then + # Install directory for linux examples + install -d ${D}${bindir}/ipc/examples/ex02_messageq + oe_runmake -C ${EX02_PATH} install IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" \ + LINUX_SYSROOT_DIR="${STAGING_INCDIR}" \ + HOSTOS="linux" EXEC_DIR="${D}/${bindir}/ipc/examples/ex02_messageq" + + if [ ! -z ${ALT_PLATFORM} ]; then + oe_runmake -C ${EX02_PATH} install IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" \ + LINUX_SYSROOT_DIR="${STAGING_INCDIR}" \ + HOSTOS="linux" EXEC_DIR="${D}/${bindir}/ipc/examples/ex02_messageq" \ + PLATFORM="${ALT_PLATFORM}" + fi + fi +} + +FILES:${PN} += "${bindir}/*"
Add a recipe to build the Application Host (for A15 core) to demonstrate IPC with remote processors through messageq firmware. Also package this in the /usr/bin directory for testing IPC. This recipe only builds the app_host, and the firmwares are available in ti-linux-firmware repository. Signed-off-by: Beleswar Padhi <b-padhi@ti.com> --- .../ipc/ti-ipc-examples-linux_git.bb | 68 +++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 meta-ti-extras/recipes-ti/ipc/ti-ipc-examples-linux_git.bb