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.

CCS/UCD3138HSFBEVM-029: Compiler 5.2.4 and new 18.12.2.ltc

Part Number: UCD3138HSFBEVM-029
Other Parts Discussed in Thread: UCD3138

Tool/software: Code Composer Studio

Hello, I downloaded UCD3138HSFBEVM_029 project with compiler version TI v5.2.4  and now i cant build project on CCS v9 with compiler version 18.12.2.ltc. How can i rebuild the project?

  • Hello, 

    using TI v5.2.6 I was able to build out file for this project. 
    See the tail of log below:

    Building file: "C:/ti/DigitalPower/HSFBFirmware-1.1/UCD3138-HSFB/Driver/Pmbus/pmbus_driver.c"
    Invoking: ARM Compiler
    "C:/ti/CGT/ti-cgt-arm_5.2.6/bin/armcl" -mv4 --code_state=16 --abi=ti_arm9_abi -O2 --include_path="C:/ti/CGT/ti-cgt-arm_5.2.6/include" --include_path="C:/ti/DigitalPower/HSFBFirmware-1.1/UCD3138-HSFB/Device/UCD3138/Header" --include_path="C:/ti/DigitalPower/HSFBFirmware-1.1/UCD3138-HSFB/Driver/Pmbus" --include_path="C:/TI_Trash/CCS901/UCD3138HSFBEVM_029/" -g --preproc_with_comment --preproc_with_compile --define=UCD3138=1 --diag_warning=225 --display_error_number -k --asm_listing --pp_directory="C:/TI_Trash/CCS901/UCD3138HSFBEVM_029/UCD3138" --obj_directory="Driver/Pmbus" "C:/ti/DigitalPower/HSFBFirmware-1.1/UCD3138-HSFB/Driver/Pmbus/pmbus_driver.c"
    Finished building: "C:/ti/DigitalPower/HSFBFirmware-1.1/UCD3138-HSFB/Driver/Pmbus/pmbus_driver.c"

    Building target: "UCD3138HSFBEVM_029_UCD3138.out"
    Invoking: ARM Linker
    "C:/ti/CGT/ti-cgt-arm_5.2.6/bin/armcl" -mv4 --code_state=16 --abi=ti_arm9_abi -O2 -g --preproc_with_comment --preproc_with_compile --define=UCD3138=1 --diag_warning=225 --display_error_number -k --asm_listing --pp_directory="C:/TI_Trash/CCS901/UCD3138HSFBEVM_029/UCD3138" -z -m"UCD3138HSFBEVM_029_UCD3138.map" --stack_size=200 --heap_size=10 -i"C:/ti/CGT/ti-cgt-arm_5.2.6/lib" -i"C:/ti/CGT/ti-cgt-arm_5.2.6/include" --reread_libs --define=UCD3138=1 --display_error_number --warn_sections --xml_link_info="UCD3138HSFBEVM_029_linkInfo.xml" --rom_model -o "UCD3138HSFBEVM_029_UCD3138.out" "./clear_program_flash.obj" "./configuration_functions.obj" "./constants.obj" "./cyclone_global_variables_defs.obj" "./fault.obj" "./flash.obj" "./gpio.obj" "./init_adc12.obj" "./init_cpcc.obj" "./init_current_sharing.obj" "./init_dpwms.obj" "./init_fault_mux.obj" "./init_filters.obj" "./init_front_ends.obj" "./init_loop_mux.obj" "./init_watchdog.obj" "./interrupts.obj" "./main.obj" "./pmbus_topology.obj" "./scale.obj" "./single_frame_handler.obj" "./software_interrupt.obj" "./software_interrupt_wrapper.obj" "./standard_interrupt.obj" "./store_restore_functions.obj" "./uart.obj" "./zero_out_integrity_word.obj" "./Device/UCD3138/Source/load_UCD3138.obj" "./Driver/Pmbus/pmbus_command_indexes.obj" "./Driver/Pmbus/pmbus_common.obj" "./Driver/Pmbus/pmbus_driver.obj" "C:/ti/DigitalPower/HSFBFirmware-1.1/UCD3138-HSFB/Device/UCD3138/Linker/cyclone.cmd" "C:/ti/DigitalPower/HSFBFirmware-1.1/UCD3138-HSFB/Device/UCD3138/Linker/cyclone_headers.cmd" -llibc.a
    <Linking>
    warning #10366-D: automatic library build: using library
    "C:\ti\CGT\ti-cgt-arm_5.2.6\lib\rtsv4_T_be_tiarm9.lib" for the first time,
    so it must be built. This may take a few minutes.
    Finished building target: "UCD3138HSFBEVM_029_UCD3138.out"

    Tektronix Extended format
    ("C:/ti/CGT/ti-cgt-arm_5.2.6/bin/armhex.exe" -x "UCD3138HSFBEVM_029_UCD3138.out" -o "UCD3138HSFBEVM_029_UCD3138.x0" -memwidth 8) & (perl ../../build_scripts/checkmem_CCS5.pl cyclone ../UCD3138HSFBEVM_029.map) & (perl ../../build_scripts/build_CCS5.pl UCD3138HSFBEVM_029)
    Translating to Extended Tektronix format...
    "UCD3138HSFBEVM_029_UCD3138.out" .vectors ==> .vectors
    "UCD3138HSFBEVM_029_UCD3138.out" .text ==> .text
    "UCD3138HSFBEVM_029_UCD3138.out" .const ==> .const
    "UCD3138HSFBEVM_029_UCD3138.out" .cinit ==> .cinit
    "UCD3138HSFBEVM_029_UCD3138.out" FixedDeviceID ==> FixedDeviceID
    "UCD3138HSFBEVM_029_UCD3138.out" .CONFIG ==> .CONFIG
    makefile:211: recipe for target 'post-build' failed
    'perl' is not recognized as an internal or external command,
    operable program or batch file.
    'perl' is not recognized as an internal or external command,
    operable program or batch file.
    gmake[2]: [post-build] Error 1 (ignored)

    **** Build Finished ****

  • The problem is that in the new CCS v9 there is no installed compiler version 5.2.x, there are only 18.1.5/18.12.1/18.12.2.LTS. There is no support for COFF ABI in this compiler.  I can use output format eabi (ELF), but an error occurs when compiling:

    >> Compilation failure
    subdir_rules.mk:23: recipe for target 'interrupts.obj' failed
    "../interrupts.c", line 9 (col. 6): error #1559: Interrupt handlers must be compiled in ARM mode
    "../interrupts.c", line 14 (col. 6): error #1559: Interrupt handlers must be compiled in ARM mode
    "../interrupts.c", line 21 (col. 6): error #1559: Interrupt handlers must be compiled in ARM mode
    "../interrupts.c", line 28 (col. 6): error #1559: Interrupt handlers must be compiled in ARM mode
    4 errors detected in the compilation of "../interrupts.c".
    gmake[1]: *** [interrupts.obj] Error 1

    >> Compilation failure
    subdir_rules.mk:30: recipe for target 'software_interrupt.obj' failed
    "../software_interrupt.c", line 11 (col. 6): error #1559: Interrupt handlers must be compiled in ARM mode
    1 error detected in the compilation of "../software_interrupt.c".
    gmake[1]: *** [software_interrupt.obj] Error 1

    >> Compilation failure
    subdir_rules.mk:37: recipe for target 'standard_interrupt.obj' failed
    "../standard_interrupt.c", line 591 (col. 6): error #1559: Interrupt handlers must be compiled in ARM mode
    1 error detected in the compilation of "../standard_interrupt.c".
    gmake[1]: *** [standard_interrupt.obj] Error 1

    gmake[1]: Target 'main-build' not remade because of errors.
    gmake: *** [all] Error 2

    Maybe i can download the compiler version 5.2.x somewhere? Or better if i can rebuild project with v18.12.2.LTS

  • The best option here is to use compiler 5.2.x with CCSv9 to build the project.

    Sergey_pt said:
    Maybe i can download the compiler version 5.2.x somewhere?

    Yes, you can install and use a specific version of the compiler into CCSv9 using the procedure described in this page: 
    http://software-dl.ti.com/ccs/esd/documents/ccs_compiler-installation-selection.html

  • If you use more then one version CCS
    you can move / install all compiler versions into one folder, in my case it is c:/ti/CGT
    and share these compiler installations for all your CCS versions. 

  • Thank you very much. Only after uninstalling the latest versions and installing version 5.2.4, this project compiled without errors.

  • Your build has 2 errors (gmake[1]: [pre-build] Error 1 (ignored and gmake[2]: [post-build] Error 1 (ignored), is this normal?

    If you open properties, and select device usd3138, in the linker file will be selected cyclone.cmd (or cyclone_headers.cmd), then the project will be compiled? I get errors again(error #1559: Interrupt handlers must be compiled in ARM mode).. helps only delete the project and the new import.

  • Since the original question that started this thread is resolved, we will close out this thread. If you are getting new build errors either with the out-of-box example project or with a modified version of the project, please create a new post using the "Ask a new question" button and post it to the Power management forum. The experts there are most familiar with the example project and should be able to help best. Thanks!