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/DRV8353RS-EVM: Getting Started with C2000 and DRV8353 Motor Control from Base CCSxx Project

Part Number: DRV8353RS-EVM
Other Parts Discussed in Thread: MOTORWARE, C2000WARE, TMS320F28027, DRV8353

Tool/software: Code Composer Studio

HI,

We have been driving our motor with the DR8353RS-EVM evaluation kit, and it is time for us to bolt on our own hardware.  I do not see where, exactly, the source code is for the TMS320F28027 part for CCSxx.  I am using CCS10, and I have downloaded Motorware, C2000Ware, 8353 EVM Firmware.zip, and cannot locate a CCS10 project to get me started with the exact code that is in the EVM.

I do see many posts where this is eluded to be available, but I have searched and searched, and I even see TI people replying that "it's in there..." but no real reference to exactly where this is.

I have CCS10 installed, and I have been able to pull in some projects, but the source is either missing, the compiler support is not mating (keep getting error dialogs regarding the version of the project file).  Maybe the answer is that I have the code, just need to downrev CCSxx?

Would appreciate a concise answer, thank you in advance!

  • I think that this is the correct one, but CCS10 will not allow this to be imported...

  • Picture did not show up, here it is again...

  • You might refer to the link below to get the examples and add then to motorWare for DRV8353.

    https://e2e.ti.com/support/microcontrollers/c2000/f/171/p/921751/3430457#3430457

    And then refer to InstaSPIN lab guide at (\ti\motorware\motorware_1_01_00_18\docs\labs) in motorWare to import the lab project to CCS.

  • Thank you, that definitely got me something that I can import and compile.

    What I want is the exact EVM code that drives the EVM GUI via USB (UART) so that I can start with what we have for the motor evaluation.  There are lots of labs there, however none of them say "EVM GUI", is there something else to load for that?

    Starting at the baseline of what we know, is essential.

    Thanks again!

  • Lab11 seems to be close, and yes I can get it to compile, but once I program the Piccolo top board part, my EVM will be bricked if this is not the right one!

    Thanks

  • I tried to compile Lab11 and when I do, the linker tells me that I do not have enough memory to compile this project into the target processor.  I just need a project to start with, that just works, links to the GUI so that I can start to do our specific enhancements.  Please help.

    <Linking>
    warning #10247-D: creating output section "ramfuncs" without a SECTIONS
    specification
    warning #10247-D: creating output section "rom_accessed_data" without a
    SECTIONS specification
    "../28027_RAM_lnk.cmd", line 122: error #10099-D: program will not fit into
    available memory, or the section contains a call site that requires a
    trampoline that can't be generated for this section. placement with
    alignment/blocking fails for section ".text" size 0x2d25page 0. Available
    memory ranges:
    PRAML0 size: 0x900 unused: 0x900 max hole: 0x900

    undefined first referenced
    symbol in file
    --------- ----------------
    _RamfuncsLoadEnd ./proj_lab11a.obj
    _RamfuncsLoadStart ./proj_lab11a.obj
    _RamfuncsRunStart ./proj_lab11a.obj

    error #10234-D: unresolved symbols remain
    error #10010: errors encountered during linking; "proj_lab11a.out" not built

    >> Compilation failure
    makefile:177: recipe for target 'proj_lab11a.out' failed
    gmake: *** [proj_lab11a.out] Error 1
    gmake: Target 'all' not remade because of errors.

    **** Build Finished ****

  • Yes, not all labs are migrated to DRV8353, just some labs are done this like lab02, lab05b, and lab10a for your reference.

  • Can't I just get the base CCS project for what is shipped in the demo kit, the EVM?  That fits into the processor, and it works with the GUI.  I do not want to reinvent anything here, just take what works, and go to production.  Someone has to have the project, in what gets shipped, ready to go and share.

  • And 5b when I change the chip to the F28027, which is what I have on my board, and what is on the EVM, also gives the same "will not fit" error.  I just need to project to go into the boards that I have, the EVM for sure, and I have my own board to put this in.

    Seems like this can be a lot easier if you had the code that is in the EVM, marked as such, and easily identifiable, and easily obtainable!

    Same issue as before with lab05b...

    ================================

    Building target: "proj_lab05b.out"
    Invoking: C2000 Linker
    "C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.2.LTS/bin/cl2000" -v28 -ml -mt -O2 --define=FLASH --define=FAST_ROM_V1p7 --define=F2802xF -g --diag_warning=225 --display_error_number --abi=coffabi --asm_listing -z -m"proj_lab05b.map" --stack_size=0x180 --warn_sections -i"C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.2.LTS/lib" -i"C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.2.LTS/include" --priority --reread_libs --disable_auto_rts --diag_suppress=16002 --xml_link_info="proj_lab05b_linkInfo.xml" --rom_model -o "proj_lab05b.out" "C:/ti/motorware/motorware_1_01_00_18/sw/modules/fast/lib/32b/f28x/f2802x/2802xRevB_Fast_IQ_ROMSymbols.lib" "C:/ti/motorware/motorware_1_01_00_18/sw/modules/fast/lib/32b/f28x/f2802x/2802xRevB_Fast_ONLY_ROMSymbols.lib" "C:/ti/motorware/motorware_1_01_00_18/sw/modules/fast/lib/32b/f28x/f2802x/2802xRevB_Fast_RTS_ROMSymbols.lib" "C:/ti/motorware/motorware_1_01_00_18/sw/modules/fast/lib/32b/f28x/f2802x/fast_public.lib" "C:/ti/motorware/motorware_1_01_00_18/sw/modules/iqmath/lib/f28x/32b/IQmath.lib" "./CodeStartBranch.obj" "./adc.obj" "./clarke.obj" "./clk.obj" "./cpu.obj" "./ctrl.obj" "./drv8353.obj" "./filter_fo.obj" "./flash.obj" "./gpio.obj" "./hal.obj" "./ipark.obj" "./memCopy.obj" "./offset.obj" "./osc.obj" "./park.obj" "./pid.obj" "./pie.obj" "./pll.obj" "./proj_lab05b.obj" "./pwm.obj" "./pwr.obj" "./spi.obj" "./svgen.obj" "./throttle.obj" "./timer.obj" "./traj.obj" "./usDelay.obj" "./user.obj" "./wdog.obj" "../28027_RAM_lnk.cmd" -llibc.a
    <Linking>
    warning #10247-D: creating output section "ramfuncs" without a SECTIONS
    specification
    warning #10247-D: creating output section "rom_accessed_data" without a
    SECTIONS specification
    "../28027_RAM_lnk.cmd", line 122: error #10099-D: program will not fit into
    available memory, or the section contains a call site that requires a
    trampoline that can't be generated for this section. placement with
    alignment/blocking fails for section ".text" size 0x34abpage 0. Available
    memory ranges:
    PRAML0 size: 0x900 unused: 0x900 max hole: 0x900

    undefined first referenced
    symbol in file
    --------- ----------------
    _RamfuncsLoadEnd ./proj_lab05b.obj
    _RamfuncsLoadStart ./proj_lab05b.obj
    _RamfuncsRunStart ./proj_lab05b.obj

    error #10234-D: unresolved symbols remain
    error #10010: errors encountered during linking; "proj_lab05b.out" not built

    >> Compilation failure
    makefile:174: recipe for target 'proj_lab05b.out' failed
    gmake: *** [proj_lab05b.out] Error 1
    gmake: Target 'all' not remade because of errors.

    **** Build Finished ****

  • Sorry to send another post, but I only get you to answer once a day, and I need to move faster than this if we can.  I simply imported lab10a, built it without touching anything, and it built.  The device is not selected in the build settings, a Generic C28xx Device is selectted...but then I cannot program the C2000 Launchpad with this code...  If I select the proper CPU, then it also does not build.

    Here is the error set when I try to download to the LaunchPad...

    I am not a new user to CCS, just the Piccolo and the motor controller stuff.  I do know how to get around, obviously however not on this project!

  • The .cmd file you used is not right, and the project should have had the target configuration file already, you don't need to change anything to run the lab02b/02c, lab05b and lab10a with CCS for DRV8353_EVM.

    Please get the updated file for DRV8353_EVM that also includes the correct .cmd file.

    https://e2e.ti.com/support/microcontrollers/c2000/f/171/p/921751/3430457#3430457

    Extract the compressed file and copy the folders instead of the original folders in "sw" in motorWare.

  • TI Support, really need to get a response on this.  We have a very excited customer, and need your support please!  There is no one to call you all anymore, having to use this method for support is tough since I am simply waiting here checking this post for your response.  I can only stay in business using your parts, if you can help when there are issues!

    I have this board:  https://www.ti.com/lit/ml/sprz376/sprz376.pdf?ts=1596641854328&ref_url=https%253A%252F%252Fwww.ti.com%252Ftool%252FLAUNCHXL-F28027

    I have this EVM: https://www.ti.com/tool/DRV8353RS-EVM?keyMatch=DRV8353RS-EVM&tisearch=Search-EN-everything

    I purchased them together, as a motor driver kit.

    I have CCS10, and the C2000 tool set loaded.

    What I need, very simply: source project that is exactly what comes in the LaucnhPad kit.  It needs to compile under the correct processor, and work with the EVM .GUI.

    Please.

  • Thank you for the reply on getting, for example, Lab10a.  I have done that, and did it again just now, and I did not change the processor target, and I compiled no problem.

    I connect the LauchPad, it enumerates correctly, I try to run a debug session, here is what I get:

    C28xx: Error occurred during flash operation: Unable to read algorithm file "C:\ti\ccs1000\ccs\ccs_base\DebugServer\bin\..\..\c2000\flashAlgorithms\FlashAPIInterface2802xV2_00.out"
    C28xx: Error occurred during flash operation: Unable to read algorithm file "C:\ti\ccs1000\ccs\ccs_base\DebugServer\bin\..\..\c2000\flashAlgorithms\FlashAPIInterface2802xV2_00.out"
    C28xx: Flash Programmer: Error encountered when writing to flash memory
    C28xx: File Loader: Memory write failed: Unknown error
    C28xx: GEL: File: C:\Users\jimvr\workspace_sitara\proj_lab10a\Flash\proj_lab10a.out: Load failed.

    I really don't know what Lab10a is, is this what is in the EVM when I got it?  I see the list of labs in the description PDF "InstaSPIN Projects and Labs User’s Guide", however there is just a high level description, "Overmodulation:."  Is there some companion tutorial doc set for the labs?

    Really, what I need is the code that makes the EVM, GUI, LaucnPad work, just like I got it when I purchased these kits from you, I have 5 of them!

  • I guess you should re-install or update the CCS for supporting C2000 device.

    CCS: https://www.ti.com/tool/CCSTUDIO

    And you could find the InstaSPIN lab guide at the folder below in motorWare, please follow the guide to run the lab02b and lab05b or lab10 for identifying and spinning the motor.

    \ti\motorware\motorware_1_01_00_18\docs\labs

    Sorry, the GUI for DRV8353 is not designed for InstaSPIN-FOC, we recommended you use CCS directly if you want to implement InstaSPIN-FOC on this kit or your own board.

    If you haven't had a chance to look at the workshop material, I think this will help demystify some of the terminology and architecture as well.

    https://training.ti.com/c2000-mcu-device-workshops

    https://training.ti.com/c2000-motorcontrol-training-series