On 9/20/2017 5:01 PM, Gou, Hongmei wrote:
-----Original Message----- From: Stiffler, Jacob Sent: Wednesday, September 20, 2017 4:19 PM To: Gou, Hongmei; [email protected] Subject: Re: [EXTERNAL] [meta-arago] [meta-processsor-sdk] [PATCH] ti- pdk.bbclass: added to enable the building of icss-emac firmware binaries On 9/20/2017 3:43 PM, Hongmei Gou wrote:Signed-off-by: Hongmei Gou <[email protected]> --- classes/ti-pdk.bbclass | 115+++++++++++++++++++++++++++++++++++++++++++++++++1 file changed, 115 insertions(+) create mode 100644 classes/ti-pdk.bbclass diff --git a/classes/ti-pdk.bbclass b/classes/ti-pdk.bbclass new file mode 100644 index 0000000..1e3a7cb --- /dev/null +++ b/classes/ti-pdk.bbclass @@ -0,0 +1,115 @@ +require recipes-ti/includes/ti-paths.inc require +recipes-ti/includes/ti-staging.inc + +inherit perlnative + +DEPENDS = "ti-xdctools ti-cg-xml-native ti-sysbios common-csl-ip-rtoslibxml-simple-perl-native gcc-arm-none-eabi-native ti-cgt6x-native ti-pdk- build-rtos"+ +DEPENDS_append_omap-a15 = " ti-cgt-arm-native" +DEPENDS_remove_ti33x = "ti-cgt6x-native" +DEPENDS_remove_ti43x = "ti-cgt6x-native" +DEPENDS_append_omapl1 = " ti-cgt-arm-native" + +S = "${WORKDIR}/git" +B = "${WORKDIR}/build" + +# HTML hyperlink text +PDK_COMP_LINK_TEXT ?= "" + +DOC_FILE = "API_Documentation_${PN}.html" + +create_doc_link () { + PDK_COMP_DIR=`get_build_dir_bash` + + echo "<a+href=\"${PDK_COMP_DIR}/docs/doxygen/html/index.html\">${PDK_COM P_LINK+_TEXT}</a>" >> +${D}${PDK_INSTALL_DIR_RECIPE}/packages/.extras/doc/${DOC_FILE} +} + +get_build_dir_bash() { + if [ -f ${S}/package.xdc ] + then + grep '^package' ${S}/package.xdc | sed -e 's|\[.*$||' | awk '{ print $2 }' |sed -e 's|\.|/|g'+ else + echo ${S} + return 1 + fi +} + +export CROSS_TOOL_PRFX="arm-none-eabi-" +export TOOLCHAIN_PATH_A8 = "${GCC_ARM_NONE_TOOLCHAIN}" +export TOOLCHAIN_PATH_A9 = "${GCC_ARM_NONE_TOOLCHAIN}" +export TOOLCHAIN_PATH_A15 = "${GCC_ARM_NONE_TOOLCHAIN}" +export TOOLCHAIN_PATH_M4 = "${M4_TOOLCHAIN_INSTALL_DIR}" +export TOOLCHAIN_PATH_Arm9 = "${M4_TOOLCHAIN_INSTALL_DIR}" +export C6X_GEN_INSTALL_PATH ="${STAGING_DIR_NATIVE}/usr/share/ti/cgt-c6x"+export CL_PRU_INSTALL_PATH = "${TI_CGT_PRU_INSTALL_DIR}"It appears that there is a missing dependency for the PRU toolchain?This is back ported from meta-ti: http://arago-project.org/git/?p=meta-ti.git;a=blob;f=classes/ti-pdk.bbclass;h=1e3a7cbb25136004962404e3987c17d56ceae17d;hb=a2743f55c36b90e92b2a9f4f684e2a67e2cbe3e0 Also TI_CGT_PRU_INSTALL_DIR has been defined in recipes-ti/includes/ti-paths.inc.
The lack of a DEPENDS on ti-cgt-pru-native appears to be a gap. If directly building icss-emac-lld-rtos, it appears that the build will fail due to the missing toolchain as icss-emac-lld-rtos does not depend on it either.
+ +export ROOTDIR = "${B}" +export BIOS_INSTALL_PATH = "${SYSBIOS_INSTALL_DIR}" +export XDC_INSTALL_PATH = "${XDC_INSTALL_DIR}" +export PDK_INSTALL_PATH = "${PDK_INSTALL_DIR}/packages" + +export XDCPATH ="${XDC_INSTALL_DIR}/packages;${SYSBIOS_INSTALL_DIR}/packages;${PDK_I NSTALL_DIR}/packages"+export SECTTI="perl ${CG_XML_INSTALL_DIR}/ofd/sectti.pl" + +TI_PDK_XDCMAKE ?= "1" + +# By default, only build the cores with available toolchains +TI_PDK_LIMIT_CORES ?= "a15_0 ipu1_0 ipu1_1 ipu2_0 ipu2_1 c66xc66xdsp_1 c66xdsp_2 arm9_0 c674x a9host a8host pru_0 pru_1"+TI_PDK_LIMIT_SOCS ?= "" +TI_PDK_LIMIT_BOARDS ?= "" +TI_PDK_MAKE_TARGET ?= "release" +TI_PDK_EXTRA_MAKE ?= "" + +TI_PDK_XDC_ARGS ?= "${TI_PDK_LIMIT_SOCS}" + +PARALLEL_XDC = "--jobs=${BB_NUMBER_THREADS}" + +do_configure() { + BUILD_DIR=${B}/`get_build_dir_bash` + + mkdir -p ${BUILD_DIR} + cp -r ${S}/* ${BUILD_DIR} + + if [ "${TI_PDK_XDCMAKE}" == "1" ] + then + cd ${BUILD_DIR} + + sed -i "s/\ \"\.\\\\\\\\\"\ +//" src/Module.xs + find -name "*.xs" -exec sed -i "s/ofd6x\.exe/ofd6x/" {} \; + find -name "*.xs" -exec sed -i "s/sectti\.exe/sectti/" {} \; + find -name "*.xs" -exec sed -i "/\.chm/d" {} \; + find -name "*.xs" -exec sed -i "s/pasm\_dos/pasm\_linux/" {} \; + fi +} + +do_compile() { + + if [ "${TI_PDK_XDCMAKE}" == "1" ] + then + ${XDC_INSTALL_DIR}/xdc clean ${PARALLEL_XDC} -PR . + ${XDC_INSTALL_DIR}/xdc all ${PARALLEL_XDC}XDCARGS="${TI_PDK_XDC_ARGS}" ROOTDIR="${ROOTDIR}" -PR .+ ${XDC_INSTALL_DIR}/xdc release XDCARGS="${TI_PDK_XDC_ARGS}"-PR .+ else + BUILD_DIR=${B}/`get_build_dir_bash` + cd ${BUILD_DIR} + + make ${TI_PDK_MAKE_TARGET} \ + LIMIT_SOCS="${TI_PDK_LIMIT_SOCS}" \ + LIMIT_BOARDS="${TI_PDK_LIMIT_BOARDS}" \ + LIMIT_CORES="${TI_PDK_LIMIT_CORES}" \ + ${TI_PDK_EXTRA_MAKE} + fi +} + +do_install () { + install -d ${D}${PDK_INSTALL_DIR_RECIPE}/packages + find -name "*.tar" -exec tar xf {} --no-same-owner -C +${D}${PDK_INSTALL_DIR_RECIPE}/packages \; + + if [ "${PDK_COMP_LINK_TEXT}" != "" ] + then + install -d ${D}${PDK_INSTALL_DIR_RECIPE}/packages/.extras/doc + create_doc_link + fi +} + +FILES_${PN} += "${PDK_INSTALL_DIR_RECIPE}/packages"
_______________________________________________ meta-arago mailing list [email protected] http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago
