On 9/20/2017 6:07 PM, Gou, Hongmei wrote:
-----Original Message-----
From: Stiffler, Jacob
Sent: Wednesday, September 20, 2017 5:12 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 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-rtos
libxml-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.bb

class;h=1e3a7cbb25136004962404e3987c17d56ceae17d;hb=a2743f55c36b90e
92b
2a9f4f684e2a67e2cbe3e0 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.

Thanks for catching this.

pruss-lld-rtos_git.bb in my local build has DEPENDS on ti-cgt-pru-native:
DEPENDS_append = " osal-rtos ti-cgt-pru-native"

icss-emac-lld-rtos has DEPENDS on pruss-lld-rtos.

Will submit a patch to add back the DEPENDS on ti-cgt-pru-native in 
pruss-lld-rtos_git.bb.

I think the depends should go here because this is what is controlling whether or not the firmwares are build (via LIMIT_CORES). If not here, then it should be the recipe which actually produces the firmwares.


+
+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 c66x
c66xdsp_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

Reply via email to