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.

TMS320F28069: How to bring a closed unit (IP65) with an external USB connection into Standalone Boot Mode (SCI)

Part Number: TMS320F28069
Other Parts Discussed in Thread: CONTROLSUITE, C2000WARE

Hi people,

I need a solution how to bring a fully closed up unit (IP65) into Standalone Boot Mode (SCI) only by the use of a USB connection.

By the use of the exe file "serial_flash_programmer" I have managed to upload a new application code into my evaluation board:

serial_flash_programmer. exe -d f2806x -k f2806x_flash_kernel.txt -a CCS_LED_Test_1Hz.txt -p COM4 -b 9600 -w -v

To bring the eval-board into SCI boot mode I need to set GPIO34=1 and GPIO37=0 and the power up (reset).

On the eval-board setting up GPIO34 and 37 is done by the help of 2 DIP-switches and it works very fine!!

But.... how do I control if I want to go into boot mode or not without the use of DIP-switched?

Can I do something (write to some register) just before I reset the unit to get into Boot Mode. 

I'll rather not have an extra hole in my IP65 cabinet for a DIP-switch.

Please help!

 

  

  • How do you plan to communicate to the device to let it know what boot mode to enter? The information has to get there somehow...

    You can design what you need in your flash application. When the flash application gets a certain signal, then cause the device (via software) to do what you want.

    I am not sure what else we can recommend.

    sal
  • I have tried to configure GPIO37=0 and GPIO34=1 (SCI, Mode 1) in my application, but it just runs from flash after reset.
    It only works with DIP switches. 

    I had hoped to make a solution with a 5 sec. boot window on startup, but it seems to be impossible for this device. 

    1 scenario: normal power up
    Power up the test-unit WITHOUT a PC connected via the USB.
    - after 5 sec. the test-unit continues running from flash (nothing had happened).

    2 scenario: Bootloader
    Power up the test-unit WITH a PC connected via the USB.
    - within 5 sec. it is possible to bootload the test-unit
    - after the new app code has been flashed the system starts up ready to run. 1 scenario runs again.

    A power up reset is the only way to bring it out of a boot mode.... am I right?

    If I find at way to communicate to the device the type of mode (SCI) to enter what will be the trigger to bring it into SCI boot mode? 

    Does it have to be on startup (after reset) or can it be when the application is running from flash?

    Do I have to go for "Get mode"? (GPIO37=1 and GPIO34=1, Mode 3) but  I have ruled out the OTP part since this is not an OTP (one-time-programmable chip)

    /CBHMS

      

  • The GPIOs will be reset on a reset. This is normal and expected behavior. A reset resets the device.

    What do you mean a 5 sec boot window? You can do this yourself by booting to flash and waiting to receive some instruction for how to finish booting. We can't customize the boot procedure for every customer, but you can customize it yourself in your flash application.

    Here is my suggestion:
    Boot the device as a USB device. The hardware and software can sense a connection. If there is a connection within some time period, then perform the DFU. Else if the wait period times-out then run the flash application.

    You can send a command to the device/flash application at any time and make a decision based on the communication. That is the beautiful thing about software. You can program the device to do what you want!

    sal
  • Thanks Sal, yes I know, but I need help much more low level.

    I have only one question then:

    - what do I have to do in my flash code (application code) to jump into boot mode (SCI). That is my main core question.

    I'm realy not getting anywere with this setup.

    Best regards,

    CBHMS

    PS: recommended application notes?

  • 1) Include the boot rom symbol library (.lib) from the utilities/boot_rom folder into your CCS project.
    2) Extern the SCI_Boot() function you want to call.
    3) call the function in your code.

    That is it.

    sal
  • Hi Sal,

    thanks.. that's it!

    Best regards,

    Carsten

  • Hi Sal,

    where do I find the USB windows driver for the DFUProg.exe program?

    I have been looking in controlSUITE:
    C:\ti\controlSUITE\device_support\f2806x\v151\MWare\windows_drivers

    but my system will not accept any of the avalible inf-files.

    I'm running windows 10 pro on a 64-bit system.

    Hope you can help me!

    Best regards,
    Carsten
  • Hi Carsten,

    We currently release our software package under the name C2000Ware. And we have deprecated this tool. Therefore, we do not update the driver files any longer.

    My suggestion is to use the serial flash programmer for this device. Please see www.ti.com/.../sprabv4b.pdf

    Or you can use the can flash programmer and CAN flash kernel.

    Hope this helps,
    sal
  • Hi Sal,

    thanks a lot for your quick answer!

    Best regards,

    Carsten

  • Hi Carsten,

    If you have related questions, then you can post here.

    If you have unrelated questions, then please open another thread.

    If this is closed, then please click one of my responses to say this is resolved.

    Regards,
    sal