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.

ControlCARD flash updates and standalone booting without flipping switches?

Other Parts Discussed in Thread: TMDSCNCD28069, TMDSDOCK28069, CONTROLSUITE, TMDSCNCD28069ISO

Hi Folks,

Hoping this is the correct forum (I was referred here from the CCS forum).  I am using the TMDSCNCD28069MISO ControlCARD.  A couple of questions ...

  1. Is there a way for me to update the MCU's flash image via the debug USB port without having to flip any switches on the ControlCARD each time?  Currently, I have to set SW3-1 = ON for CCS to access to MCU/flash, but the MCU will not boot standalone in this mode.  When SW3-1 = OFF, the MCU will boot standalone, but CCS can not connect via USB to update the flash.
  2. If the ControlCARD is already running (booted off flash / standalone), is it possible to use CCS to watch/view internal variables via the debug USB port?

Thanks!

-Bret

  • Hi Bret,

    The price of having an isolated emulator on the controlCARD is that it forces the process you've described in (1).  And blocks the ability to do (2).  The device itself will allow both (1) and (2).  The isolation chips, used on controlCARDs that have an on-card isolated emulator, drive outputs - as a result, TRSTn is always driven when the on-card emulator is connected to the C2000 device - and this affects the boot process.  SW3-1 controls whether the emulator is connected to TRSTn or not.


    If you don't need isolation in your system, you could edit the controlCARD (remove the isolator components, add 'blue'-wires) to defeat the isolation. 

    Another option is to buy/use the TMDSCNCD28069/TMDSDOCK28069 during more basic code development and then move over to the TMDSCNCD28069MISO, when necessary.  Note that these two kits are not populated with a F2806x device that supports InstaSPIN - so this path may or may not be valid.

    Hopefully this helps explain the situation some.


    Thank you,
    Brett

  • Thanks, Brett. We are using both the InstaSpin & InstaMotion features. A couple of follow up questions ...

    1) Can you send instructions on how to rework the ControlCARD (remove the isolator components, add 'blue'-wires)?

    2) Is it possible to update the Flash through microUSB port? Any other port?

    Thanks,
    -Bret
  • Hi Bret,

    First off, you'll find the schematics for the controlCARD at the following directory (within controlSUITE):
    \controlSUITE\development_kits\~controlCARDs\TMDSCNCD28069ISO_v1_1\

    1) From a high level, you'd remove the isolator chips and then add wires to jump connections horizontally across the gap (ie pin1 to pin 8, etc).  You wouldn't need to do all 16, but maybe 10-12.  Please remember that doing this will remove isolation and may subject your computer to more switching noise and potentially damage if the controlCARD is going to be put on an application board.  A good option may be to buy another TMDSCNCD28069MISO and convert it to being unisolated while keeping one isolated.

    2) If you just want something that works, CodeSkin's free C2Prog can be useful.  I know that it support flashing over SCI/UART.  The USB mini port on your controlCARD goes to a dual-port FTDI chip.  One port is utilized for JTAG and the other can simultaneously be used for SCI/UART.  What this means is that you can experiment with flashing over SCI using this port and the C2Prog utility.  They may have other interface options available as well (other than SCI), but you'll need to investigate.

    If you want to make something yourself, there is a serial_flash_programmer example for C2000 devices:
    \controlSUITE\device_support\~Utilities\serial_flash_programmer\

    This is for the SCI/UART again, but could be modified to meet your needs.


    Thank you,
    Brett

  • I am getting confused by Bret/Brett conversion.

    Bret,

    We have a USB flash programming or device firmware update application in controlSUITE you can try out if it suits what you are trying to accomplish. There is a bl_app example which should reside in flash. This is used to load the boot_loader example into RAM using the USB. Then the boot_loader will run from RAM and act as a DFU to update the flash with the downloaded contents using the Host PC project dfuprog.

    If you place the bl_app in flash, you can signal the MCU any way you wish to trigger the DFU process, you can use external communication from a peripheral. You can do this at boot up by checking a specific GPIO. For example, if that GPIO is high you can branch to the DFU if not, you can branch to the application.

    Hope this helps.

    Regards,
    sal