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/TMS320F28069M: Cannot get any Motorware Projects to work with CCS7 and XDS110

Part Number: TMS320F28069M
Other Parts Discussed in Thread: DRV8301-69M-KIT, MOTORWARE, DRV8301, UNIFLASH

Tool/software: Code Composer Studio

Hello everyone,

I've managed to go through most of the InstaSpin labs on the DRV8301-69M-KIT with a lot of success. I've transitioned to my own hardware and can't run anything (even lab1) without issues. 

I've done a fresh install of both CCS7 and Motorware 18. I've added a single project (Lab1) from the appropriate directory. Under target configuration, I have changed it to XDS110. I've selected TI v16.9.3.LTS as the compiler. The linker file is F28069F_ram_Ink.cmd.. The runtime library is rts2800_ml.lib. I'm trying to do a RAM debug, not FLASH. 

When I run, I can step through code(F6) until I get to:

HAL_setParams(halHandle,&gUserParams);

Once this happens, I suspend the debugger and see it has stopped at (3ff787:   6F00        SB           0, UNC)

On the hardware, I have left GPIO34 open instead of having a switch, but I have actually measured a high on this pin via the oscilloscope. When the emulator is attached, it seems that it defaults to a get mode state. With an unmodified 28069.gel file found somewhere in the ccs7 directories, I get a startup 0xD00/0xD01 value of 55AA / 0003, respectively. However, if I uncomment the EMU_BOOT_SARAM();, I get the correct 0x55AA/0x000A, indicating boot from RAM. 

Am I missing something? 

I'd appreciate any input on this, thank you!

Stephen

  • Hello,
    I am writing to let you know that a C2000 team member has been assigned to this post and should be answering shortly.

    Regards
    Baskaran
  • Good to know, thank you.

    Further information. I've actually run the exact same code on the controlcard + DRV8301 revD and it works fine.. 

    Do I need to tie the boot mode select according to the reference design, even if I am only using the emulator?

    Am I missing a bootloader or something that I don't get from a blank chip?

    Stephen

    PS - Silly things like, yes, I am using the same silicon..

  • With emulation, it is best to set the boot mode to wait boot mode.

    Best regards
    Chris
  • I've had the boot loader startup in all modes with zero success. Can it have something to do with the emulator (XDS110)? 

    I also had a very strange thing happen with the FLASH. With UniFlash, I was able to erase the device ONLY when I had set the clock to 20MHz and the divider to 4. It works every time like this, otherwise it fails when it is set to default. CCS uses a flash settings file for that device, which I modified to reflect the UniFlash settings. Before, it failed every time, now it has no issues. What could possibly cause that?

    I'm tempted to either buy the XDS100 or try to use the XDS110 on the evaluation board. Thoughts?

    Stephen

  • Are they still working on this answer?
  • Since the code runs well on F28069F/M ControlCard with it's on board XDS100 emulator, so it seems the problem was from the connection or the target configuration files of XDS110 emulator.
    1. Check the installation is ok for XDS110 in CCS7 as below link
    processors.wiki.ti.com/.../XDS110
    2. Disable onboard XDS100 (switch the SW3 on controlCard) if you are using the F28069F/M controlCard and connect XDS100 from DRV8301 Kit.
  • Thanks for the suggestion; however, no success. Upon further investigation, it appears that the isolated control card does not support emulation on the baseboard. Perhaps there is a non-isolated version that works better. I can understand because I am sure nobody wanted to multiplex the JTAG signals or whatever.
  • I've found the problem. It actually was a faulty switching regulator giving periodic 0.5V dips from the nominal 3.3V supply. Enough to connect, but it actually was browning out, and I couldn't tell what the actual error was.

    Thanks all -

    Stephen
  • Good, it sounds reasonable, you can connect the emulator successfully, but you lost the connection again when you run the code, so the issue is from emulator/MCU reset or power lost.