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.

I2C_LED project build errors in am335x_sysbios_ind_sdk_1.1.0.6

Other Parts Discussed in Thread: SYSBIOS

Hi, I'm trying to build the I2C_LED project using CCS5.5 in the AM335X ICE examples. I've updated my tools to the latest and refracted the project. I continue to get the following errors. Please advise how to resolve.

"C:/TI/ccsv5/tools/compiler/arm_5.1.9/bin/armcl" -mv7A8 --code_state=32 --abi=eabi -me -g --diag_warning=225 -z -m"i2c_led.map" -i"C:/TI/ccsv5/tools/compiler/arm_5.1.9/lib" -i"C:/TI/ccsv5/tools/compiler/arm_5.1.9/include" --reread_libs --warn_sections --xml_link_info="i2c_led_linkInfo.xml" --rom_model -o "i2c_led.out" -l"./configPkg/linker.cmd"  "./main.obj" "../am335x.cmd" -l"C:\ti\am335x_sysbios_ind_sdk_1.1.0.6\sdk/os_drivers/lib/sys_bios_driver.lib" -l"C:\ti\am335x_sysbios_ind_sdk_1.1.0.6\sdk/platform/am335x/lib/am335x_platform.lib" -l"C:\ti\am335x_sysbios_ind_sdk_1.1.0.6\sdk/starterware/binary/armv7a/cgt_ccs/am335x/drivers/drivers.lib" -l"C:\ti\am335x_sysbios_ind_sdk_1.1.0.6\sdk/starterware/binary/armv7a/cgt_ccs/am335x/evmAM335x/platform/platform.lib" -l"rtsv7A8_A_le_n_v3_eabi.lib"
<Linking>

 undefined                                  first referenced                                                                           
  symbol                                        in file                                                                                
 ---------                                  ----------------                                                                           
 ti_sysbios_family_arm_a8_intcps_Hwi_create C:\ti\am335x_sysbios_ind_sdk_1.1.0.6\sdk/os_drivers/lib/sys_bios_driver.lib<osdrv_uart.obj>
 ti_sysbios_family_arm_a8_intcps_Hwi_delete C:\ti\am335x_sysbios_ind_sdk_1.1.0.6\sdk/os_drivers/lib/sys_bios_driver.lib<osdrv_uart.obj>

error: unresolved symbols remain
error: errors encountered during linking; "i2c_led.out" not built

>> Compilation failure
gmake: *** [i2c_led.out] Error 1
gmake: Target `all' not remade because of errors.

**** Build Finished ****

Thanks.

  • Moving this to the SYS/BIOS forum.

  • Hello,

    I just tried compiling the i2c_led examples and had no issues. But I faced issues while refractoring. I am not sure if refractoring is the right way to go on CCSv5.5(this is recommended for ISDK examples only in CCSv6). The RTSC components and Compiler version can be updated directly from Project properties -> General -> RTSC

    Regards,
    Vinesh

  • Hi Vanesh,

     I followed the directions in the getting started guide. The only comment regarding CCS5 is

    NOTE 2

    • On CCSv5.5, please make sure you update the Compiler to TIv5.1.5(or above). This is important as the libraries provided in SDK are build using this compiler and not upgrading would result in linker errors.

    I have updated to 5.1.9, which is the latest according to the "Check for updates" function in CCS5.

    Please find a solution for this issue as I need to move forward with development and if Ti's sample applications can't even run, then I may need to find another solution.

  • I did some digging in the system and found the symbols in question are defined in <ti/sysbios/family/arm/a8/intcps/Hwi.h> which is present in that folder in my system. There seems to be a disconnect between the linker and that library and I don't know how to fix it. Is there a way I can rebuild this lib file?
    Please advise.
    Thank you.
  • I tried loading the same project from the earlier version of the SDK 1.1.0.4 but I ran into another issue. The compiler/linker is still using the 1.1.0.6 libraries. How do I change from the include_path="C:/ti/am335x_sysbios_ind_sdk_1.1.0.6/sdk/os_drivers/include" -- to the 1.1.0.4 lib path?
    I can't find the definition for the symbol: "${IA_SDK_HOME}/os_drivers/include" to change the path. How can I do this?
    Thank you.
  • Bob,

    that is easy... IA_SDK_HOME is an evironment variable on your PC. Depending on your Windows version you need to go to Advanced System settings -> Environment Variables. There you should find IA_SDK_HOME in the 'System variables' section. Just change it, restart CCS and re-compile. This way you can quickly change to any IA-SDK base. However make sure you don't keep any old project settings that don't match...

    Regards,

  • Hi Frank, Thank you for that information. You're right-that was easy! So using 1.1.0.4 code and library I was able to successfully build the project. It appears the 1.1.0.6 version has bugs. That version was built on 1/15/15 so perhaps it wasn't fully tested?
  • So no one else from Ti has any input on this problem?
  • Which version of SYS/Bios, XDC tools are you using?

    Regards,
    Vinesh

  • Hi Vinesh,

    The refractor screen shows

    Sys/BIOS 6.35.4.50

    XDAIS 7.21.1.07

    XDC Tools 3.25.4.88

    Thanks,

    Bob

  • Bob,

    but the 1.1.0.6 release notes specify

    • SYSBIOS 6.41.00.26 Real Time Operating System
    • XDC 3.30.05.60
    • NDK 2.24.01.18
    • TI ARM compiler >=5.1.5

    You need to match this if you want to link to supplied libs. Alternatively you can try to rebuild the libs or just add any necessary source files to your project. As we provide all the sources in the IA-SDK you are not forced to use the libs as is.

    Regards,

  • Hi Frank, Thank you that solved the problem. I thought by downloading the latest package from 1-13-15 I would have gotten all of the latest updates.

    Thanks,

    Bob

  • Hi Bob,

    if you refer to the IA-SDK package then no. We deliberately decided to not include any BIOS or XDC packages that are publicly available else where. This would lead to a massive increase in download size. And it really doesn't make sense from the software engineering aspect. It is bad enough the IA-SDK carries a special copy of Starterware code.

    Regards,