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.

Integration of ControlSuit framework to MotorWare

Expert 1570 points
Other Parts Discussed in Thread: MOTORWARE, CONTROLSUITE

Hi,

I've been using the C2000 MCUs for the past seven years, and produced many successful projects using them. All my projects were build on ControlSuit framework.

I've been working with MotorWare projects for the past two years, and now I'm coming out with my own product, based on InstaSPIN (which is an amazing work, by the way !).

However, I would like to use my "old" source code which I've tested for several years, which is based on ControlSuit. All my low-level drivers for UART, ECAP, CAN, SPI are all in ControlSuit style.

It will be highly time-saving for me to re-use my old and tested code, rather than write everything from scratch using MotorWare architecture.

Could you please advise on how to integrate the ControlSuit framework into the MotorWare ?

I'm sure that for many advanced and "veteran" users that would be very helpful.

Thanks a lot

  • Mojo,
    In the controlSUITE documentation there is a section that describes how to incorporate the headers into any project. This may help.

    Review
    F2806x-FRM-EX-UG.pdf
    device support/2806x/version/doc

    section 2.5
  • Dear Chris,
    I followed your suggestion and it was pretty easy to integrate the controlsuite.
    However, I'm wondering about the F2806x_Headers_nonBIOS.cmd file.
    Should it be left on the file system of the project, or defined inside the project properties somehow (maybe under "Linker->File search path->Include library or command file " ?

    If I look on a ControlSuite project, this file is not defined in the project properties.

    Thanks a lot for your great support
  • The Headers .cmd file needs to be included in the project.  If it isn't and you use the -w linker option you should get a number of warnings about the bit-field structures being assigned to memory without being specifically placed in a .cmd file.  

    Either method you mention should be fine for including the file in the project.   I opened one of the controlSUITE device support projects and there it is included as a linked file.

    Let me know if this answers your question.  


  • Hi Lori,
    Thanks for the quick reply!
    Can you please explain what is the difference if I have the file in the project file-system (or linked), or to have it in the build options->general->Linker command file ?

    I just saw that it makes a difference, but I'd like to understand the behavior of the linker..

    Thanks
  • Mojo said:
    Can you please explain what is the difference if I have the file in the project file-system (or linked), or to have it in the build options->general->Linker command file ?

    I just saw that it makes a difference, but I'd like to understand the behavior of the linker..

    Hi Mojo,

    Can you tell me what you observed (how it was different?). 

    I checked with the Code Composer team and they indicated the functionality should be the same.  It is two different ways to do the same thing.  If I understand what you observed then maybe I can help explain.

    Thank you

    Regards

    Lori

  • Hi Lori,
    I started experiencing bad behavior of the running code - Illegal ISRs, ESTOPs, HAL interface stopped working (not setting the registers properly)... I had a whole discussion with Chris today, and eventually he pointed out that the F28069F_ram_lnk.cmd file should be defined in the linker... It was always in my project file system...
    Very very strange I must say, but defining it in the linker solved all of the problems...

    By the way, I didn't check yet the behavior under Flash, but I guess it will be ok if I define the cmd file in the linker.

    Maybe there's something with the FAST integration...

    Thanks for the great support !
  • Another thing I just noticed - As soon as I defined the CMD file in the linker and rebuild, the cmd file appeared in my root file-system of the project. What I did before is to put the CMD file in a subfolder, under the project root...
    Maybe that changes something?