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.

Load code into Flash F2803 for DRV830x-hc-c2-kit

Other Parts Discussed in Thread: CONTROLSUITE

I am using PM_Sensorless example project and want to flash the device with the code.  I noticed all off the build configurations included with the project are for RAM.  Can someone point me to a build configuration for Flash?

  • Vincent,

    The answer here is a multiple step process. You'll need to edit the linker command file (.cmd) to include the FLASH memory ranges, copy certain FLASH critical functions into RAM, and ensure that the Control Card boot mode switches are configured appropriately.

    Please read through this document: www.ti.com/.../spra958l.pdf, which will describe the process in depth

    Also, you may find it useful to go through the F2803x FLASH examples we have in Control Suite -

    <controlSUITE>\device_support\f2803x\v130\DSP2803x_examples_ccsv5\flash_f28035
    <controlSUITE>\device_support\f2803x\v130\DSP2803x_examples_ccsv5\flash_programming


    Sean
  • Ok, so I setup a FLASH build configuration using the 2xPM_Sensorless project as an example.

    One thing I noticed is that 2xPM_Sensorless is able to include F28035_FLASH_2xPM_Sensorless.CMD in the build and exclude F28035_RAM_2xPM_Sensorless.CMD based on the build configuration selected. (see screenshot below)

    In the FLASH build configuration that I created, I am unable to figure out how to make this association.  In other words both linker files associated with RAM and FLASH are being included in the build.  How can I make the association such that selecting the FLASH build configuration will only use the FLASH linker command file?

  • Vincent,

    If I'm understanding your question correctly, what you'll want to do is "Exclude from Build" one of the linker command files by right-clicking and selecting from the menu. It appears you've already done that though to the circled cmd file, as it is greyed out. Greyed out files are not included when you build the project.

  • Sean,

    Thank you for your quick response.

    In the example project (the screenshot I showed) the files are excluded automatically based on the build configuration selected. In other words, when I switch between different build configurations I don't have to worry about excluding and re-including linker command files to and from the build.

    On the project I am creating a FLASH build configuration for (DRV8302-HC-C2-KIT), I cannot figure out how to automatically include and exclude .CMD files like the 2xPM_Sensorless project does.

    How do I make this happen?
  • Have you created separate build configurations within the lab properties tab? Right click on your lab in CCS and select "Properties." From there, the "General" tab will have a configuration drop down menu; below that, you'll find a separate drop down for linker command file. You should create a configuration for FLASH and for RAM separately, assigning each the appropriate cmd file. Switching these configurations should then enable/disable the appropriate linkers
  • As show below, both the example project and the project I am trying to modify reference DSP2803x_Headers_nonBIOS.cmd.  It doesn't reference the FLASH or RAM linker command files, but somehow it links to the correct one and excludes the other.

    Can you look at the project for TMDS2MTRPFCKIT to get a better understanding of what I am trying to do?

  • I think I got it to work. It looks like when you select exclude from build, this setting is saved in the project. Thank you for your help.
  • I tried to merge the flash linker file from the TMDS2MTRPFCKIT project into DRV8302-HC-C2-KIT project.  It compiles.  When I try to load the code no errors were generated, but it does not seem to run.  I can see the message "no symbols are defined for 0x3ff599" in the Debug window.  I placed a breakpoint on the first line in the main() function, but it never gets set.

    Any idea what is going on here?

  • Setting up a new target configuration seems to have resolved this issue.