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/TMS320F28377S: SCI Boot loader peripheral pins-how to configure

Part Number: TMS320F28377S
Other Parts Discussed in Thread: C2000WARE

Tool/software: Code Composer Studio

Hello,

I am working on TMS320F28377S processor and I want to update firmware using SCIA and I check the working of code skin programmer and as well as ti flash utility. But I don't know how to configure SCIA pins. In reference manual section 6.9 it is given that for sci-boot 0 use pin 84,85 or pin 28,29. but in TMS320F28377S pin 28,29 is not present and 84 is used to select boot loader. So please suggest how to solve this. 

I refer "Serial Flash Programming of C2000™ Micro controllers", "TMS320x2833x, 2823x Boot ROM reference guide" but nothing is given about how to change pin configuration.So please tell how set this pins.

One more thing please tell how to select boot loader program. in reference manual some thing about  EMU_BOOTCTRL register is given in section 3.6. But nothing is given how to abscesses it. Please tell about some example (if any)

 

.

  • Hello,

    I am working on TMS320F28377S processor and I want to update firmware using SCIA and I check the working of code skin programmer and as well as ti flash utility. But I don't know how to configure SCIA pins. In reference manual section 6.9 it is given that for sci-boot 0 use pin 84,85 or pin 28,29. but in TMS320F28377S pin 28,29 is not present and 84 is used to select boot loader. So please suggest how to solve this. 

    I refer "Serial Flash Programming of C2000™ Micro controllers", "TMS320x2833x, 2823x Boot ROM reference guide" but nothing is given about how to change pin configuration.So please tell how set this pins.

    One more thing please tell how to select boot loader program. in reference manual some thing about  EMU_BOOTCTRL register is given in section 3.6. But nothing is given how to access it. Please tell about some example (if any)

  • What do you mean 28/29 are not present. They are pinned out.

    There are two boot mode select pins which select the boot mode. The default SCI boot mode uses 28/29. You can use the serial flash programmer by connecting with 28/29.

    Please see www.ti.com/.../sprabv4b.pdf

    The emulation boot control register is at memory address 0xD00. The key is 0x5A. You need to program a 16-bit value at 0xD00 to select the emulation boot mode. This is described in the documentation.

    Regards,
    sal
  • Thank's for replay...

    In refrence manual section 3.9.6 default option is GPIO 84 AND 85 which are used to select boot loader in my case and GPIO28,29 is not present in 100-Pin PZP (sorry i not mention the package and please refer page 23 of datasheet).

    So please suggest alternate gpio and how configure it.

    Thankyou
  • The boot mode select pins are configurable on this device. You can change it.

    If you continue to use GPIO84 for boot mode select pin, you can then use it for SCI communication after using it to select the boot mode.

    Hope this helps.
    sal
  •   I decided to use C2PROGv1.7 for serial programing and configure ccs  8.1 as given in this post and generate hex file too.

    https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/595005

    and I  change value 0XD00 by writing this syntax in starting of main function so micro controller jump in boot mode after reset

    *(uint32_t *)0xD00=0x8AA;   //This value is given in " www.ti.com/.../sprabv4b.pdf"  flow chart

    And then I run the program using this in micro controller  using jtag clock at 20mhz.

    and then remove the jtag and connect the pin 84 and 85 with my com port and reset the micro controller and press program button on window but i getting message..

    *** PLEASE RESET TARGET IN SCI BOOT-LOADER MODE ***

    Connecting with target (autobaud)...  failed (no response)!

    So please what is wrong in this process

  • TI does not support C2Prog. This is a third party tool with CodeSkin.

    Regards,
    sal
  • OK . Sorry,

    But can you tell about the value

    *(uint32_t *)0xD00=0x8AA; //This value is given in " www.ti.com/.../sprabv4b.pdf" flow chart

    And can it is possible to call serial boot loader form main program so after reset ( by watchdog timer or any other way) I can update firmware using serial flash programmer given in c2000 for firmware update.

    and in read me it is given "Before running serial_flash_programmer.exe, the microcontroller must be attached to a COM port, must be running the SCI boot loader"

    I run this on PC but firmware is not updated. So please tell how to run serial boot loader. One more thing I already try to change .gel file but this not work. And finally i want to sun code form stand alone mode.

  • That is not for the emulation boot mode. 0x08AA is the key that gets sent at the start of the hex file that is being communicated.

    Yes, you can either call the boot loader or the kernel from your application.

    sal
  • But how?
    Please suggest some way. I am totally stacked in this.

  • If you want to call the bootloader, then include the Boot ROM symbol library and make a function call to SCI_Boot().

    If you want to call the kernel, then include the source code for the kernel functions you need in your application. And make a function call.

    sal
  • I think you taking about this

    C:\ti\c2000\C2000Ware_1_00_06_00\libraries\boot_rom\f2837xs\revB\rom_sources\F2837x_bootROM\cpu01-bootROM\source

    I think i need some more lib to be include in my project for this ??

    And please tell the location of Boot ROM symbol library

  • Sorry I found it

    C:\ti\c2000\C2000Ware_1_00_06_00\libraries\boot_rom\f2837xs\revB\rom_symbol_libs

    But this is not c files so how to include them in project and how to use them ????
  • You don't need to include the C files. Just call the functions. The .lib includes the symbols as well as the linked addresses for those symbols in ROM. So the .lib will allow you to call the functions in ROM and both compile and link properly.

    Just include the .lib in your CCS project. Use "Add Files"

    sal