Tool/software: Code Composer Studio
I started with a fresh directory (renamed my old C:\TI folder to something else)
I installed CCS 7.1, selecting only the Sitara devices. (CCS7.1.0.00016_win32)
I installed ti-processor-sdk-rtos-am335x-evm-04.00.00.04-Windows-x86-Install.exe
I start CCS, it detects the new packages and installs them.
I restart CCS and simply create a new project TI-RTOS | Typical example. ( SYS/BIOS 6.46.5.55, and 'Other repositories' ... ? and Platform ti.platforms.beaglebone )
I get an error:
"package/cfg/app_pea8fnv.c", line 18465: fatal error: #error directive: The package 'ti.sysbios.family.arm.a8.intcps' is not compatible with XDCtools used in this build. Please rebuild the package with XDCtools 3.50 or later. 1 error and 1 catastrophic error detected in the compilation of "package/cfg/app_pea8fnv.c".
After a lot of digging, apparently, I am supposed to use the OLD XDC tools. I change it to XDC 3.32 (from 3.50). Clean... rebuild. It builds but now the config tool is broken. 100% of the time. (On CCS 6.2, it was only broken 50% of the time - and I was told to upgrade to 7.1 because the problem was fixed ). The error is in the "problems" window:
Wrapped xdc.services.spec.SessionRuntimeException: parser failed (pass 2) (C:/ti/xdctools_3_32_01_22_core/packages/xdc/tools/xgconf/configprovider/ConfigProvider.xs#616) app.cfg /BasicSample Configuration Validation XDCTools Configuration Marker
So, I can either not be able to build a project, or I can not be able to use the config tool, which everyone says I was crazy for trying to manage projects without it.
After further digging, I surmise that perhaps I should build the SDK. But that fails as well. Into C:\ti\processor_sdk_rtos_am335x_4_00_00_04> I "setupenv". It sets with
Optional parameter not configured : CG_XML_BIN_INSTALL_PATH REQUIRED for xdc release build Example: set CG_XML_BIN_INSTALL_PATH=C:/ti/cg_xml/bin Optional parameter not configured : DOXYGEN_INSTALL_PATH REQUIRED for xdc release build Example: set DOXYGEN_INSTALL_PATH=C:/ti/Doxygen/doxygen/1.5.1-p1/bin ************************************************************************** Environment Configuration: LIMIT_SOCS : am335x LIMIT_BOARDS : evmAM335x icev2AM335x bbbAM335x skAM335x PDK_INSTALL_PATH : /ti/PDK_AM~1/packages C6X_GEN_INSTALL_PATH : C:/ti/ti-cgt-c6000_8.1.3 TOOLCHAIN_PATH_GCC : C:/ti/gcc-arm-none-eabi-4_9-2015q3 TOOLCHAIN_PATH_A15 : C:/ti/gcc-arm-none-eabi-4_9-2015q3 TOOLCHAIN_PATH_A8 : C:/ti/gcc-arm-none-eabi-4_9-2015q3 TOOLCHAIN_PATH_A9 : C:/ti/gcc-arm-none-eabi-4_9-2015q3 TOOLCHAIN_PATH_M4 : C:/ti/ti-cgt-arm_16.9.2.LTS TOOLCHAIN_PATH_Arm9 : C:/ti/ti-cgt-arm_16.9.2.LTS TOOLCHAIN_PATH_EVE : C:/ti/arp32_1.0.8 CL_PRU_INSTALL_PATH : C:/ti/ti-cgt-pru_2.1.5 UTILS_INSTALL_DIR : C:/ti/xdctools_3_32_01_22_core/bin FPULIB_PATH : C:/ti/gcc-arm-none-eabi-4_9-2015q3/lib/gcc/arm-n one-eabi/4.9.3/fpu CROSS_TOOL_PRFX : arm-none-eabi- XDC_INSTALL_PATH : C:/ti/xdctools_3_32_01_22_core BIOS_INSTALL_PATH : C:/ti/bios_6_46_05_55 IPC_INSTALL_PATH : C:/ti/ipc_3_46_00_02 EDMA3LLD_BIOS6_INSTALLDIR : C:/ti/edma3_lld_2_12_04_28 NDK_INSTALL_PATH : C:/ti/ndk_2_25_01_11 IMGLIB_INSTALL_PATH : C:/ti/imglib_c66x_3_1_1_0 DSPLIB_INSTALL_PATH : C:/ti/dsplib_c66x_3_4_0_0 MATHLIB_INSTALL_PATH : C:/ti/mathlib_c66x_3_1_1_0 UIA_INSTALL_PATH : C:/ti/uia_2_00_06_52 IPC_PLATFORM: UNKNOWN IPC_ALT_PLATFORM: PROC_SDK_INSTALL_PATH : C:/ti/processor_sdk_rtos_am335x_4_00_00_04 ************************************************************************** Changing to short name to support directory names containing spaces current directory: C:/ti/processor_sdk_rtos_am335x_4_00_00_04 PROCESSOR SDK BUILD ENVIRONMENT CONFIGURED **************************************************************************
( Why is this set to my older XDC tools? )
I do gmake clean followed by gmake. It starts running, for about 5 minutes (which is way too much output to post). Eventually it crashes during the build with the following:
# Invoking configuro... C:/ti/xdctools_3_32_01_22_core/bin/mkdir -p /ti/PDK_AM~1/packages/ti/binary C:/ti/xdctools_3_32_01_22_core/xs --xdcpath="C:/ti/bios_6_46_05_55/packages;C:/t i/xdctools_3_32_01_22_core/packages;C:/ti/edma3_lld_2_12_04_28/packages;C:/ti/nd k_2_25_01_11/packages;/ti/PDK_AM~1/packages;" xdc.tools.configuro --generationOn ly -o /ti/PDK_AM~1/packages/ti/binary/pm_rtos_app/obj/evmAM335x/a8host/release/p m_rtos_app_configuro -t gnu.targets.arm.A8F -p "ti.platforms.evmAM3359" \ -r release -c C:/ti/gcc-arm-none-eabi-4_9-2015q3 -b /ti/PDK_AM~1/ packages/ti/build/am335x/config_am335x_a8.bld --ol /ti/PDK_AM~1/packages/ti/bina ry/pm_rtos_app/obj/evmAM335x/a8host/release/pm_rtos_app_configuro/linker_mod.cmd /ti/PDK_AM~1/packages/ti/drv/pm/examples/pmrtos/pm_a8.cfg making package.mak (because of package.bld) ... generating interfaces for package pm_rtos_app_configuro (because package/package .xdc.inc is older than package.xdc) ... configuring pm_a8.xa8fg from package/cfg/pm_a8_pa8fg.cfg ... generating custom ti.sysbios library makefile ... System environment LIBDIR variable defined : ./lib Linking with library ti.drv.i2c:./lib/am335x/a8/release/ti.drv.i2c.aa8fg System environment LIBDIR variable defined : ./lib Linking with library ti.drv.uart:./lib/a8/release/ti.drv.uart.aa8fg System environment LIBDIR variable defined : ./lib Linking with library ti.board:./lib/evmAM335x/a8/release/ti.board.aa8fg System environment LIBDIR variable defined : ./lib Linking with library ti.csl:./lib/am335x/a8/release/ti.csl.aa8fg System environment LIBDIR variable defined : ./lib Linking with library ti.osal:./lib/tirtos/a8/release/ti.osal.aa8fg Starting build of library sources ... making C:/ti/PDK_AM~1/packages/ti/binary/pm_rtos_app/obj/evmAM335x/a8host/releas e/pm_rtos_app_configuro/package/cfg/pm_a8_pa8fg.src/sysbios/sysbios.aa8fg ... gmake[1]: Entering directory `C:/ti/PDK_AM~1/packages/ti/binary/pm_rtos_app/obj/ evmAM335x/a8host/release/pm_rtos_app_configuro/package/cfg/pm_a8_pa8fg.src/sysbi os' asma8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/family/arm/IntrinsicsSupport_a sm_gnu.asm ... 4 [main] sh 13428 C:\ti\xdctools_3_32_01_22_core\bin\sh.exe: *** fatal err or - fork: can't reserve memory for stack 0x29C780 - 0x2A0000, Win32 error 487 4 [main] sh 13428 C:\ti\xdctools_3_32_01_22_core\bin\sh.exe: *** fatal err or - fork: can't reserve memory for stack 0x29C780 - 0x2A0000, Win32 error 487
Can anyone point me to what is wrong? This is 100,000's of lines into these packages that are supposed to work "right out of the box". Is it because the build is happening with the old XDC 3.32?
When this error occurs, there are 10 child "gmake.exe" processing stalled, 8 child "sh.exe" processes stalled (and 1 xdc.exe, and 2 xs.exe). Eventually, the cmd window starts spitting out messages like this
6 [main] sh 11484 child_info::sync: wait failed, pid 13428, Win32 error 18 12 6 [main] sh 11484 child_info::sync: wait failed, pid 13428, Win32 error 18 12 3868 [main] sh 11484 fork: child -1 - died waiting for longjmp before initial ization, retry 10, exit code 0x1000000, errno 11 3868 [main] sh 11484 fork: child -1 - died waiting for longjmp before initial ization, retry 10, exit code 0x1000000, errno 11 C:/Users/scott/AppData/Local/Temp/make8604-1.sh: Cannot fork: Resource temporari ly unavailable gmake[1]: *** [arm_IntrinsicsSupport_asm_gnu.o] Error 2 gmake[1]: Leaving directory `C:/ti/PDK_AM~1/packages/ti/binary/pm_rtos_app/obj/e vmAM335x/a8host/release/pm_rtos_app_configuro/package/cfg/pm_a8_pa8fg.src/sysbio s' gmake: *** [C:/ti/PDK_AM~1/packages/ti/binary/pm_rtos_app/obj/evmAM335x/a8host/r elease/pm_rtos_app_configuro/package/cfg/pm_a8_pa8fg.src/sysbios/sysbios.aa8fg] Error 2
Can anyone help? Tell me what to do to get these packages working?
-CSW