Andrew Geissler | 84ad7c5 | 2020-06-27 00:00:16 -0500 | [diff] [blame] | 1 | inherit esw deploy |
| 2 | |
| 3 | ESW_COMPONENT_SRC = "/lib/sw_apps/versal_plm/src/" |
| 4 | |
| 5 | DEPENDS += "xilstandalone xiltimer xilffs xilpdi xilplmi xilloader xilpm xilsecure xilsem" |
| 6 | |
| 7 | do_install() { |
| 8 | install -d ${D}/${base_libdir}/firmware |
| 9 | # Note that we have to make the ELF executable for it to be stripped |
| 10 | install -m 0755 ${B}/versal_plm* ${D}/${base_libdir}/firmware |
| 11 | } |
| 12 | |
| 13 | PLM_FIRMWARE_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}" |
| 14 | PLM_FIRMWARE_BASE_NAME[vardepsexclude] = "DATETIME" |
| 15 | |
| 16 | do_deploy() { |
| 17 | |
| 18 | # Not a huge fan of deploying from package but we want the stripped elf to be deployed. |
| 19 | # We could, technically create another task that runs after do_install that strips it but it |
| 20 | # seems unnecessarily convoluted, unless there's an objection on performing do_install we |
| 21 | # should do it this way since it easier to keep up with changes in oe-core. |
| 22 | |
| 23 | install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/versal_plm.elf ${DEPLOYDIR}/${PLM_FIRMWARE_BASE_NAME}.elf |
| 24 | ln -sf ${PLM_FIRMWARE_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf |
| 25 | ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/versal_plm.elf ${WORKDIR}/package/${base_libdir}/firmware/versal_plm.bin |
| 26 | install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/versal_plm.bin ${DEPLOYDIR}/${PLM_FIRMWARE_BASE_NAME}.bin |
| 27 | ln -sf ${PLM_FIRMWARE_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin |
| 28 | } |
| 29 | |
| 30 | addtask deploy before do_build after do_package |
| 31 | |
| 32 | FILES_${PN} = "${base_libdir}/firmware/plm*" |