blob: 25988eb9e192bda67168d5a2eb51a67c2674acda [file] [log] [blame]
Andrew Geissler84ad7c52020-06-27 00:00:16 -05001inherit esw deploy
2
3ESW_COMPONENT_SRC = "/lib/sw_apps/versal_plm/src/"
4
5DEPENDS += "xilstandalone xiltimer xilffs xilpdi xilplmi xilloader xilpm xilsecure xilsem"
6
7do_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
13PLM_FIRMWARE_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
14PLM_FIRMWARE_BASE_NAME[vardepsexclude] = "DATETIME"
15
16do_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
30addtask deploy before do_build after do_package
31
32FILES_${PN} = "${base_libdir}/firmware/plm*"