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.

TMS320F280049C: New to C2000 MCUs – Struggling to Understand SysConfig and Peripheral Configuration Steps

Part Number: TMS320F280049C
Other Parts Discussed in Thread: SYSCONFIG, C2000WARE

Tool/software:

I have just started working with the C2000 MCU series and am currently learning to program these devices using the example projects provided in C2000Ware. However, I’ve noticed that most of the examples use SysConfig to configure all the IO pins, but there’s little to no documentation explaining why the pins are configured in a particular way. Am I missing some resource or documentation that explains this?

Additionally, after going through the C2000 Academy, I’ve gained a fair understanding of the various peripherals and modules available. However, when it comes to actually using them, I find it difficult to know the correct steps to configure a peripheral. For example, in STM32 development, there’s a programmer’s manual that outlines exactly what needs to be done to configure a timer (e.g., enabling the clock, setting the prescaler, etc.).

Is there something similar available for the C2000 series? A document or reference that outlines the step-by-step process and required registers or C2000Ware driverlib functions for configuring each peripheral? I don’t expect to remember everything, so having a reliable place to refer to would be really helpful.

Thanks in advance for your help!

  • Hello,

    Thanks for your inquiry, and welcome to the C2000 MCU family! Slight smile

    Glad to see you have already gone through the C28x Academy content. This is a great starting point and should equip you with a familiarity of our working environment, including SysConfig. I will try my best to address your two questions below:

    • Peripheral initializations/configurations using SysConfig:
    • Step-by-step documentation for required registers and driverlib:
      • Your biggest resources for peripheral register and driverlib requirements are:
        • The device technical reference manual (TRM).
          • This has in depth descriptions of all peripherals, functions, settings, etc. and has register descriptions at the end of each chapter. These register descriptions will tell you what settings you should use depending on the function you are trying to perform/set up.
        • The device driverlib source files.
          • These source files host all driverlib functions along with descriptions of what each function does. Referring to these C (.c) and header (.h) files will allow you to understand which functions are needed for your application.
        • The device SDK software examples.
          • It's always best to start with one of our software examples and build upon it (while referring to other software examples as well). We have dedicated examples you can import into CCS for each peripheral. Meaning if I am building an example that uses EPWM as well as ADC and SCI, I would likely import examples for all three peripherals so I can understand the key initializations and refer to existing driverlib implementations as a reference. Reusing resources like these will save you lots of time in development and offer guidance in terms of basic peripheral setup and application.

    Hope the above helps provide some helpful information for your questions. Feel free to friend me on E2E as well in case you run into issues or need more detailed explanations!

    Best Regards,

    Allison

  • Thanks for the info.
    I am struggling a bit with pin init only (done using sys config in eg code without documentation). May be I will get used to it after some days.

    I also need you to tell me how do I install MCSDK in ubuntu 22.04.

  • Hello,

    Regarding the pin init, I wanted to highlight two notes in case you haven't looked into these yet:

    • The auto-generated C code can be viewed within SysConfig by clicking on the "< >" button in the upper right hand corner of the SysConfig window. The pinmux initialization generated code is in the "board.c" file. The code will be highlighted in red and green to actively show what C code you are adding and removing based on what settings you configure in the GUI.
      • Example:
    • There are also non-sysconfig examples available in the "device_support" directory of C2000Ware you can reference: {C2000Ware}\device_support\f28004x\examples.

    Regarding the MC SDK, there is unfortunately no native Linux downloader on ti.com- you will need to use alternative methods to extract the files. I assume you have CCS downloaded already, is that correct? You can actually already browse the motor control SDK within the CCS environment using Resource Explorer:

    Best Regards,

    Allison