* [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.