Mar 20, 2019, 9:31 AM
Hi Robert,
Thanks for the gist: https://gist.github.com/RobertCNelson/aca2d52e962c80343857
Our latest problem is that we can't successfully cross-compile the ti-opencl-monitor package under Buildroot.
>> Compilation failure
Makefile.am57x:147: recipe for target 'objs/edma.obj' failed
make[2]: *** [objs/edma.obj] Error 1
"/home/frank/nextgate/rootfs/output/host/share/ti-framework-components/packages/ti/sdo/fc/ires/edma3chan/ires_edma3Chan.h", line 58: fatal error: cannot open source file "ti/xdais/xdas.h"
1 catastrophic error detected in the compilation of "src/monitor.c".
Compilation terminated.
I saw the list of dependencies for ti-opencl-monitor in your gist and we are utilizing a similar list.
config BR2_PACKAGE_TI_OPENCL_MONITOR
bool "ti-opencl-monitor"
depends on BR2_arm
select BR2_PACKAGE_HOST_TI_CGT_C6X
select BR2_PACKAGE_HOST_TI_FRAMEWORK_COMPONENTS
select BR2_PACKAGE_HOST_TI_IPC_RTOS
select BR2_PACKAGE_HOST_TI_SYSBIOS
select BR2_PACKAGE_HOST_TI_XDCTOOLS
select BR2_PACKAGE_TI_EDMA3_LLD
select BR2_PACKAGE_HOST_TI_AETLIB
select BR2_PACKAGE_HOST_TI_XDAIS
select BR2_PACKAGE_TI_IPC
select BR2_PACKAGE_TI_OPENMP_RTOS
help
TI OpenCL compute unit firmware.
TI_OPENCL_MONITOR_DEPENDENCIES = \
host-ti-cgt-c6x \
host-ti-framework-components \
host-ti-ipc-rtos \
ti-sysbios \
host-ti-xdctools \
host-ti-aetlib \
ti-edma3-lld \
host-ti-aetlib \
ti-ipc \
ti-openmp-rtos
TI_OPENCL_MONITOR_MAKE_OPTS = \
BUILD_TARGET=ARM_AM57 \
LINUX_DEVKIT_ROOT=$(HOST_DIR) \
TI_OCL_CGT_INSTALL=$(HOST_TI_CGT_C6X_INSTALLDIR) \
XDC_DIR=$(HOST_TI_XDCTOOLS_INSTALLDIR) \
XDAIS_DIR=$(HOST_TI_XDAIS_INSTALLDIR) \
EDMA3_DIR=$(TI_EDMA3_LLD_INSTALLDIR) \
IPC_DIR=$(HOST_TI_IPC_RTOS_INSTALLDIR) \
BIOS_DIR=$(TI_SYSBIOS_INSTALLDIR) \
AET_DIR=$(HOST_TI_AETLIB_INSTALLDIR)/aet \
FC_DIR=$(HOST_TI_FRAMEWORK_COMPONENTS_INSTALLDIR) \
PDK_DIR=$(TARGET_DIR)/usr/share/ti/ti-pdk-tree \
BUILD_AM57=1 \
BUILD_EVE_FIRMWARE=0 \
OMP_ENABLED=0
We should be building the `host-ti-xdais` package but I can't find that missing xdas.h header anywhere on my system.
I know you were able to build ti-opencl-monitor successfully using your Debian-based build system. I am looking at your Debian build scripts for some answers.
https://github.com/beagleboard/repos/tree/master/ti-opencl/suite/jessie/debian
But all I came up with was this.
# Currently the monitor must be built in an X86 cross-compile environment
# If doing an opencl build/install on an ARM platform the monitor files
# must be copied over.
override_dh_auto_build:
mkdir -p ./monitor/monitor_am57x/
cp -v /usr/share/ti/opencl/dsp.out ./monitor/monitor_am57x/dsp0.out
cp -v /usr/share/ti/opencl/dsp.syms ./monitor/monitor_am57x/dsp0.syms
cp -v /usr/share/ti/opencl/dsp_syms.obj ./monitor/monitor_am57x/dsp0.syms.obj
cp -v /lib/firmware/dra7-dsp2-fw.xe66 ./monitor/monitor_am57x/dsp1.out
dh_auto_build -- BUILD_OUTPUT=lib BUILD_AM57=1 ARM_LLVM_DIR=/opt/ti-llvm-3.6 DESTDIR=$(CURDIR)/debian/ti-opencl
I'm not sure what dh_auto_build does. This is all we're doing Buildroot to try to build that `ti-opencl-monitor` package.
define TI_OPENCL_MONITOR_BUILD_CMDS
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/monitor $(TI_OPENCL_MONITOR_MAKE_OPTS)
endef
Thank you for your assistance.
-Frank
Mar 20, 2019, 9:46 AM
Hi Frank,
Yeap, opencl-monitor is one i couldn't build purely on debian...
Oh, "jessie" is locked in a old release, use the stretch varient..
https://github.com/rcn-ee/repos/tree/master/ti-opencl/suite/stretch/debian
>
> But all I came up with was this.
>
> # Currently the monitor must be built in an X86 cross-compile environment
> # If doing an opencl build/install on an ARM platform the monitor files
> # must be copied over.
> override_dh_auto_build:
> mkdir -p ./monitor/monitor_am57x/
> cp -v /usr/share/ti/opencl/dsp.out ./monitor/monitor_am57x/dsp0.out
> cp -v /usr/share/ti/opencl/dsp.syms ./monitor/monitor_am57x/dsp0.syms
> cp -v /usr/share/ti/opencl/dsp_syms.obj ./monitor/monitor_am57x/dsp0.syms.obj
> cp -v /lib/firmware/dra7-dsp2-fw.xe66 ./monitor/monitor_am57x/dsp1.out
These 4 files are taken from the ti opencl-monitor package:
I have them hosted here for easy access:
https://github.com/rcn-ee/sdk-firmware/tree/master/opencl-monitor
> dh_auto_build -- BUILD_OUTPUT=lib BUILD_AM57=1 ARM_LLVM_DIR=/opt/ti-llvm-3.6 DESTDIR=$(CURDIR)/debian/ti-opencl
>
> I'm not sure what dh_auto_build does. This is all we're doing in Buildroot to try to build that ti-opencl-monitor package.
>
> define TI_OPENCL_MONITOR_BUILD_CMDS
> $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/monitor $(TI_OPENCL_MONITOR_MAKE_OPTS)
> endef
>
> Thank you so much for your assistance.
Regards,
--
Robert Nelson
https://rcn-ee.com/
Mar 20, 2019, 11:34 AM
On Wed, Mar 20, 2019 at 11:31 AM Frank Vasquez <fra...@helium.com> wrote:
>
> Hi Robert,
>
> Thanks for the gist. Our latest problem is that we can't successfully cross-compile the ti-opencl-monitor package under Buildroot.
>
> >> Compilation failure
> Makefile.am57x:147: recipe for target 'objs/edma.obj' failed
> make[2]: *** [objs/edma.obj] Error 1
> "/home/frank/nextgate/rootfs/output/host/share/ti-framework-components/packages/ti/sdo/fc/ires/edma3chan/ires_edma3Chan.h", line 58: fatal error: cannot open source file "ti/xdais/xdas.h"
> 1 catastrophic error detected in the compilation of "src/monitor.c".
> Compilation terminated.
Looks like this is from:
http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/xdais/7_24_00_04/exports/xdais_7_24_00_04/xdais_7_24_00_04_ReleaseNotes.html
./build/arago-tmp-external-linaro-toolchain/sysroots-components/armv7ahf-neon/ti-xdais/usr/share/ti/ti-xdais-tree/packages/ti/xdais/xdas.h
http://gfnd.rcn-ee.org:8080/job/ti-sdk-05.02.00.10/ws/tisdk/build/arago-tmp-external-linaro-toolchain/sysroots-components/armv7ahf-neon/ti-xdais/usr/share/ti/ti-xdais-tree/packages/ti/xdais/
Regards,
--
Robert Nelson
https://rcn-ee.com/
Mar 20, 2019, 11:51 AM
Nothing special in meta-ti's xdais package: http://git.yoctoproject.org/cgit/cgit.cgi/meta-ti/tree/recipes-ti/xdais
--
Robert Nelson
https://rcn-ee.com/