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.

TMS320F28377D: TMS320F28377D

Part Number: TMS320F28377D
Other Parts Discussed in Thread: C2000WARE

my Query is regarding firmware flashing using USB, is there any documentation available that shows the steps to flash cpu1 and cpu2 (TMS320F28377D)

using USB? or anyone who did this please explain the steps.

  • Hi,

    Please take a look at https://www.ti.com/lit/an/spraco7/spraco7.pdf 

    I assigned this post to our flash kernel expert.  She is out of office and will be back mid next week.  If you have further questions, please expect replies mid next week.

    Thanks and regards,
    Vamsi

  • Thank you very much for the early reply I will go through the document n will come back if any clarification is required.

    if there any example project for USB flash programming?

  • also please provide some document and example details for enabling usb 

  • Hi Diji,

    Below snap taken from the above mentioned app note shows the paths for the example projects.  Please go through them.

    Thanks and regards,

    Vamsi

  • I am getting following error on building the z project let me know how to rectify this error


    **** Build of configuration CPU1_RAM for project F2837xD_usb_flash_kernels_cpu01 ****

    "C:\\ti\\ccs1000\\ccs\\utils\\bin\\gmake" -k all

    Building file: "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_DefaultISR.c"
    Invoking: C2000 Compiler
    "C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/bin/cl2000" -v28 -ml -mt --vcu_support=vcu2 --tmu_support=tmu0 --cla_support=cla1 --float_support=fpu32 --include_path="C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/headers/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/libraries/flash_api/f2837xd/include" -g --define=CPU1 --display_error_number --diag_suppress=10063 --diag_warning=225 --preproc_with_compile --preproc_dependency="F2837xD_DefaultISR.d_raw" "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_DefaultISR.c"
    Finished building: "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_DefaultISR.c"

    Building file: "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/headers/source/F2837xD_GlobalVariableDefs.c"
    Invoking: C2000 Compiler
    "C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/bin/cl2000" -v28 -ml -mt --vcu_support=vcu2 --tmu_support=tmu0 --cla_support=cla1 --float_support=fpu32 --include_path="C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/headers/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/libraries/flash_api/f2837xd/include" -g --define=CPU1 --display_error_number --diag_suppress=10063 --diag_warning=225 --preproc_with_compile --preproc_dependency="F2837xD_GlobalVariableDefs.d_raw" "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/headers/source/F2837xD_GlobalVariableDefs.c"
    Finished building: "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/headers/source/F2837xD_GlobalVariableDefs.c"

    Building file: "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_Gpio.c"
    Invoking: C2000 Compiler
    "C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/bin/cl2000" -v28 -ml -mt --vcu_support=vcu2 --tmu_support=tmu0 --cla_support=cla1 --float_support=fpu32 --include_path="C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/headers/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/libraries/flash_api/f2837xd/include" -g --define=CPU1 --display_error_number --diag_suppress=10063 --diag_warning=225 --preproc_with_compile --preproc_dependency="F2837xD_Gpio.d_raw" "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_Gpio.c"
    Finished building: "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_Gpio.c"

    Building file: "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_Ipc.c"
    Invoking: C2000 Compiler
    "C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/bin/cl2000" -v28 -ml -mt --vcu_support=vcu2 --tmu_support=tmu0 --cla_support=cla1 --float_support=fpu32 --include_path="C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/headers/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/libraries/flash_api/f2837xd/include" -g --define=CPU1 --display_error_number --diag_suppress=10063 --diag_warning=225 --preproc_with_compile --preproc_dependency="F2837xD_Ipc.d_raw" "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_Ipc.c"
    Finished building: "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_Ipc.c"

    Building file: "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_Ipc_Driver_Util.c"
    Invoking: C2000 Compiler
    "C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/bin/cl2000" -v28 -ml -mt --vcu_support=vcu2 --tmu_support=tmu0 --cla_support=cla1 --float_support=fpu32 --include_path="C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/headers/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/libraries/flash_api/f2837xd/include" -g --define=CPU1 --display_error_number --diag_suppress=10063 --diag_warning=225 --preproc_with_compile --preproc_dependency="F2837xD_Ipc_Driver_Util.d_raw" "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_Ipc_Driver_Util.c"
    Finished building: "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_Ipc_Driver_Util.c"

    Building file: "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_PieCtrl.c"
    Invoking: C2000 Compiler
    "C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/bin/cl2000" -v28 -ml -mt --vcu_support=vcu2 --tmu_support=tmu0 --cla_support=cla1 --float_support=fpu32 --include_path="C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/headers/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/libraries/flash_api/f2837xd/include" -g --define=CPU1 --display_error_number --diag_suppress=10063 --diag_warning=225 --preproc_with_compile --preproc_dependency="F2837xD_PieCtrl.d_raw" "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_PieCtrl.c"
    Finished building: "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_PieCtrl.c"

    Building file: "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_PieVect.c"
    Invoking: C2000 Compiler
    "C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/bin/cl2000" -v28 -ml -mt --vcu_support=vcu2 --tmu_support=tmu0 --cla_support=cla1 --float_support=fpu32 --include_path="C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/headers/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/libraries/flash_api/f2837xd/include" -g --define=CPU1 --display_error_number --diag_suppress=10063 --diag_warning=225 --preproc_with_compile --preproc_dependency="F2837xD_PieVect.d_raw" "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_PieVect.c"
    Finished building: "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_PieVect.c"

    Building file: "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_SysCtrl.c"
    Invoking: C2000 Compiler
    "C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/bin/cl2000" -v28 -ml -mt --vcu_support=vcu2 --tmu_support=tmu0 --cla_support=cla1 --float_support=fpu32 --include_path="C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/headers/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/libraries/flash_api/f2837xd/include" -g --define=CPU1 --display_error_number --diag_suppress=10063 --diag_warning=225 --preproc_with_compile --preproc_dependency="F2837xD_SysCtrl.d_raw" "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_SysCtrl.c"
    "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_SysCtrl.c", line 837 (col. 47): advice #2615-D: (Performance) Use --fp_mode=relaxed to enable TMU hardware support for FP division.
    Finished building: "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_SysCtrl.c"

    Building file: "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_usDelay.asm"
    Invoking: C2000 Compiler
    "C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/bin/cl2000" -v28 -ml -mt --vcu_support=vcu2 --tmu_support=tmu0 --cla_support=cla1 --float_support=fpu32 --include_path="C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/headers/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/libraries/flash_api/f2837xd/include" -g --define=CPU1 --display_error_number --diag_suppress=10063 --diag_warning=225 --preproc_with_compile --preproc_dependency="F2837xD_usDelay.d_raw" "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_usDelay.asm"
    Finished building: "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/source/F2837xD_usDelay.asm"

    Building file: "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/examples/dual/F2837xD_usb_flash_kernels/cpu01/F2837xD_usb_flash_kernels_cpu01.c"
    Invoking: C2000 Compiler
    "C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/bin/cl2000" -v28 -ml -mt --vcu_support=vcu2 --tmu_support=tmu0 --cla_support=cla1 --float_support=fpu32 --include_path="C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/headers/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/libraries/flash_api/f2837xd/include" -g --define=CPU1 --display_error_number --diag_suppress=10063 --diag_warning=225 --preproc_with_compile --preproc_dependency="F2837xD_usb_flash_kernels_cpu01.d_raw" "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/examples/dual/F2837xD_usb_flash_kernels/cpu01/F2837xD_usb_flash_kernels_cpu01.c"
    Finished building: "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/examples/dual/F2837xD_usb_flash_kernels/cpu01/F2837xD_usb_flash_kernels_cpu01.c"

    Building file: "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/examples/dual/F2837xD_usb_flash_kernels/cpu01/Fapi_UserDefinedFunctions.c"
    Invoking: C2000 Compiler
    "C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/bin/cl2000" -v28 -ml -mt --vcu_support=vcu2 --tmu_support=tmu0 --cla_support=cla1 --float_support=fpu32 --include_path="C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/headers/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/libraries/flash_api/f2837xd/include" -g --define=CPU1 --display_error_number --diag_suppress=10063 --diag_warning=225 --preproc_with_compile --preproc_dependency="Fapi_UserDefinedFunctions.d_raw" "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/examples/dual/F2837xD_usb_flash_kernels/cpu01/Fapi_UserDefinedFunctions.c"
    Finished building: "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/examples/dual/F2837xD_usb_flash_kernels/cpu01/Fapi_UserDefinedFunctions.c"

    Building file: "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/examples/dual/F2837xD_usb_flash_kernels/cpu01/Shared_Boot.c"
    Invoking: C2000 Compiler
    "C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/bin/cl2000" -v28 -ml -mt --vcu_support=vcu2 --tmu_support=tmu0 --cla_support=cla1 --float_support=fpu32 --include_path="C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/headers/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/libraries/flash_api/f2837xd/include" -g --define=CPU1 --display_error_number --diag_suppress=10063 --diag_warning=225 --preproc_with_compile --preproc_dependency="Shared_Boot.d_raw" "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/examples/dual/F2837xD_usb_flash_kernels/cpu01/Shared_Boot.c"

    >> Compilation failure
    subdir_rules.mk:86: recipe for target 'Shared_Boot.obj' failed

    INTERNAL ERROR: C:\ti\ccs1000\ccs\tools\compiler\ti-cgt-c2000_20.2.0.LTS\bin\ac2000.exe experienced a segmentation fault
    while processing function (unknown or file scope) file (unknown) line 0

    This is caused by a defect in the TI C/C++ Parser.
    TI Customer Support may be able to suggest a workaround to avoid this.

    Upgrading to the newest version of the compiler may fix this problem.

    Contact TI in the E2E support forums at http://e2e.ti.com under
    "Development Tools", "TI C/C++ Compiler". See the link titled
    "Submitting an issue".

    We need to see this ENTIRE error message and a complete, reproducible
    test case including ALL of the command-line options.
    Include the .pp file created by option --preproc_with_comment

    gmake: *** [Shared_Boot.obj] Error 1
    Building file: "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/examples/dual/F2837xD_usb_flash_kernels/cpu01/USB_Boot.c"
    Invoking: C2000 Compiler
    "C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/bin/cl2000" -v28 -ml -mt --vcu_support=vcu2 --tmu_support=tmu0 --cla_support=cla1 --float_support=fpu32 --include_path="C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/headers/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/libraries/flash_api/f2837xd/include" -g --define=CPU1 --display_error_number --diag_suppress=10063 --diag_warning=225 --preproc_with_compile --preproc_dependency="USB_Boot.d_raw" "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/examples/dual/F2837xD_usb_flash_kernels/cpu01/USB_Boot.c"
    Finished building: "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/examples/dual/F2837xD_usb_flash_kernels/cpu01/USB_Boot.c"

    Building file: "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/examples/dual/F2837xD_usb_flash_kernels/cpu01/USB_Boot_Funcs.c"
    Invoking: C2000 Compiler
    "C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/bin/cl2000" -v28 -ml -mt --vcu_support=vcu2 --tmu_support=tmu0 --cla_support=cla1 --float_support=fpu32 --include_path="C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/headers/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/libraries/flash_api/f2837xd/include" -g --define=CPU1 --display_error_number --diag_suppress=10063 --diag_warning=225 --preproc_with_compile --preproc_dependency="USB_Boot_Funcs.d_raw" "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/examples/dual/F2837xD_usb_flash_kernels/cpu01/USB_Boot_Funcs.c"
    Finished building: "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/examples/dual/F2837xD_usb_flash_kernels/cpu01/USB_Boot_Funcs.c"

    Building file: "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/examples/dual/F2837xD_usb_flash_kernels/cpu01/USB_Structs.c"
    Invoking: C2000 Compiler
    "C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/bin/cl2000" -v28 -ml -mt --vcu_support=vcu2 --tmu_support=tmu0 --cla_support=cla1 --float_support=fpu32 --include_path="C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/headers/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/libraries/flash_api/f2837xd/include" -g --define=CPU1 --display_error_number --diag_suppress=10063 --diag_warning=225 --preproc_with_compile --preproc_dependency="USB_Structs.d_raw" "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/examples/dual/F2837xD_usb_flash_kernels/cpu01/USB_Structs.c"
    Finished building: "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/examples/dual/F2837xD_usb_flash_kernels/cpu01/USB_Structs.c"

    Building file: "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/examples/dual/F2837xD_usb_flash_kernels/cpu01/fwupgradec1toc2_start.asm"
    Invoking: C2000 Compiler
    "C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/bin/cl2000" -v28 -ml -mt --vcu_support=vcu2 --tmu_support=tmu0 --cla_support=cla1 --float_support=fpu32 --include_path="C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.0.LTS/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/headers/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/common/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/libraries/flash_api/f2837xd/include" -g --define=CPU1 --display_error_number --diag_suppress=10063 --diag_warning=225 --preproc_with_compile --preproc_dependency="fwupgradec1toc2_start.d_raw" "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/examples/dual/F2837xD_usb_flash_kernels/cpu01/fwupgradec1toc2_start.asm"
    Finished building: "C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2837xd/examples/dual/F2837xD_usb_flash_kernels/cpu01/fwupgradec1toc2_start.asm"

    gmake: Target 'all' not remade because of errors.

    **** Build Finished ****

  • also please send me the download link for hex2000.exe.

  • also please let me know the boot pin configuration?

  • Hi Diji, 

    It looks like Shared_Boot.c is having issues compiling. As suggested in the console output, please try updating the compiler version to the latest available version and see if this fixes the issue. 

    The hex2000.exe file is part of the overall compiler toolset provided by TI. The path within the compiler is compiler\ti-cgt-c2000_xx.xx.x\bin

    For boot pin configuration are you asking how to configure them for USB Boot? The Boot chapter of the F2837xD TRM goes into detail on how to configure boot modes and boot pins, that would be a good place to start. 

    Thanks, 

    Anu

  • Thank you for the early reply I checked the TRM but I am really confused, it's given that we need to set the BMMODE register to 0x0C I am not getting a clue how to do that, also explicitly it's not given for USB mode what should be the value of GPIO72 and GPI084 value, I will appreciate if you could give this details also.

  • Hi Diji, 

    For the USB Boot Mode to be used, you need to set the boot mode pins to Get Boot. This will direct the Boot sequence to read the BMODE value, in the BOOTCTRL register, which is where the 0x0C value will be located. 

    The BOOTCTRL register is located in the OTP memory, it can be written to in order to set the boot mode desired and the select the boot pins. You can try writing to the emulation registers in CCS first to make sure that the functionality is what you need before writing to OTP. To write to the emulation registers, you can look up the memory location in CCS and modify the location. For info on how to write to OTP, please refer to https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/672063/tms320f28075-example-how-to-write-to-the-otp

    Thanks, 

    Anu

  • In USB boot loader implementation whether USB in TMS320F28377D is in DEVICE mode or HOST mode?

    Can you provide a hardware schematic for USB to set as a USB boot loader?is it otg?i need to give this info to hardware engineer so that he will provide hardware for testing with a USB connection.

    MY UNDERSTANDING IAM GIVING BELOW IF ANY MISTAKE LET ME KNOW

    step 1. Writing 0x5A to OTP I did not understand, how to do this from the link provided. (gray area)

    step 2. Writing 0x0C to OTPI did not understand, how to do this from the link provided.(gray are)

    step 3. GPIO72 =VCC and GPIO84 = VCC to put the device in GET BOOT mode.

    step 4. By using USB loader utility given in C2000 ware load flash_kernelCPU1.dat to RAM.

    step5.Bulk transfer of application.dat to using USB utility in host pc

  • Diji, 

    I will ask the experts for the bootloader and OTP programming to comment. The general flow looks correct, setting the device in USB Boot Mode, downloading the flash kernel to RAM using the USB Bootloader in ROM, and using the Flash kernel to write an image to Flash. 

    Thanks, 

    Anu

  • ok please help me as soon as possible as the final hardware PCB design needed to be finalized, our products using TMS320F28377 and Sitara processor is already in the market need to give this new feature in the product as soon as possible.

  • Diji, 

    I have requested the experts to comment, since Thanksgiving is this week in the US please expect replies by next Tuesday. 

    Thanks, 

    Anu

  • Hi Vamsi,

    after updating build was successful thank you

    Dijith P

  • Hi Anu,

    Thank you, will wait till then for the hardware design.

    DIJITH P

  • Thanks for your patience. 

  • Hi Anu ,

    it will be great if i get reply today

    Dijith P

  • Hi Dijith,

    In the ROM USB bootloader, the USB is set in device mode by setting USBGPCS register to 0x3. For the hardware connection please refer the control card schematic available in \C2000Ware\boards\controlCARDs

    Thanks and regards,

    Pawan

  • Hi Pawan thank you for help regarding Hardware,I still didnot get clarity regarding 

    1. How to write to BOOTCTRL register OTP not Emu i want to try directly.

    2. What value should be written to Enable USB boot loader.

    please help me in this regard

    DIJITH P

  • should i write 0X0C5A for USB boot mode?   ,and how to write to BOOTCTRL register?

  • Hi Dijith,

    Please refer table 4-6 of TRM for BOOTCTRL field description. The key field (bits8:0) needs to be set to 0x5A and the bits 15:8 decide the boot mode. For USB it should be set to 0x0C. Bits 31:16 decide the BMSP GPIOs. To keep default GPIOs as GPIO 72/GPIO84 keep the values as 0. The BOOTCTRL value will be 0x00000C5A. I have asked the experts on OTP programming to help on writing these values to OTP memory.

    Thanks and regards,

    Pawan

  • Hi Pawan,

    Thank you for your early reply.

    ya writing 0x00000C5A to BOOTCTRL OTP is the first STEP,I am not able to proceed so please support me as soon as possible.

    thanks and regards 

    DIJITH P

  • Hi Anu & Vamsi,

    I found this from Vamsi wiki,

    37. Can we use Flash API to program OTP?

    Answer. Yes, as mentioned in the Flash API reference guides, OTP can be programmed by using Flash API. There is no any difference in the API function usage for programming Flash vs OTP. However, note that OTP can not be erased. Make sure to look at the device's data-manual and TRM to know the OTP memory map and the fields available in OTP for users to program or use. Along with that, in F2837xD, F2837xS, F2807x and F28002x devices, note that the DCSM OTP programming must be aligned to 128-bit address boundaries and each 128-bit word may only be programmed once. The exceptions are:

       a. The DCSM Zx-LINKPOINTER1 and Zx-LINKPOINTER2 values in the DCSM OTP should be programmed together, and may be programmed 1 bit at a 
          time as required by the DCSM operation.    
       b. The DCSM Zx-LINKPOINTER3 value in the DCSM OTP may be programmed 1 bit at a time as required by the DCSM operation.    
    

    Also, note that reserved fields in OTP should not be programmed.

    is there any example code to write 

    BOOTCTRL =  0x00000C5A 

    please let me know?

  • Hi Diji,

    You should be able to program the BOOTCTRL field by different ways -

    1) Flash plug-in GUI - Here you can enter the value in GUI (Tools -> Flash Plug-In) and then program it.

    2) Include the settings in your project itself and use the .out to program the value. You can generate the settings using Security Tool (please refer this app note)

    3) Using Flash-API - As mentioned in your earlier note but I would suggest to try above two methods which are simple and easy to try.

    Regards,

    Vivek Singh

  • Hi Vivek,

    Thank you for the support, I will try this and let you know if I am successful.

    DIJITH P

  • Hi Vivek,

    for usb option i save this file for CPU1 ONLY change i made is BOOTCTRL?ANY OTHER CHANGE REQUIRED HERE?

    TRM  its given that cpu2 booting is not allowed using USB so what should be the selection in BOOTCTRL in this Ui can i keep default FLASH OR SHOULD I CANGE THIS ALSO TO USB?

  • CPU2 booting is done via IPC BOOT command so there is no OTP setting for that. OTP BOOT settings are for CPU1 only.

    Regards,

    Vivek Singh

  • Hi how to varify OTP  value? i flashed BOOTCTRL selection USB boot mode and restarted but unfortunately, USB IS NOT DETECTED

    1.In TRM it was given that if booted in ROM USB boot loader unrecognized device will be shown and i need to install driver from utility folder c2000.

    but unrecognized device not showing in PC ? how to verify its booting from ROM USB BOOT LODER?

  • yes thank you now iam able to see the usb boot loder,now let me flash application see will update soon.

  • Hi vivek/Anu/Vamshi

    i tried to run demo application iam getting following error

    let me know how to solve this issue iam using windows10 os and C2000Ware_4_00_00_00

    DIJITH P

  • now its working fine,need to check custom made .out file will update

  • iam not able to get my custom code flashed please helpme in this regard

    Manufacturer: Texas Instruments
    Product ID: TMS320F28x7x USB Boot Loader
    Serial number: 2

    Sending 14206 bytes of data from file F2837xD_usb_flash_kernels_cpu01.dat... done!
    14206 out of 14206 bytes sent
    Success!
    Error reading manufacturer string: 1f0000
    USB operation failed!

    C:\ti\c2000\C2000Ware_4_00_00_00\utilities\flash_programmers\usb_flash_programmer>

    this is the log i got

  • I run this command,

    usb_flash_programmer.exe  F2837xD_usb_flash_kernels_cpu01.dat  alphaCellCounterCPU1.dat

  • I will ask the USB Flash Programmer expert to comment. 

  • Hi

    Thank you for all your support now I am able to flash cpu1 unfortunately I couldn't flash cpu2.

    logs are below


    C:\ti\c2000\C2000Ware_4_00_00_00\utilities\flash_programmers\usb_flash_programmer> usb_flash_programmer.exe F2837xD_usb_flash_kernels_cpu01.dat blinky_cpu01.dat F2837xD_usb_flash_kernels_cpu02.dat blinky_cpu02.dat

    Manufacturer: Texas Instruments
    Product ID: TMS320F28x7x USB Boot Loader
    Serial number: 2

    Sending 14206 bytes of data from file F2837xD_usb_flash_kernels_cpu01.dat... done!
    14206 out of 14206 bytes sent
    Success!
    Manufacturer: Texas Instruments
    Product ID: TMS320F28x7x USB Boot Loader
    Serial number: 2

    Sending 7044 bytes of data from file blinky_cpu01.dat... done!
    7044 out of 7044 bytes sent
    Success!
    Error enumerating device interface: 0x0103
    This may mean that the device is not attached or the driver is not installed
    Error: Couldn't open the USB device

  • Hi, 

    For F2837xD, only CPU01 has access to the USB module. So, CPU02 depends on CPU01 to receive the data. 

    CPU01 should  boot CPU02 with an IPC message and CPU01 continues to receive another binary application to be run in CPU02 flash and it transmits the binary application to CPU02 through IPC. 

    Refer page 5 of https://www.ti.com/lit/an/spraco7/spraco7.pdf to understand the steps invovled.

    Best Regards

    Siddharth

  • Hi sidarth ,

    I went through the document.

    as per the snapshot taken from the said document i already advanced till this point please go through previous thread,

    now 

    C:\ti\c2000\C2000Ware_4_00_00_00\utilities\flash_programmers\usb_flash_programmer> usb_flash_programmer.exe F2837xD_usb_flash_kernels_cpu01.dat blinky_cpu01.dat F2837xD_usb_flash_kernels_cpu02.dat blinky_cpu02.dat

    by running this command i got the following result

    Manufacturer: Texas Instruments
    Product ID: TMS320F28x7x USB Boot Loader
    Serial number: 2

    Sending 14206 bytes of data from file F2837xD_usb_flash_kernels_cpu01.dat... done!
    14206 out of 14206 bytes sent
    Success!
    Manufacturer: Texas Instruments
    Product ID: TMS320F28x7x USB Boot Loader
    Serial number: 2

    Sending 7044 bytes of data from file blinky_cpu01.dat... done!
    7044 out of 7044 bytes sent
    Success!
    Error enumerating device interface: 0x0103
    This may mean that the device is not attached or the driver is not installed
    Error: Couldn't open the USB device

    can any one help me why iam not able to flash cpu2

    DIJITH P