All of lore.kernel.org
 help / color / mirror / Atom feed
* [meta-processsor-sdk] [PATCH] ti-pdk.bbclass: added to enable the building of icss-emac firmware binaries
@ 2017-09-20 19:43 Hongmei Gou
  2017-09-20 20:19 ` [EXTERNAL] " Jacob Stiffler
  0 siblings, 1 reply; 7+ messages in thread
From: Hongmei Gou @ 2017-09-20 19:43 UTC (permalink / raw)
  To: meta-arago; +Cc: Hongmei Gou

Signed-off-by: Hongmei Gou <a0271529@ti.com>
---
 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_COMP_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}"
+
+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_INSTALL_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"
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [EXTERNAL] [meta-processsor-sdk] [PATCH] ti-pdk.bbclass: added to enable the building of icss-emac firmware binaries
  2017-09-20 19:43 [meta-processsor-sdk] [PATCH] ti-pdk.bbclass: added to enable the building of icss-emac firmware binaries Hongmei Gou
@ 2017-09-20 20:19 ` Jacob Stiffler
  2017-09-20 21:01   ` Gou, Hongmei
  0 siblings, 1 reply; 7+ messages in thread
From: Jacob Stiffler @ 2017-09-20 20:19 UTC (permalink / raw)
  To: Hongmei Gou, meta-arago



On 9/20/2017 3:43 PM, Hongmei Gou wrote:
> Signed-off-by: Hongmei Gou <a0271529@ti.com>
> ---
>   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_COMP_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?

> +
> +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_INSTALL_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"



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [EXTERNAL] [meta-processsor-sdk] [PATCH] ti-pdk.bbclass: added to enable the building of icss-emac firmware binaries
  2017-09-20 20:19 ` [EXTERNAL] " Jacob Stiffler
@ 2017-09-20 21:01   ` Gou, Hongmei
  2017-09-20 21:12     ` Jacob Stiffler
  0 siblings, 1 reply; 7+ messages in thread
From: Gou, Hongmei @ 2017-09-20 21:01 UTC (permalink / raw)
  To: Stiffler, Jacob, meta-arago

> -----Original Message-----
> From: Stiffler, Jacob
> Sent: Wednesday, September 20, 2017 4:19 PM
> To: Gou, Hongmei; meta-arago@arago-project.org
> 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 <a0271529@ti.com>
> > ---
> >   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.bbclass;h=1e3a7cbb25136004962404e3987c17d56ceae17d;hb=a2743f55c36b90e92b2a9f4f684e2a67e2cbe3e0
Also TI_CGT_PRU_INSTALL_DIR has been defined in recipes-ti/includes/ti-paths.inc.

> > +
> > +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"


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [EXTERNAL] [meta-processsor-sdk] [PATCH] ti-pdk.bbclass: added to enable the building of icss-emac firmware binaries
  2017-09-20 21:01   ` Gou, Hongmei
@ 2017-09-20 21:12     ` Jacob Stiffler
  2017-09-20 22:07       ` Gou, Hongmei
  0 siblings, 1 reply; 7+ messages in thread
From: Jacob Stiffler @ 2017-09-20 21:12 UTC (permalink / raw)
  To: Gou, Hongmei, meta-arago



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; meta-arago@arago-project.org
>> 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 <a0271529@ti.com>
>>> ---
>>>    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.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 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"



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [EXTERNAL] [meta-processsor-sdk] [PATCH] ti-pdk.bbclass: added to enable the building of icss-emac firmware binaries
  2017-09-20 21:12     ` Jacob Stiffler
@ 2017-09-20 22:07       ` Gou, Hongmei
  2017-09-20 23:10         ` Jacob Stiffler
  0 siblings, 1 reply; 7+ messages in thread
From: Gou, Hongmei @ 2017-09-20 22:07 UTC (permalink / raw)
  To: Stiffler, Jacob, meta-arago

> -----Original Message-----
> From: Stiffler, Jacob
> Sent: Wednesday, September 20, 2017 5:12 PM
> To: Gou, Hongmei; meta-arago@arago-project.org
> 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; meta-arago@arago-project.org
> >> 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 <a0271529@ti.com>
> >>> ---
> >>>    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.

> >
> >>> +
> >>> +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"


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [EXTERNAL] [meta-processsor-sdk] [PATCH] ti-pdk.bbclass: added to enable the building of icss-emac firmware binaries
  2017-09-20 22:07       ` Gou, Hongmei
@ 2017-09-20 23:10         ` Jacob Stiffler
  2017-09-21 18:06           ` Stiffler, Jacob
  0 siblings, 1 reply; 7+ messages in thread
From: Jacob Stiffler @ 2017-09-20 23:10 UTC (permalink / raw)
  To: Gou, Hongmei, meta-arago



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; meta-arago@arago-project.org
>> 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; meta-arago@arago-project.org
>>>> 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 <a0271529@ti.com>
>>>>> ---
>>>>>     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"



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [EXTERNAL] [meta-processsor-sdk] [PATCH] ti-pdk.bbclass: added to enable the building of icss-emac firmware binaries
  2017-09-20 23:10         ` Jacob Stiffler
@ 2017-09-21 18:06           ` Stiffler, Jacob
  0 siblings, 0 replies; 7+ messages in thread
From: Stiffler, Jacob @ 2017-09-21 18:06 UTC (permalink / raw)
  To: Gou, Hongmei, meta-arago

Pushed with a small fixup to added the ti-cgt-pru dependency.

> -----Original Message-----
> From: meta-arago-bounces@arago-project.org [mailto:meta-arago-
> bounces@arago-project.org] On Behalf Of Stiffler, Jacob
> Sent: Wednesday, September 20, 2017 7:10 PM
> To: Gou, Hongmei; meta-arago@arago-project.org
> Subject: Re: [meta-arago] [EXTERNAL] [meta-processsor-sdk] [PATCH] ti-
> pdk.bbclass: added to enable the building of icss-emac firmware binaries
> 
> 
> 
> 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; meta-arago@arago-project.org
> >> 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; meta-arago@arago-project.org
> >>>> 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 <a0271529@ti.com>
> >>>>> ---
> >>>>>     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
> meta-arago@arago-project.org
> http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2017-09-21 18:06 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-20 19:43 [meta-processsor-sdk] [PATCH] ti-pdk.bbclass: added to enable the building of icss-emac firmware binaries Hongmei Gou
2017-09-20 20:19 ` [EXTERNAL] " Jacob Stiffler
2017-09-20 21:01   ` Gou, Hongmei
2017-09-20 21:12     ` Jacob Stiffler
2017-09-20 22:07       ` Gou, Hongmei
2017-09-20 23:10         ` Jacob Stiffler
2017-09-21 18:06           ` Stiffler, Jacob

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.