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:Differences between CCS and direct flash download

Part Number: TMS320F28377D
Other Parts Discussed in Thread: C2000WARE, UNIFLASH

 I customized the bootloader for myself and downloaded the APP program. However, I downloaded the APP program and jumped to run it, but it does not run and stops as shown in the picture below. However, after downloading the APP program through CCS, if you run the bootloader and jump to the APP program, it will operate normally. What is the reason that it does not run when I download the APP program myself and run the APP program?

  • Hi Kim,

    I'll need some more information, a few questions:

    1) Did you mean to include a first image? It is shown as a broken link.

    2) Is the custom bootloader for SCI or CAN? I see you have CAN.c in the image above. 

    3) What host programmer are you using to run the new bootloader?

    Thanks and regards,

    Charles

  • Hi Charles

    1) I'll upload it again.

    2) The rewritten bootloader is written in Can.

    3) I am using a host program that I created myself. The program name is Delphi 7.

    However, after conducting various tests, I learned something new. It saved the data as a Ti Hex file in the memory screen on the right in the picture above and reloaded the file, so the API jumped and ran normally. For reference, the screen on the right is a memory screen downloaded to Flash using my self-made Bootloader.
    So, the question is why normal jump behavior occurs when flash data is reloaded using CCS.

    Thanks and regards,

    Kim

  • Hi Kim,

    The reason why normal jump behavior occurs when the flash data is reloaded using CCS is because it ignores the boot mode switches set for the device. CCS loading instead looks at the emulation boot mode (if set).

    The device's ROM Bootloader will try to see a keyvalue frame (0xAA08). If it does not recognize this, it will jump to the flash entry point, thus making it seem like normal jump behavior is occurring. 

    Have you been able to view the bootROM source files for the device?They are located here for CPU1 (C:\ti\c2000\C2000Ware_5_01_00_00\libraries\boot_rom\f2837xd\revB\rom_sources\F2837x_bootROM\cpu01-bootROM\source). I think this would also help to clear up the understanding.

    Thanks and regards,

    Charles

  • Hi Charles

    Boot mode switches set to User Flash. The Bootloader I created is located in user Flash (FLASHA,FLASHD,FLASHE). So, after downloading the APP program to the APP area (designated as FLASHF) using Uniflash or CCS, turn the power switch of the test board off and on and the APP program will run normally through the bootloader. However, if you load the APP into the APP area (FLASHF) using the Flash API and turn the test board's power switch off and on, it continues to reset and only the bootloader is repeatedly executed. I'd like to know why this is happening.

    Thanks and regards,

    Kim

  • Hi Kim,

     However, if you load the APP into the APP area (FLASHF) using the Flash API and turn the test board's power switch off and on, it continues to reset and only the bootloader is repeatedly executed.

    Do you mean the CAN bootloader is repeatedly executed? It is waiting for information on the CAN bus, if the boot mode switch settings for the device are for CAN.

    Thanks and regards,

    Charles