I'm having issues building the big data IPC example that is part of the processor_sdk_rtos_am57xx_06_03_02_08 demos. I am following the instructions located in the Processor SDK documentation at the following location. Note that I have gotten the same build errors on both Linux (Ubuntu 20.04LTS) and Windows 10. Both are fresh installs of the operating systems.
Here are the steps to reproduce:
Install CCS and RTOS SDK from this location: https://www.ti.com/tool/download/PROCESSOR-SDK-RTOS-AM57X (Version 6.03.02.08)
On both Linux and Windows, I have confirmed that I can build both CCS and makefile examples for single core projects. I have tested audio-benchmark-starterkit (C66x) and rtos_template_app (baremetal A15) and confirm they build correctly, upload to the evmAM5782 board via JTAG and UART output reports success.
Great!
The problem comes when I try to use anything slightly more complicated. The problems begin right out of the box.
Following the instructions, I set up the following environment variables for linux and windows:
PLATFORM="AM572x" \
XDC_INSTALL_DIR="/opt/ti/processor_sdk_rtos_am57xx_06_03_02_08/xdctools_3_55_02_22_core" \
BIOS_INSTALL_DIR="/opt/ti/processor_sdk_rtos_am57xx_06_03_02_08/bios_6_76_03_01" \
IPC_INSTALL_DIR="/opt/ti/processor_sdk_rtos_am57xx_06_03_02_08/ipc_3_50_04_08" \
PDK_INSTALL_DIR="/opt/ti/processor_sdk_rtos_am57xx_06_03_02_08/pdk_am57xx_1_0_18" \
env gnu.targets.arm.A15F="/opt/ti/processor_sdk_rtos_am57xx_06_03_02_08/ti-cgt-arm_18.12.5.LTS" \
env ti.targets.elf.C66="/opt/ti/processor_sdk_rtos_am57xx_06_03_02_08/ti-cgt-c6000_8.3.2" \
BOARD_NAME="evmAM572x" \
gmake host_bios
windows:
SET PLATFORM=AM572x
SET XDC_INSTALL_DIR=C:/ti/processor_sdk_rtos_am57xx_06_03_02_08/xdctools_3_55_02_22_core
SET BIOS_INSTALL_DIR=C:/ti/processor_sdk_rtos_am57xx_06_03_02_08/bios_6_76_03_01
SET IPC_INSTALL_DIR=C:/ti/processor_sdk_rtos_am57xx_06_03_02_08/ipc_3_50_04_08
SET PDK_INSTALL_DIR=C:/ti/processor_sdk_rtos_am57xx_06_03_02_08/pdk_am57xx_1_0_18
SET gnu.targets.arm.A15F=C:/ti/processor_sdk_rtos_am57xx_06_03_02_08/ti-cgt-arm_18.12.5.LTS
SET ti.targets.elf.C66=C:/ti/processor_sdk_rtos_am57xx_06_03_02_08/ti-cgt-c6000_8.3.2
SET BOARD_NAME=evmAM572x
gmake host_bios
So in both platforms, the first set of build output I get is this:
$ bash build.sh
#
# Making host_bios/simple_buffer_example...
gmake -C host_bios/simple_buffer_example all
gmake[1]: Entering directory '/mnt/hgfs/workarea/nw2s-dsp/bbai/bigdataipc/host_bios/simple_buffer_example'
gmake[1]: Leaving directory '/mnt/hgfs/workarea/nw2s-dsp/bbai/bigdataipc/host_bios/simple_buffer_example'
bigdataipc$
For Windows, I'll include the output of setupenv as well...
>setupenv.bat
***************************************************
Environment Configuration:
***************************************************
SDK_INSTALL_PATH : C:/ti/processor_sdk_rtos_am57xx_06_03_02_08
PDK_INSTALL_PATH : C:/ti/processor_sdk_rtos_am57xx_06_03_02_08/pdk_am57xx_1_0_18/packages
GMAKE_INSTALL_PATH : C:/ti/processor_sdk_rtos_am57xx_06_03_02_08/xdctools_3_55_02_22_core
PDK_SOC : am57xx
PDK_VERSION : 1_0_18
RULES_MAKE : C:/ti/processor_sdk_rtos_am57xx_06_03_02_08/pdk_am57xx_1_0_18/packages/ti/build/Rules.make
***************************************************
IPC_PLATFORM: DRA7XX
IPC_ALT_PLATFORM: AM572X AM571X
PROC_SDK_INSTALL_PATH : C:/ti/processor_sdk_rtos_am57xx_06_03_02_08/processor_sdk_rtos_am57xx_06_03_02_08
**************************************************************************
Changing to short name to support directory names containing spaces
current directory: C:/ti/processor_sdk_rtos_am57xx_06_03_02_08/processor_sdk_rtos_am57xx_06_03_02_08
PROCESSOR SDK BUILD ENVIRONMENT CONFIGURED
**************************************************************************
And here's the output of the build:
>build.bat
Z:\Dropbox\workarea\bigdataipc>SET PLATFORM=AM572x
Z:\Dropbox\workarea\bigdataipc>SET XDC_INSTALL_DIR=C:/ti/processor_sdk_rtos_am57xx_06_03_02_08/xdctools_3_55_02_22_core
Z:\Dropbox\workarea\bigdataipc>SET BIOS_INSTALL_DIR=C:/ti/processor_sdk_rtos_am57xx_06_03_02_08/bios_6_76_03_01
Z:\Dropbox\workarea\bigdataipc>SET IPC_INSTALL_DIR=C:/ti/processor_sdk_rtos_am57xx_06_03_02_08/ipc_3_50_04_08
Z:\Dropbox\workarea\bigdataipc>SET PDK_INSTALL_DIR=C:/ti/processor_sdk_rtos_am57xx_06_03_02_08/pdk_am57xx_1_0_18
Z:\Dropbox\workarea\bigdataipc>SET gnu.targets.arm.A15F=C:/ti/processor_sdk_rtos_am57xx_06_03_02_08/ti-cgt-arm_18.12.5.LTS
Z:\Dropbox\workarea\bigdataipc>SET ti.targets.elf.C66=C:/ti/processor_sdk_rtos_am57xx_06_03_02_08/ti-cgt-c6000_8.3.2
Z:\Dropbox\workarea\bigdataipc>SET BOARD_NAME=evmAM572x
Z:\Dropbox\workarea\bigdataipc>gmake host_bios
"#"
"# Making host_bios/simple_buffer_example..."
gmake -C host_bios/simple_buffer_example all
gmake[1]: Entering directory 'Z:/Dropbox/workarea/nw2s-dsp/bbai/bigdataipc/host_bios/simple_buffer_example'
ECHO is off.
gmake[1]: Leaving directory 'Z:/Dropbox/workarea/nw2s-dsp/bbai/bigdataipc/host_bios/simple_buffer_example'
Z:\Dropbox\workarea\bigdataipc>
That's it... nothing, just going into the directory running the sub-makefile, it doesn't find any targets and exits without further feedback.
So, maybe there's something more fundamental at issue, but I decide to look into the makefile that's not finding any targets...
Interesting... The makefile has a big list of conditionals, testing the platform variable. The only platforms this file seems to have any data for are:
DRA7XX, AM574x, TCI6638, TCI6636, 66AK2G, 66AK2E, TCI6630
The closest to the AM572 is the AM574. Maybe I can try to just change it or add my own section for the AM572x? That doesn't seem to help much. If you look in the file for the AM574x, it's telling the compiler that the host and DSP are from the DRA7XX?
...
DSP_PLATFORM = ti.platforms.evmDRA7XX:dsp
HOST_PLATFORM = ti.platforms.evmDRA7XX:host
...
And digging around further, there's nothing in the shared folder for any AM57XX processors at all?
So even if I start to hack a little, basically nothing else works from this point on cause there seems to be quite a bit missing for this processor. Is this version messed up somehow? Are there any similar examples for running shared memory segments with TI-RTOS on a multicore AM572x around that I'm missing?
Thanks,
Scott