[meta-ti] [PATCH 3/4] mad-utils-rtos: added recipe for MAD utils

Jacob Stiffler j-stiffler at ti.com
Tue Jul 25 07:28:12 PDT 2017



On 7/24/2017 6:31 PM, Ivan Pang wrote:
> This recipe adds the Multicore Application Deployment (MAD)
> utility for c665x-evm and c667x-evm.
>
> Signed-off-by: Ivan Pang <i-pang at ti.com>
> ---
>   recipes-bsp/mad-utils/mad-utils-rtos_git.bb | 66 +++++++++++++++++++++++++++++
>   1 file changed, 66 insertions(+)
>   create mode 100644 recipes-bsp/mad-utils/mad-utils-rtos_git.bb
>
> diff --git a/recipes-bsp/mad-utils/mad-utils-rtos_git.bb b/recipes-bsp/mad-utils/mad-utils-rtos_git.bb
> new file mode 100644
> index 0000000..0fab610
> --- /dev/null
> +++ b/recipes-bsp/mad-utils/mad-utils-rtos_git.bb
> @@ -0,0 +1,66 @@
> +LICENSE = "BSD-3-Clause"
> +LIC_FILES_CHKSUM = "file://README.txt;md5=44b2180aec0657f6b0e42e5611c0bafb"
> +
> +require recipes-ti/includes/ti-paths.inc
> +
> +DEPENDS = "ti-cgt6x-7-native"
> +
> +PACKAGE_ARCH = "${MACHINE_ARCH}"
> +COMPATIBLE_MACHINE = "c66x"
> +
> +CLEANBROKEN = "1"

Is CLEANBROKEN needed? I do not see a Makefile in the 'S' directory.

> +
> +BRANCH = "master"
> +SRC_URI = "git://git.ti.com/keystone-rtos/mad-utils.git;protocol=git;branch=${BRANCH}"
> +SRCREV = "2458510f76eddfa837c2b83448965e233156944b"
> +PR = "r0"
> +
> +S = "${WORKDIR}/git"
> +
> +export C6X_BASE_DIR="${TI_CGT6X_7_INSTALL_DIR}"
> +
> +DEVICE = ""
> +DEVICE_c665x-evm = "C6657"
> +DEVICE_c667x-evm = "C6678"
> +
> +ENDIAN = ""
> +ENDIAN_c665x-evm = "little big"
> +ENDIAN_c667x-evm = "little big"
> +
> +do_compile() {
> +    cd mad-loader
> +    cp mal/malLib/build/Makefile mal/malLib/build/Makefile_save
> +    sed -i "s at cl6x@${C6X_BASE_DIR}/bin/cl6x at g" mal/malLib/build/Makefile
> +    sed -i "s at ar6x@${C6X_BASE_DIR}/bin/ar6x at g" mal/malLib/build/Makefile
> +    sed -i "s at strip6x@${C6X_BASE_DIR}/bin/strip6x at g" mal/malLib/build/Makefile
> +    cp mal/malApp/build/Makefile mal/malApp/build/Makefile_save
> +    sed -i "s at cl6x@${C6X_BASE_DIR}/bin/cl6x at g" mal/malApp/build/Makefile
> +    sed -i "s at ar6x@${C6X_BASE_DIR}/bin/ar6x at g" mal/malApp/build/Makefile
> +    sed -i "s at strip6x@${C6X_BASE_DIR}/bin/strip6x at g" mal/malApp/build/Makefile
> +    cp nmlLoader/build/Makefile nmlLoader/build/Makefile_save
> +    sed -i "s at cl6x@${C6X_BASE_DIR}/bin/cl6x at g" nmlLoader/build/Makefile
> +    sed -i "s at ar6x@${C6X_BASE_DIR}/bin/ar6x at g" nmlLoader/build/Makefile
> +    sed -i "s at strip6x@${C6X_BASE_DIR}/bin/strip6x at g" nmlLoader/build/Makefile

I think that it would be cleaner to prepend PATH with 
'${C6X_BASE_DIR}/bin'. Then you do not need to modify the makefile and 
then undo the modifications.

> +    for e in ${ENDIAN}
> +    do
> +        mkdir -p bin/${DEVICE}/${e}
> +        make -C mal/malLib/build clean all DEVICE=${DEVICE} ENDIAN=${e} C_DIR=${C6X_BASE_DIR}
> +        make -C mal/malApp/build clean all DEVICE=${DEVICE} ENDIAN=${e} C_DIR=${C6X_BASE_DIR}
> +        cp mal/malApp/build/mal_app.exe bin/${DEVICE}/${e}
> +        make -C nmlLoader/build clean all DEVICE=${DEVICE} ENDIAN=${e} C_DIR=${C6X_BASE_DIR}
> +        cp nmlLoader/build/nml.exe bin/${DEVICE}/${e}
> +    done
> +    mv -f mal/malLib/build/Makefile_save mal/malLib/build/Makefile
> +    mv -f mal/malApp/build/Makefile_save mal/malApp/build/Makefile
> +    mv -f nmlLoader/build/Makefile_save nmlLoader/build/Makefile
> +    cd -
> +}
> +
> +do_install() {
> +    install -d ${D}${PDK_INSTALL_DIR_RECIPE}/packages/ti/boot/mad-utils
> +    cp -r * ${D}${PDK_INSTALL_DIR_RECIPE}/packages/ti/boot/mad-utils
> +}
> +
> +FILES_${PN} += "${PDK_INSTALL_DIR_RECIPE}/packages/ti/boot/mad-utils"
> +
> +INSANE_SKIP_${PN} += "arch staticdev ldflags file-rdeps"



More information about the meta-ti mailing list