This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

RTOS/AM3358: Performance issue with new SDK

Part Number: AM3358
Other Parts Discussed in Thread: SYSBIOS

Tool/software: TI-RTOS

I am working on a BBB target and just recently switched to the Processor SDK TIRTOS 4_02_00_09.

In my code I have a 100hz task that is processing sensor data and a 1 hz task that is doing processor heavy updates.

The 100 hz task is higher priority than the 1 hz task.

When using  Processor SDK TIRTOS 4_01_00_06, my 100 hz task runs without missing a beat (I put a counter on the semaphore controlling the task and it was always 0 so I know it is being called fast enough).  My low rate task is running slower than 1 hz but that is a separate issue (the task priorities are working as I intended).

When using Processor SDK TIRTOS 4_02_00_09, my 100 hz task can't keep up!  My counter is into the 1000s and barely seems to be serviced at all and my 1 hz taks NEVER runs!

I am using identical code between the builds.  

Here are the 4_01_00_06 Products I am building with:

Here are my 4_02_00_09  products:

Note that I did not actually have both SDKs installed when I found this issue but recently added them back in to verify what I was seeing. 

Also, the main 100 hz loop is running SPI to read sensor data so SPI and GPIO (to control the chip select) are the only peripherals I am using on this build. 

  • The RTOS team have been notified. They will respond here.
  • Alexander,

    If you used BIOS version 6.46.5.55 with your 4_02_00_09 environment, does it work then?
    Just checking if there are any deltas in behavior of your application between the two versions.

    Lali
  • The project that is slow does not build with my 6.46.5.55 settings:


    **** Build of configuration Debug for project MCSPI_SlaveMode_SlaveExample_bbbAM335x_armExampleProject ****

    "C:\\ti\\ccsv7\\utils\\bin\\gmake" -k -j 4 all -O

    'Building file: "../spi_arm_bbbAM335x_slavemode.cfg"'
    'Invoking: XDCtools'
    "C:/ti/xdctools_3_32_01_22_core/xs" --xdcpath="C:/ti/bios_6_46_05_55/packages;C:/ti/pdk_am335x_1_0_8/packages;C:/ti/edma3_lld_2_12_05_30B/packages;C:/ti/ndk_2_25_01_11/packages;C:/ti/ccsv7/ccs_base;" xdc.tools.configuro -o configPkg -t gnu.targets.arm.A8F -p ti.platforms.beaglebone -r debug -c "C:/ti/gcc-arm-none-eabi-6-2017-q1-update" "../spi_arm_bbbAM335x_slavemode.cfg"
    making package.mak (because of package.bld) ...
    generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...
    configuring spi_arm_bbbAM335x_slavemode.xa8fg from package/cfg/spi_arm_bbbAM335x_slavemode_pa8fg.cfg ...
    generating custom ti.sysbios library makefile ...
    Linking with library ti.drv.uart:./lib/am335x/a8/release/ti.drv.uart.aa8fg
    Linking with library ti.board:./lib/bbbAM335x/a8/release/ti.board.aa8fg
    Linking with library ti.drv.i2c:./lib/am335x/a8/release/ti.drv.i2c.aa8fg
    Linking with library ti.drv.spi:./lib/am335x/a8/release/ti.drv.spi.aa8fg
    Linking with library ti.csl:./lib/am335x/a8/release/ti.csl.aa8fg
    Linking with library ti.osal:./lib/tirtos/a8/release/ti.osal.aa8fg
    Starting build of library sources ...
    making C:/Users/.../CCSworkspace/MCSPI_SlaveMode_SlaveExample_bbbAM335x_armExampleProject/src/sysbios/sysbios.aa8fg ...
    gmake[1]: Entering directory `C:/Users/.../CCSworkspace/MCSPI_SlaveMode_SlaveExample_bbbAM335x_armExampleProject/src/sysbios'
    asma8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/family/arm/IntrinsicsSupport_asm_gnu.asm ...
    asma8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/family/arm/TaskSupport_asm_gnu.asm ...
    asma8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/family/arm/a8/Cache_asm_gnu.sv7A ...
    asma8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/family/arm/a8/Mmu_asm_gnu.sv7A ...
    asma8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/family/arm/a8/TimestampProvider_asm_gnu.sv7A ...
    asma8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/family/arm/a8/intcps/Hwi_asm_gnu.sv7A ...
    asma8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/family/arm/exc/Exception_asm_gnu.asm ...
    asma8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/timers/dmtimer/Timer_asm_gnu.sv7A ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/BIOS.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/family/arm/IntrinsicsSupport.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/family/arm/TaskSupport.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/knl/Clock.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/knl/Idle.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/knl/Intrinsics.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/knl/Queue.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/knl/Semaphore.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/knl/Swi.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/knl/Swi_andn.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/knl/Task.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/hal/Cache.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/hal/Core.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/hal/CoreNull.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/hal/Hwi.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/hal/Hwi_stack.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/hal/Hwi_startup.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/hal/Timer.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/heaps/HeapMem.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/heaps/HeapTrack.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/rts/gnu/ReentSupport.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/rts/gnu/SemiHostSupport.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/family/arm/a8/Cache.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/family/arm/a8/Mmu.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/family/arm/a8/TimestampProvider.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/family/arm/a8/intcps/Hwi.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/family/arm/exc/Exception.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/gates/GateHwi.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/gates/GateMutex.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/timers/dmtimer/Timer.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/family/arm/a8/ti81xx/TimerSupport.c ...
    ara8fg arm_IntrinsicsSupport_asm_gnu.o arm_TaskSupport_asm_gnu.o a8_Cache_asm_gnu.o a8_Mmu_asm_gnu.o a8_TimestampProvider_asm_gnu.o intcps_Hwi_asm_gnu.o exc_Exception_asm_gnu.o dmtimer_Timer_asm_gnu.o _BIOS.o arm_IntrinsicsSupport.o arm_TaskSupport.o knl_Clock.o knl_Idle.o knl_Intrinsics.o knl_Queue.o knl_Semaphore.o knl_Swi.o knl_Swi_andn.o knl_Task.o hal_Cache.o hal_Core.o hal_CoreNull.o hal_Hwi.o hal_Hwi_stack.o hal_Hwi_startup.o hal_Timer.o heaps_HeapMem.o heaps_HeapTrack.o gnu_ReentSupport.o gnu_SemiHostSupport.o a8_Cache.o a8_Mmu.o a8_TimestampProvider.o intcps_Hwi.o exc_Exception.o gates_GateHwi.o gates_GateMutex.o dmtimer_Timer.o ti81xx_TimerSupport.o ...
    gmake[1]: Leaving directory `C:/Users/frickas/Documents/CATT/CODE/CCSworkspace/MCSPI_SlaveMode_SlaveExample_bbbAM335x_armExampleProject/src/sysbios'
    Build of libraries done.
    cla8fg package/cfg/spi_arm_bbbAM335x_slavemode_pa8fg.c ...
    'Finished building: "../spi_arm_bbbAM335x_slavemode.cfg"'

    'Building file: "../I2C_soc.c"'
    'Invoking: GNU Compiler'
    "C:/ti/gcc-arm-none-eabi-6-2017-q1-update/bin/arm-none-eabi-gcc.exe" -c -mcpu=cortex-a8 -mtune=cortex-a8 -march=armv7-a -marm -mfloat-abi=hard -mfpu=neon-fp-armv8 -Dam3359 -DSOC_AM335x -DbbbAM335x -DMCSPI_SLAVE_TASK -DMCSPI_MULT_CHANNEL -I"C:/Users/frickas/Documents/CATT/CODE/CCSworkspace/MCSPI_SlaveMode_SlaveExample_bbbAM335x_armExampleProject" -I"C:/ti/gcc-arm-none-eabi-6-2017-q1-update/arm-none-eabi/include/newlib-nano" -I"C:/ti/pdk_am335x_1_0_9/packages/ti/drv/spi" -I"C:/ti/gcc-arm-none-eabi-6-2017-q1-update/arm-none-eabi/include" -g -gdwarf-3 -gstrict-dwarf -Wall -MMD -MP -MF"I2C_soc.d" -MT"I2C_soc.o" @"configPkg/compiler.opt" -o"I2C_soc.o" "../I2C_soc.c"
    'Finished building: "../I2C_soc.c"'

    'Building file: "../GPIO_soc.c"'
    'Invoking: GNU Compiler'
    "C:/ti/gcc-arm-none-eabi-6-2017-q1-update/bin/arm-none-eabi-gcc.exe" -c -mcpu=cortex-a8 -mtune=cortex-a8 -march=armv7-a -marm -mfloat-abi=hard -mfpu=neon-fp-armv8 -Dam3359 -DSOC_AM335x -DbbbAM335x -DMCSPI_SLAVE_TASK -DMCSPI_MULT_CHANNEL -I"C:/Users/frickas/Documents/CATT/CODE/CCSworkspace/MCSPI_SlaveMode_SlaveExample_bbbAM335x_armExampleProject" -I"C:/ti/gcc-arm-none-eabi-6-2017-q1-update/arm-none-eabi/include/newlib-nano" -I"C:/ti/pdk_am335x_1_0_9/packages/ti/drv/spi" -I"C:/ti/gcc-arm-none-eabi-6-2017-q1-update/arm-none-eabi/include" -g -gdwarf-3 -gstrict-dwarf -Wall -MMD -MP -MF"GPIO_soc.d" -MT"GPIO_soc.o" @"configPkg/compiler.opt" -o"GPIO_soc.o" "../GPIO_soc.c"
    'Finished building: "../GPIO_soc.c"'

    'Building file: "../SPI_log.c"'
    'Invoking: GNU Compiler'
    "C:/ti/gcc-arm-none-eabi-6-2017-q1-update/bin/arm-none-eabi-gcc.exe" -c -mcpu=cortex-a8 -mtune=cortex-a8 -march=armv7-a -marm -mfloat-abi=hard -mfpu=neon-fp-armv8 -Dam3359 -DSOC_AM335x -DbbbAM335x -DMCSPI_SLAVE_TASK -DMCSPI_MULT_CHANNEL -I"C:/Users/frickas/Documents/CATT/CODE/CCSworkspace/MCSPI_SlaveMode_SlaveExample_bbbAM335x_armExampleProject" -I"C:/ti/gcc-arm-none-eabi-6-2017-q1-update/arm-none-eabi/include/newlib-nano" -I"C:/ti/pdk_am335x_1_0_9/packages/ti/drv/spi" -I"C:/ti/gcc-arm-none-eabi-6-2017-q1-update/arm-none-eabi/include" -g -gdwarf-3 -gstrict-dwarf -Wall -MMD -MP -MF"SPI_log.d" -MT"SPI_log.o" @"configPkg/compiler.opt" -o"SPI_log.o" "../SPI_log.c"
    'Finished building: "../SPI_log.c"'

    'Building file: "../main_mcspi_slave_mode.c"'
    'Invoking: GNU Compiler'
    "C:/ti/gcc-arm-none-eabi-6-2017-q1-update/bin/arm-none-eabi-gcc.exe" -c -mcpu=cortex-a8 -mtune=cortex-a8 -march=armv7-a -marm -mfloat-abi=hard -mfpu=neon-fp-armv8 -Dam3359 -DSOC_AM335x -DbbbAM335x -DMCSPI_SLAVE_TASK -DMCSPI_MULT_CHANNEL -I"C:/Users/frickas/Documents/CATT/CODE/CCSworkspace/MCSPI_SlaveMode_SlaveExample_bbbAM335x_armExampleProject" -I"C:/ti/gcc-arm-none-eabi-6-2017-q1-update/arm-none-eabi/include/newlib-nano" -I"C:/ti/pdk_am335x_1_0_9/packages/ti/drv/spi" -I"C:/ti/gcc-arm-none-eabi-6-2017-q1-update/arm-none-eabi/include" -g -gdwarf-3 -gstrict-dwarf -Wall -MMD -MP -MF"main_mcspi_slave_mode.d" -MT"main_mcspi_slave_mode.o" @"configPkg/compiler.opt" -o"main_mcspi_slave_mode.o" "../main_mcspi_slave_mode.c"
    'Finished building: "../main_mcspi_slave_mode.c"'

    'Building target: "MCSPI_SlaveMode_SlaveExample_bbbAM335x_armExampleProject.out"'
    'Invoking: GNU Linker'
    "C:/ti/gcc-arm-none-eabi-6-2017-q1-update/bin/arm-none-eabi-gcc.exe" -mtune=cortex-a8 -marm -Dam3359 -DSOC_AM335x -DbbbAM335x -DMCSPI_SLAVE_TASK -DMCSPI_MULT_CHANNEL -g -gdwarf-3 -gstrict-dwarf -Wall -mfloat-abi=hard -Wl,-Map,"MCSPI_SlaveMode_SlaveExample_bbbAM335x_armExampleProject.map" -nostartfiles -static -Wl,--gc-sections -L"C:/ti/bios_6_46_05_55/packages/gnu/targets/arm/libs/install-native/arm-none-eabi/lib/hard" -Wl,--defsym,STACKSIZE=0x1C000 -Wl,--defsym,HEAPSIZE=0x400 --specs=nano.specs -o"MCSPI_SlaveMode_SlaveExample_bbbAM335x_armExampleProject.out" "./GPIO_soc.o" "./I2C_soc.o" "./SPI_log.o" "./main_mcspi_slave_mode.o" "./Navigation_System_grt_rtw/Navigation_System.o" "./Navigation_System_grt_rtw/Navigation_System_Blk.o" "./Navigation_System_grt_rtw/Navigation_System_data.o" "./Navigation_System_grt_rtw/rtGetInf.o" "./Navigation_System_grt_rtw/rtGetNaN.o" "./Navigation_System_grt_rtw/rt_nonfinite.o" "./Navigation_System_grt_rtw/slMsgSvc.o" -Wl,-T"configPkg/linker.cmd" -Wl,--start-group -lrdimon -lgcc -lm -lnosys -lc -Wl,--end-group
    makefile:158: recipe for target 'MCSPI_SlaveMode_SlaveExample_bbbAM335x_armExampleProject.out' failed
    C:\Users\...\CCSworkspace\MCSPI_SlaveMode_SlaveExample_bbbAM335x_armExampleProject\src\sysbios\sysbios.aa8fg(gnu_ReentSupport.o): In function `ti_sysbios_rts_gnu_ReentSupport_Module_startup__E':
    ReentSupport.c:(.text.ti_sysbios_rts_gnu_ReentSupport_Module_startup__E+0x30): undefined reference to `ti_sysbios_rts_gnu_ReentSupport_checkIfCorrectLibrary'
    collect2.exe: error: ld returned 1 exit status
    gmake[1]: *** [MCSPI_SlaveMode_SlaveExample_bbbAM335x_armExampleProject.out] Error 1
    gmake: *** [all] Error 2
    makefile:154: recipe for target 'all' failed

    **** Build Finished ****

  • Alexander,
    Is there a way I can reproduce this with one of the examples in the SDK?
    or perhaps can you share a project that exhibits this behavior, then we can dig into it to see.

    Lali
  • I played with some simple files and couldn't see much difference. The easiest way to do this would be for me to send you my project but I can't post it on this site and I would have to make sure we have an NDA in place before I sent anything as well.

    Let me know how we could proceed.

    Thanks.
  • Alexander,

    Without having to share your project, is there some other way?
    Perhaps a combination of peripherals to reproduce this on the BBB based on PDK examples?

    Lali
  • Lali,
    I really don't have time to go in and play with a bunch of examples and try to figure out what is going on between the SDK versions. I think I have exhausted most of the setting type errors as the projects files (including the .cfg), symbols, linked libraries are all the same. The differences are in the GNU 4.9.3 vs 6.3.1 and the SDK libraries as I have posted initially.

    One item that you could look into is that my project is using a lot of stack and heap (on the order of 6000000 each) so was there any change in the BBB board configuration that could have been messed up with regard to memory allocation and usage?

    If I run just my 100 hz loop that reads the SPI, the project seems to run OK and keep up but I am not setup to find small differences in timing, I only tested that the 100 hz loop is keeping up by not seeing any semaphore counts in the task.

    So the issue is when I am using a large stack/heap in my 1 hz task that seems to mess up everything.

    Not sure if that helps but maybe it helps narrow your search.
  • More information for you:
    As I mention above, one of the changes with the SDK change was going form GNU 4.9.3 (works) to GNU 6.3.1 (slow).

    I just built my 4.01 working program with 6.3.1 and it works but it seems to run my 1 hz loop slower – going from ~ 7 seconds with 4.9.3 to ~25 seconds with 6.3.1.

    I built my 4.02 sdk version with GNU 4.9.3 and it still doesn’t work (the 1 hz loop doesn't run).
  • Some more information for you:

    I built my working code with the new 1.0.9 PDK, 4.9.3 GNU compiler and the following other packages and my code runs:

    I then tried to build my program that was created from the SPI example made with 1.0.9 PDK projectcreate.bat (the program that has been running slow this whole time) to see if the above configuration works and I get the following build error:

    **** Build of configuration Debug for project MCSPI_SlaveMode_SlaveExample_bbbAM335x_armExampleProject ****

    "C:\\ti\\ccsv7\\utils\\bin\\gmake" -k -j 4 all -O

    'Building file: "../spi_arm_bbbAM335x_slavemode.cfg"'
    'Invoking: XDCtools'
    "C:/ti/xdctools_3_32_01_22_core/xs" --xdcpath="C:/ti/bios_6_46_05_55/packages;C:/ti/pdk_am335x_1_0_9/packages;C:/ti/edma3_lld_2_12_05_30B/packages;C:/ti/ndk_2_25_01_11/packages;C:/ti/ccsv7/ccs_base;" xdc.tools.configuro -o configPkg -t gnu.targets.arm.A8F -p ti.platforms.beaglebone -r debug -c "C:/ti/gcc-arm-none-eabi-4_9-2015q3" "../spi_arm_bbbAM335x_slavemode.cfg"
    making package.mak (because of package.bld) ...
    generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...
    configuring spi_arm_bbbAM335x_slavemode.xa8fg from package/cfg/spi_arm_bbbAM335x_slavemode_pa8fg.cfg ...
    generating custom ti.sysbios library makefile ...
    Linking with library ti.transport.ndk.nimu:./lib/am335x/a8/release/ti.transport.ndk.nimu.aa8fg
    Linking with library ti.drv.emac:./lib/am335x/a8/release/ti.drv.emac.aa8fg
    Linking with library ti.drv.uart:./lib/am335x/a8/release/ti.drv.uart.aa8fg
    Linking with library ti.board:./lib/bbbAM335x/a8/release/ti.board.aa8fg
    Linking with library ti.drv.i2c:./lib/am335x/a8/release/ti.drv.i2c.aa8fg
    Linking with library ti.drv.spi:./lib/am335x/a8/release/ti.drv.spi.aa8fg
    Linking with library ti.csl:./lib/am335x/a8/release/ti.csl.aa8fg
    Linking with library ti.osal:./lib/tirtos/a8/release/ti.osal.aa8fg
    Starting build of library sources ...
    making C:/Users/frickas/Documents/CATT/CODE/CCSworkspace/MCSPI_SlaveMode_SlaveExample_bbbAM335x_armExampleProject/src/sysbios/sysbios.aa8fg ...
    gmake[1]: Entering directory `C:/Users/frickas/Documents/CATT/CODE/CCSworkspace/MCSPI_SlaveMode_SlaveExample_bbbAM335x_armExampleProject/src/sysbios'
    asma8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/family/arm/IntrinsicsSupport_asm_gnu.asm ...
    asma8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/family/arm/TaskSupport_asm_gnu.asm ...
    asma8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/family/arm/a8/Cache_asm_gnu.sv7A ...
    asma8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/family/arm/a8/Mmu_asm_gnu.sv7A ...
    asma8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/family/arm/a8/TimestampProvider_asm_gnu.sv7A ...
    asma8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/family/arm/a8/intcps/Hwi_asm_gnu.sv7A ...
    asma8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/family/arm/exc/Exception_asm_gnu.asm ...
    asma8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/timers/dmtimer/Timer_asm_gnu.sv7A ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/BIOS.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/family/arm/IntrinsicsSupport.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/family/arm/TaskSupport.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/knl/Clock.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/knl/Idle.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/knl/Intrinsics.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/knl/Queue.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/knl/Semaphore.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/knl/Swi.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/knl/Swi_andn.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/knl/Task.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/hal/Cache.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/hal/Core.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/hal/CoreNull.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/hal/Hwi.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/hal/Hwi_stack.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/hal/Hwi_startup.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/hal/Timer.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/heaps/HeapMem.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/heaps/HeapTrack.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/rts/gnu/ReentSupport.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/rts/gnu/SemiHostSupport.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/family/arm/a8/Cache.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/family/arm/a8/Mmu.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/family/arm/a8/TimestampProvider.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/family/arm/a8/intcps/Hwi.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/family/arm/exc/Exception.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/gates/GateHwi.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/gates/GateMutex.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/timers/dmtimer/Timer.c ...
    cla8fg C:/ti/bios_6_46_05_55/packages/ti/sysbios/family/arm/a8/ti81xx/TimerSupport.c ...
    ara8fg arm_IntrinsicsSupport_asm_gnu.o arm_TaskSupport_asm_gnu.o a8_Cache_asm_gnu.o a8_Mmu_asm_gnu.o a8_TimestampProvider_asm_gnu.o intcps_Hwi_asm_gnu.o exc_Exception_asm_gnu.o dmtimer_Timer_asm_gnu.o _BIOS.o arm_IntrinsicsSupport.o arm_TaskSupport.o knl_Clock.o knl_Idle.o knl_Intrinsics.o knl_Queue.o knl_Semaphore.o knl_Swi.o knl_Swi_andn.o knl_Task.o hal_Cache.o hal_Core.o hal_CoreNull.o hal_Hwi.o hal_Hwi_stack.o hal_Hwi_startup.o hal_Timer.o heaps_HeapMem.o heaps_HeapTrack.o gnu_ReentSupport.o gnu_SemiHostSupport.o a8_Cache.o a8_Mmu.o a8_TimestampProvider.o intcps_Hwi.o exc_Exception.o gates_GateHwi.o gates_GateMutex.o dmtimer_Timer.o ti81xx_TimerSupport.o ...
    gmake[1]: Leaving directory `C:/Users/frickas/Documents/CATT/CODE/CCSworkspace/MCSPI_SlaveMode_SlaveExample_bbbAM335x_armExampleProject/src/sysbios'
    Build of libraries done.
    cla8fg package/cfg/spi_arm_bbbAM335x_slavemode_pa8fg.c ...
    'Finished building: "../spi_arm_bbbAM335x_slavemode.cfg"'

    'Building file: "../I2C_soc.c"'
    'Invoking: GNU Compiler'
    "C:/ti/gcc-arm-none-eabi-4_9-2015q3/bin/arm-none-eabi-gcc.exe" -c -mcpu=cortex-a8 -mtune=cortex-a8 -march=armv7-a -marm -mfloat-abi=hard -mfpu=vfpv3 -Dam3359 -DSOC_AM335x -DbbbAM335x -DMCSPI_MASTER_TASK -DMCSPI_MULT_CHANNEL -I"C:/Users/frickas/Documents/CATT/CODE/CCSworkspace/MCSPI_SlaveMode_SlaveExample_bbbAM335x_armExampleProject" -I"C:/ti/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/include/newlib-nano" -I"C:/ti/pdk_am335x_1_0_9/packages/ti/drv/spi" -I"C:/ti/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/include" -g -gdwarf-3 -gstrict-dwarf -Wall -MMD -MP -MF"I2C_soc.d" -MT"I2C_soc.o" @"configPkg/compiler.opt" -o"I2C_soc.o" "../I2C_soc.c"
    'Finished building: "../I2C_soc.c"'

    'Building file: "../SPI_log.c"'
    'Invoking: GNU Compiler'
    "C:/ti/gcc-arm-none-eabi-4_9-2015q3/bin/arm-none-eabi-gcc.exe" -c -mcpu=cortex-a8 -mtune=cortex-a8 -march=armv7-a -marm -mfloat-abi=hard -mfpu=vfpv3 -Dam3359 -DSOC_AM335x -DbbbAM335x -DMCSPI_MASTER_TASK -DMCSPI_MULT_CHANNEL -I"C:/Users/frickas/Documents/CATT/CODE/CCSworkspace/MCSPI_SlaveMode_SlaveExample_bbbAM335x_armExampleProject" -I"C:/ti/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/include/newlib-nano" -I"C:/ti/pdk_am335x_1_0_9/packages/ti/drv/spi" -I"C:/ti/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/include" -g -gdwarf-3 -gstrict-dwarf -Wall -MMD -MP -MF"SPI_log.d" -MT"SPI_log.o" @"configPkg/compiler.opt" -o"SPI_log.o" "../SPI_log.c"
    'Finished building: "../SPI_log.c"'

    'Building file: "../GPIO_soc.c"'
    'Invoking: GNU Compiler'
    "C:/ti/gcc-arm-none-eabi-4_9-2015q3/bin/arm-none-eabi-gcc.exe" -c -mcpu=cortex-a8 -mtune=cortex-a8 -march=armv7-a -marm -mfloat-abi=hard -mfpu=vfpv3 -Dam3359 -DSOC_AM335x -DbbbAM335x -DMCSPI_MASTER_TASK -DMCSPI_MULT_CHANNEL -I"C:/Users/frickas/Documents/CATT/CODE/CCSworkspace/MCSPI_SlaveMode_SlaveExample_bbbAM335x_armExampleProject" -I"C:/ti/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/include/newlib-nano" -I"C:/ti/pdk_am335x_1_0_9/packages/ti/drv/spi" -I"C:/ti/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/include" -g -gdwarf-3 -gstrict-dwarf -Wall -MMD -MP -MF"GPIO_soc.d" -MT"GPIO_soc.o" @"configPkg/compiler.opt" -o"GPIO_soc.o" "../GPIO_soc.c"
    'Finished building: "../GPIO_soc.c"'

    'Building file: "../main_mcspi_slave_mode.c"'
    'Invoking: GNU Compiler'
    "C:/ti/gcc-arm-none-eabi-4_9-2015q3/bin/arm-none-eabi-gcc.exe" -c -mcpu=cortex-a8 -mtune=cortex-a8 -march=armv7-a -marm -mfloat-abi=hard -mfpu=vfpv3 -Dam3359 -DSOC_AM335x -DbbbAM335x -DMCSPI_MASTER_TASK -DMCSPI_MULT_CHANNEL -I"C:/Users/frickas/Documents/CATT/CODE/CCSworkspace/MCSPI_SlaveMode_SlaveExample_bbbAM335x_armExampleProject" -I"C:/ti/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/include/newlib-nano" -I"C:/ti/pdk_am335x_1_0_9/packages/ti/drv/spi" -I"C:/ti/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/include" -g -gdwarf-3 -gstrict-dwarf -Wall -MMD -MP -MF"main_mcspi_slave_mode.d" -MT"main_mcspi_slave_mode.o" @"configPkg/compiler.opt" -o"main_mcspi_slave_mode.o" "../main_mcspi_slave_mode.c"
    'Finished building: "../main_mcspi_slave_mode.c"'

    'Building file: "../Navigation_System_grt_rtw/Navigation_System_data.c"'
    'Invoking: GNU Compiler'
    "C:/ti/gcc-arm-none-eabi-4_9-2015q3/bin/arm-none-eabi-gcc.exe" -c -mcpu=cortex-a8 -mtune=cortex-a8 -march=armv7-a -marm -mfloat-abi=hard -mfpu=vfpv3 -Dam3359 -DSOC_AM335x -DbbbAM335x -DMCSPI_MASTER_TASK -DMCSPI_MULT_CHANNEL -I"C:/Users/frickas/Documents/CATT/CODE/CCSworkspace/MCSPI_SlaveMode_SlaveExample_bbbAM335x_armExampleProject" -I"C:/ti/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/include/newlib-nano" -I"C:/ti/pdk_am335x_1_0_9/packages/ti/drv/spi" -I"C:/ti/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/include" -g -gdwarf-3 -gstrict-dwarf -Wall -MMD -MP -MF"Navigation_System_grt_rtw/Navigation_System_data.d" -MT"Navigation_System_grt_rtw/Navigation_System_data.o" @"configPkg/compiler.opt" -o"Navigation_System_grt_rtw/Navigation_System_data.o" "../Navigation_System_grt_rtw/Navigation_System_data.c"
    'Finished building: "../Navigation_System_grt_rtw/Navigation_System_data.c"'

    'Building file: "../Navigation_System_grt_rtw/Navigation_System.c"'
    'Invoking: GNU Compiler'
    "C:/ti/gcc-arm-none-eabi-4_9-2015q3/bin/arm-none-eabi-gcc.exe" -c -mcpu=cortex-a8 -mtune=cortex-a8 -march=armv7-a -marm -mfloat-abi=hard -mfpu=vfpv3 -Dam3359 -DSOC_AM335x -DbbbAM335x -DMCSPI_MASTER_TASK -DMCSPI_MULT_CHANNEL -I"C:/Users/frickas/Documents/CATT/CODE/CCSworkspace/MCSPI_SlaveMode_SlaveExample_bbbAM335x_armExampleProject" -I"C:/ti/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/include/newlib-nano" -I"C:/ti/pdk_am335x_1_0_9/packages/ti/drv/spi" -I"C:/ti/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/include" -g -gdwarf-3 -gstrict-dwarf -Wall -MMD -MP -MF"Navigation_System_grt_rtw/Navigation_System.d" -MT"Navigation_System_grt_rtw/Navigation_System.o" @"configPkg/compiler.opt" -o"Navigation_System_grt_rtw/Navigation_System.o" "../Navigation_System_grt_rtw/Navigation_System.c"
    'Finished building: "../Navigation_System_grt_rtw/Navigation_System.c"'

    'Building file: "../Navigation_System_grt_rtw/rtGetInf.c"'
    'Invoking: GNU Compiler'
    "C:/ti/gcc-arm-none-eabi-4_9-2015q3/bin/arm-none-eabi-gcc.exe" -c -mcpu=cortex-a8 -mtune=cortex-a8 -march=armv7-a -marm -mfloat-abi=hard -mfpu=vfpv3 -Dam3359 -DSOC_AM335x -DbbbAM335x -DMCSPI_MASTER_TASK -DMCSPI_MULT_CHANNEL -I"C:/Users/frickas/Documents/CATT/CODE/CCSworkspace/MCSPI_SlaveMode_SlaveExample_bbbAM335x_armExampleProject" -I"C:/ti/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/include/newlib-nano" -I"C:/ti/pdk_am335x_1_0_9/packages/ti/drv/spi" -I"C:/ti/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/include" -g -gdwarf-3 -gstrict-dwarf -Wall -MMD -MP -MF"Navigation_System_grt_rtw/rtGetInf.d" -MT"Navigation_System_grt_rtw/rtGetInf.o" @"configPkg/compiler.opt" -o"Navigation_System_grt_rtw/rtGetInf.o" "../Navigation_System_grt_rtw/rtGetInf.c"
    'Finished building: "../Navigation_System_grt_rtw/rtGetInf.c"'

    'Building file: "../Navigation_System_grt_rtw/rtGetNaN.c"'
    'Invoking: GNU Compiler'
    "C:/ti/gcc-arm-none-eabi-4_9-2015q3/bin/arm-none-eabi-gcc.exe" -c -mcpu=cortex-a8 -mtune=cortex-a8 -march=armv7-a -marm -mfloat-abi=hard -mfpu=vfpv3 -Dam3359 -DSOC_AM335x -DbbbAM335x -DMCSPI_MASTER_TASK -DMCSPI_MULT_CHANNEL -I"C:/Users/frickas/Documents/CATT/CODE/CCSworkspace/MCSPI_SlaveMode_SlaveExample_bbbAM335x_armExampleProject" -I"C:/ti/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/include/newlib-nano" -I"C:/ti/pdk_am335x_1_0_9/packages/ti/drv/spi" -I"C:/ti/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/include" -g -gdwarf-3 -gstrict-dwarf -Wall -MMD -MP -MF"Navigation_System_grt_rtw/rtGetNaN.d" -MT"Navigation_System_grt_rtw/rtGetNaN.o" @"configPkg/compiler.opt" -o"Navigation_System_grt_rtw/rtGetNaN.o" "../Navigation_System_grt_rtw/rtGetNaN.c"
    'Finished building: "../Navigation_System_grt_rtw/rtGetNaN.c"'

    'Building file: "../Navigation_System_grt_rtw/rt_nonfinite.c"'
    'Invoking: GNU Compiler'
    "C:/ti/gcc-arm-none-eabi-4_9-2015q3/bin/arm-none-eabi-gcc.exe" -c -mcpu=cortex-a8 -mtune=cortex-a8 -march=armv7-a -marm -mfloat-abi=hard -mfpu=vfpv3 -Dam3359 -DSOC_AM335x -DbbbAM335x -DMCSPI_MASTER_TASK -DMCSPI_MULT_CHANNEL -I"C:/Users/frickas/Documents/CATT/CODE/CCSworkspace/MCSPI_SlaveMode_SlaveExample_bbbAM335x_armExampleProject" -I"C:/ti/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/include/newlib-nano" -I"C:/ti/pdk_am335x_1_0_9/packages/ti/drv/spi" -I"C:/ti/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/include" -g -gdwarf-3 -gstrict-dwarf -Wall -MMD -MP -MF"Navigation_System_grt_rtw/rt_nonfinite.d" -MT"Navigation_System_grt_rtw/rt_nonfinite.o" @"configPkg/compiler.opt" -o"Navigation_System_grt_rtw/rt_nonfinite.o" "../Navigation_System_grt_rtw/rt_nonfinite.c"
    'Finished building: "../Navigation_System_grt_rtw/rt_nonfinite.c"'

    'Building file: "../Navigation_System_grt_rtw/slMsgSvc.c"'
    'Invoking: GNU Compiler'
    "C:/ti/gcc-arm-none-eabi-4_9-2015q3/bin/arm-none-eabi-gcc.exe" -c -mcpu=cortex-a8 -mtune=cortex-a8 -march=armv7-a -marm -mfloat-abi=hard -mfpu=vfpv3 -Dam3359 -DSOC_AM335x -DbbbAM335x -DMCSPI_MASTER_TASK -DMCSPI_MULT_CHANNEL -I"C:/Users/frickas/Documents/CATT/CODE/CCSworkspace/MCSPI_SlaveMode_SlaveExample_bbbAM335x_armExampleProject" -I"C:/ti/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/include/newlib-nano" -I"C:/ti/pdk_am335x_1_0_9/packages/ti/drv/spi" -I"C:/ti/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/include" -g -gdwarf-3 -gstrict-dwarf -Wall -MMD -MP -MF"Navigation_System_grt_rtw/slMsgSvc.d" -MT"Navigation_System_grt_rtw/slMsgSvc.o" @"configPkg/compiler.opt" -o"Navigation_System_grt_rtw/slMsgSvc.o" "../Navigation_System_grt_rtw/slMsgSvc.c"
    'Finished building: "../Navigation_System_grt_rtw/slMsgSvc.c"'

    'Building file: "../Navigation_System_grt_rtw/Navigation_System_Blk.c"'
    'Invoking: GNU Compiler'
    "C:/ti/gcc-arm-none-eabi-4_9-2015q3/bin/arm-none-eabi-gcc.exe" -c -mcpu=cortex-a8 -mtune=cortex-a8 -march=armv7-a -marm -mfloat-abi=hard -mfpu=vfpv3 -Dam3359 -DSOC_AM335x -DbbbAM335x -DMCSPI_MASTER_TASK -DMCSPI_MULT_CHANNEL -I"C:/Users/frickas/Documents/CATT/CODE/CCSworkspace/MCSPI_SlaveMode_SlaveExample_bbbAM335x_armExampleProject" -I"C:/ti/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/include/newlib-nano" -I"C:/ti/pdk_am335x_1_0_9/packages/ti/drv/spi" -I"C:/ti/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/include" -g -gdwarf-3 -gstrict-dwarf -Wall -MMD -MP -MF"Navigation_System_grt_rtw/Navigation_System_Blk.d" -MT"Navigation_System_grt_rtw/Navigation_System_Blk.o" @"configPkg/compiler.opt" -o"Navigation_System_grt_rtw/Navigation_System_Blk.o" "../Navigation_System_grt_rtw/Navigation_System_Blk.c"
    'Finished building: "../Navigation_System_grt_rtw/Navigation_System_Blk.c"'

    'Building target: "MCSPI_SlaveMode_SlaveExample_bbbAM335x_armExampleProject.out"'
    'Invoking: GNU Linker'
    "C:/ti/gcc-arm-none-eabi-4_9-2015q3/bin/arm-none-eabi-gcc.exe" -mtune=cortex-a8 -marm -Dam3359 -DSOC_AM335x -DbbbAM335x -DMCSPI_MASTER_TASK -DMCSPI_MULT_CHANNEL -g -gdwarf-3 -gstrict-dwarf -Wall -mfloat-abi=hard -Wl,-Map,"MCSPI_SlaveMode_SlaveExample_bbbAM335x_armExampleProject.map" -nostartfiles -static -Wl,--gc-sections -L"C:/ti/bios_6_46_05_55/packages/gnu/targets/arm/libs/install-native/arm-none-eabi/lib/hard" -L"C:/Users/.../CCSworkspace/MCSPI_SlaveMode_SlaveExample_bbbAM335x_armExampleProject/Navigation_System_grt_rtw" -Wl,--defsym,STACKSIZE=0x1C000 -Wl,--defsym,HEAPSIZE=0x400 --specs=nano.specs -o"MCSPI_SlaveMode_SlaveExample_bbbAM335x_armExampleProject.out" "./GPIO_soc.o" "./I2C_soc.o" "./SPI_log.o" "./main_mcspi_slave_mode.o" "./Navigation_System_grt_rtw/Navigation_System.o" "./Navigation_System_grt_rtw/Navigation_System_Blk.o" "./Navigation_System_grt_rtw/Navigation_System_data.o" "./Navigation_System_grt_rtw/rtGetInf.o" "./Navigation_System_grt_rtw/rtGetNaN.o" "./Navigation_System_grt_rtw/rt_nonfinite.o" "./Navigation_System_grt_rtw/slMsgSvc.o" -Wl,-T"configPkg/linker.cmd" -Wl,--start-group -lrdimon -lgcc -lm -lnosys -lc -Wl,--end-group
    makefile:158: recipe for target 'MCSPI_SlaveMode_SlaveExample_bbbAM335x_armExampleProject.out' failed
    C:\Users\...\CCSworkspace\MCSPI_SlaveMode_SlaveExample_bbbAM335x_armExampleProject\src\sysbios\sysbios.aa8fg(gnu_ReentSupport.o): In function `ti_sysbios_rts_gnu_ReentSupport_Module_startup__E':
    ReentSupport.c:(.text.ti_sysbios_rts_gnu_ReentSupport_Module_startup__E+0x30): undefined reference to `ti_sysbios_rts_gnu_ReentSupport_checkIfCorrectLibrary'
    collect2.exe: error: ld returned 1 exit status
    gmake[1]: *** [MCSPI_SlaveMode_SlaveExample_bbbAM335x_armExampleProject.out] Error 1
    gmake: *** [all] Error 2
    makefile:154: recipe for target 'all' failed

    **** Build Finished ****

  • This seems to be related using Semhosting module in SYSBIOS as discusses by the TI experts here:

    e2e.ti.com/.../450479