Please note as of Wednesday, August 15th, 2018 this wiki has been set to read only. If you are a TI Employee and require Edit ability please contact x0211426 from the company directory.

Troubleshooting SysLink Build Issues

From Texas Instruments Wiki
Jump to: navigation, search

Overview

SysLink is provided with full source code and an associated simple build system. This page gives a trouble-shooting guide for resolving common build issues seen with SysLink, by identifying the causes for various common failure scenarios, and providing possible solutions.

Trouble-shooting guide

Problem: Getting warning when I build RTOS-side application in whole_program_debug mode

Symptom: I am getting a build warning when I build my RTOS-side application in whole_progam_debug mode. Should I be worried?

lnke674 ti_syslink_samples_rtos_platforms_ti816x_dsp/whole_program_debug/heapbufmp_ti81xx_dsp.xe674 ...
"package/cfg/ti_syslink_samples_rtos_platforms_ti816x_dsp/whole_program_debug/heapbufmp_ti81xx_dsp.opte674", WARNING! at line 37617:
 [W9999]
         Placing data in a code section (.text) is discouraged. The data may
           be interpreted as code. This section will not be compressed.
                b _c_int00

No Assembly Errors, 1 Assembly Warning

Possible cause: This warning is expected and is currently a known issue. The warning can be safely ignored. This warning is coming from SysLink/IPC. SysLink on HLOS-side currently supports a feature to read information from the slave target memory to auto-configure HLOS-side with the memory map. This enables slave memory map and shared memory (SharedRegion) configurations to be automatically configured on HLOS-side. For this, SysLink uses a slave executable section with information in it. But it needs to be initialized at load time so that HLOS-side SysLink can read the information and do required mappings on HLOS-side before the slave starts executing. In addition, this also needs to be supported for the use-case where ProcMgr is not used. When an external loader is used, SysLink still reads the contents from target memory section (address provided by user) since SysLink does not have the slave executable to parse.


Problem: Build warning "entry-point symbol other than "_c_int00" specified."

Symptom: I am getting a build warning when I build RTOS-side application:

warning: entry-point symbol other than "_c_int00" specified:

   "ti_sysbios_family_c64p_Hwi0"

Possible cause: This warning is expected and can be ignored. This is intentionally done by SysLink to enable the HLOS-side loader to meet the alignment constraints for the boot address for the DSP. The C64x DSP requires the entry point to be aligned to 0x400 when booted with the contents placed in the host boot register. By setting the entry point to the ti_sysbios_family_c64p_Hwi0, this alignment constraint is automatically ensured.

Problem: Build error: abnormal termination or compilation failure

Symptom:My compilation fails with following error

No Assembly Errors, 1 Assembly Warning

abnormal termination of /home/toolchains/CGTools/bin/cmp6x

>> Compilation failure
fatal error: Failed linktime optimization
gmake[1]: *** [ti_syslink_samples_rtos_platforms_ti816x_dsp/whole_program_debug/frameq_ti81xx_dsp.xe674] Error 1
gmake: *** [samples/rtos/frameq,.executables] Error 2

Possible cause: This error occurs when the system memory is not sufficient for the compiler to finish its job. xdc build requires higher memory than the linux build, usually the build server is expected to have at least 1GB of RAM for the build to complete without such errors.
Note: If you are running Linux using a Virtual Machine, make sure you have enough memory(>= 1GB) available for the same.
Possible cause: You must also verify if the code gen tools version and path to CGtools are correctly set in $(SYSLINK_ROOT)/config.bld file.

Problem: Build error "line 82: Error: Library not found: ti.sdo.ipc.transports.anull"

Symptom:My compilation fails with following error

"line 82: Error: Library not found: ti.sdo.ipc.transports.anull"

Possible cause: Check if the IPC package is correctly installed. Corrupt IPC package might introduce this error. Re-install IPC package
Possible cause: Did you try to re-build IPC package? Check if the IPC package is correctly re-built. Corrupt IPC package might introduce this error. Re-install IPC package.

Problem: Build error due to Warning: xdc.cfg.INCOMPATIBLE_TARGET_VERSION: current target

Symptom:My compilation fails with following error

configuring evmDA830_dsp/debug/notify_omapl1xx_dsp.xe674 from package/cfg/evmDA830_dsp/debug/notify_
omapl1xx_dsp_xe674.cfg ...
Warning: xdc.cfg.INCOMPATIBLE_TARGET_VERSION: current target 'ti.targets.elf.C674' [1,0,7.0,3] is not compatible with targets used to build the following packages; package ti.targets.rts6000 [in C:/ProgramFiles/TexasInstruments/xdctools_3_20_05_76/packages/ti/targets/rts6000/] was built using 'ti.targets.elf.C674' [1,0,7.1,0,2]

Possible cause: Incorrect version of XDC tools in the path or environment variables or the build system clashing with the XDC tools that you want to use. Check the environment variables for the cause of the clash in XDC tools and remove it.

Problem: I want to build DSP core of TI816x. Why do I see evmDA830 related prints in the build log?

Possible cause: Config.bld builds the RTOS code based on target. The C674 target contains the build entry for DA830 as well. Comment this line in config.bld

//set default platform and list of all interested platforms for c674
C674_COFF.platforms = [
//                    "ti.platforms.evmDA830:dsp",
                    "ti.syslink.samples.rtos.platforms.ti816x.dsp",