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.

TMS320F280039C: Hex begin address abnormal

Part Number: TMS320F280039C


Hi expert,

My customer generate intel hex file using C2000 HEX Utility.

But the generated file high 16bit address is 0010, which is really strange to me.

Almost all the example code start with 0008, which means start from 0x0008 0000. 

However, I also found one of the edit TI example can meet similar issue:

:020000040010EA
:02000000489D19
:2020000004434248FE000608A43F48B348480E000608A44048B3430F0608A44148B34200F8

and the hex is also attached,

https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/171/module9_5F00_cla_5F00_deep_5F00_dive.hex

Could you kindly explain the reason?

BR

Emma

  • To understand the details of Intel hex format, please search the C28x assembly tools manual for the sub-chapter titled Intel MCS-86 Object Format.  

    If that doesn't resolve the issue, then please show me the exact command used to invoke the hex utility hex2000.  Please copy and paste the text, and do not use a screen shot.  If you run it from Code Composer Studio, get it from the Console view.  Also send all of the files that are in an input to the hex utility.  Put all those files in a zip and attach it to your next post.

    Thanks and regards,

    -George

  • George,

    I already see this post and know the format of intel hex. the thing is the high 16 address is abnormal to me. console content is as below:

    **** Build of configuration CPU1_FLASH for project module9_cla_deep_dive ****
    
    "C:\\ti\\ccs1100\\ccs\\utils\\bin\\gmake" -k -j 8 all -O 
     
    Building file: "../module9_cla_tasks.cla"
    Invoking: C2000 Compiler
    "C:/ti/ccs1100/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla2 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu0 -Ooff --include_path="C:/Users/a0223892/Workspace for Ecoflow/module9_cla_deep_dive" --include_path="C:/Users/a0223892/Workspace for Ecoflow/module9_cla_deep_dive/device" --include_path="C:/ti/c2000/C2000Ware_4_00_00_00/driverlib/f28003x/driverlib" --include_path="C:/Users/a0223892/Workspace for Ecoflow/module9_cla_deep_dive/device/include" --include_path="C:/ti/ccs1100/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/include" --define=DEBUG --define=CPU1 --define=USE_ADC_REFERENCE_INTERNAL --define=_FLASH --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="module9_cla_tasks.d_raw" --include_path="C:/Users/a0223892/Workspace for Ecoflow/module9_cla_deep_dive/CPU1_FLASH/syscfg"  "../module9_cla_tasks.cla"
    Finished building: "../module9_cla_tasks.cla"
     
    Building file: "../device/f28003x_codestartbranch.asm"
    Invoking: C2000 Compiler
    "C:/ti/ccs1100/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla2 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu0 -Ooff --include_path="C:/Users/a0223892/Workspace for Ecoflow/module9_cla_deep_dive" --include_path="C:/Users/a0223892/Workspace for Ecoflow/module9_cla_deep_dive/device" --include_path="C:/ti/c2000/C2000Ware_4_00_00_00/driverlib/f28003x/driverlib" --include_path="C:/Users/a0223892/Workspace for Ecoflow/module9_cla_deep_dive/device/include" --include_path="C:/ti/ccs1100/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/include" --define=DEBUG --define=CPU1 --define=USE_ADC_REFERENCE_INTERNAL --define=_FLASH --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="device/f28003x_codestartbranch.d_raw" --include_path="C:/Users/a0223892/Workspace for Ecoflow/module9_cla_deep_dive/CPU1_FLASH/syscfg" --obj_directory="device"  "../device/f28003x_codestartbranch.asm"
    Finished building: "../device/f28003x_codestartbranch.asm"
     
    Building file: "../device/device.c"
    Invoking: C2000 Compiler
    "C:/ti/ccs1100/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla2 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu0 -Ooff --include_path="C:/Users/a0223892/Workspace for Ecoflow/module9_cla_deep_dive" --include_path="C:/Users/a0223892/Workspace for Ecoflow/module9_cla_deep_dive/device" --include_path="C:/ti/c2000/C2000Ware_4_00_00_00/driverlib/f28003x/driverlib" --include_path="C:/Users/a0223892/Workspace for Ecoflow/module9_cla_deep_dive/device/include" --include_path="C:/ti/ccs1100/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/include" --define=DEBUG --define=CPU1 --define=USE_ADC_REFERENCE_INTERNAL --define=_FLASH --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="device/device.d_raw" --include_path="C:/Users/a0223892/Workspace for Ecoflow/module9_cla_deep_dive/CPU1_FLASH/syscfg" --obj_directory="device"  "../device/device.c"
    Finished building: "../device/device.c"
     
    Building file: "../module9_main.c"
    Invoking: C2000 Compiler
    "C:/ti/ccs1100/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla2 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu0 -Ooff --include_path="C:/Users/a0223892/Workspace for Ecoflow/module9_cla_deep_dive" --include_path="C:/Users/a0223892/Workspace for Ecoflow/module9_cla_deep_dive/device" --include_path="C:/ti/c2000/C2000Ware_4_00_00_00/driverlib/f28003x/driverlib" --include_path="C:/Users/a0223892/Workspace for Ecoflow/module9_cla_deep_dive/device/include" --include_path="C:/ti/ccs1100/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/include" --define=DEBUG --define=CPU1 --define=USE_ADC_REFERENCE_INTERNAL --define=_FLASH --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="module9_main.d_raw" --include_path="C:/Users/a0223892/Workspace for Ecoflow/module9_cla_deep_dive/CPU1_FLASH/syscfg"  "../module9_main.c"
    Finished building: "../module9_main.c"
     
    Building file: "../device/f28003x_globalvariabledefs.c"
    Invoking: C2000 Compiler
    "C:/ti/ccs1100/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla2 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu0 -Ooff --include_path="C:/Users/a0223892/Workspace for Ecoflow/module9_cla_deep_dive" --include_path="C:/Users/a0223892/Workspace for Ecoflow/module9_cla_deep_dive/device" --include_path="C:/ti/c2000/C2000Ware_4_00_00_00/driverlib/f28003x/driverlib" --include_path="C:/Users/a0223892/Workspace for Ecoflow/module9_cla_deep_dive/device/include" --include_path="C:/ti/ccs1100/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/include" --define=DEBUG --define=CPU1 --define=USE_ADC_REFERENCE_INTERNAL --define=_FLASH --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="device/f28003x_globalvariabledefs.d_raw" --include_path="C:/Users/a0223892/Workspace for Ecoflow/module9_cla_deep_dive/CPU1_FLASH/syscfg" --obj_directory="device"  "../device/f28003x_globalvariabledefs.c"
    Finished building: "../device/f28003x_globalvariabledefs.c"
     
    Building target: "module9_cla_deep_dive.out"
    Invoking: C2000 Linker
    "C:/ti/ccs1100/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla2 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu0 -Ooff --define=DEBUG --define=CPU1 --define=USE_ADC_REFERENCE_INTERNAL --define=_FLASH --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi -z -m"module9_cla_deep_dive.map" --stack_size=0x100 --warn_sections -i"C:/ti/ccs1100/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/lib" -i"C:/ti/ccs1100/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/include" --reread_libs --diag_wrap=off --display_error_number --xml_link_info="module9_cla_deep_dive_linkInfo.xml" --entry_point=code_start --rom_model -o "module9_cla_deep_dive.out" "./module9_cla_tasks.obj" "./module9_main.obj" "./device/device.obj" "./device/f28003x_codestartbranch.obj" "./device/f28003x_globalvariabledefs.obj" "../28003x_cla_flash_lnk.cmd" "C:/ti/c2000/C2000Ware_4_00_00_00/driverlib/f28003x/driverlib/ccs/Debug/driverlib.lib" "../f28003x_headers_nonBIOS.cmd"  -llibc.a 
    <Linking>
    Finished building target: "module9_cla_deep_dive.out"
     
    Building secondary target: "module9_cla_deep_dive.hex"
    Invoking: C2000 Hex Utility
    "C:/ti/ccs1100/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/bin/hex2000" --byte --diag_wrap=off --intel -o "module9_cla_deep_dive.hex"  "module9_cla_deep_dive.out" 
    Translating to Intel format...
       "module9_cla_deep_dive.out" codestart ==> codestart
       "module9_cla_deep_dive.out" .TI.ramfunc ==> .TI.ramfunc
       "module9_cla_deep_dive.out" .cinit ==> .cinit
       "module9_cla_deep_dive.out" .text.1 ==> .text.1
       "module9_cla_deep_dive.out" .text.2 ==> .text.2
       "module9_cla_deep_dive.out" .const ==> .const
       "module9_cla_deep_dive.out" Cla1Prog ==> Cla1Prog
    Finished building secondary target: "module9_cla_deep_dive.hex"
     
    warning: Data is being written to auto-generated file module9_cla_deep_dive.i01
    
    **** Build Finished ****
    

  • Using --byte causes all the addresses in the hex file to be double than if --byte is not used.  Thus, an extended address record that you expect to have 0x0008 ends up having 0x0010.  Are you sure you need to use --byte?

    Regarding the diagnostic Data is being written to auto-generated file ... Please see this forum thread.

    Thanks and regards,

    -George