Overview

C2000 SysConfig is a powerful graphical user interface tool which configures the C2000 Real-Time Control MCUs and auto-generates embedded software, visualization diagrams, and debug artifacts.

The reliable and validated initialization software generated by the C2000 SysConfig tool can significantly speed up development and help designers avoid lengthy debug sessions.

Please review these resources for additional information:

Features

System initialization code generation: C2000 SysConfig generates initialization code for the C2000 device including peripheral initialization, interrupt initialization, PinMux initialization, and so forth.

Device PinMux visualization: A visual representation of the device and all of its pins, a list of all possible PinMux options, your selected mode for each pin, and a summary PinMux CSV file is supported by the tool.

Error detection: C2000 SysConfig is capable of catching configuration errors and notifying you of the incorrect setup.

Device level dependency identification: C2000 SysConfig identifies the dependencies in the device and ensures that the dependent peripherals are all configured by you.

Device level error detection: Device level configuration errors caused by dependent peripherals are caught and you are notified of the error.

Portable device initialization: Device initialization settings are portable between device families and device packages.

C2000 SysConfig GUI Overview

Below is a visual representation of SysConfig. The following sections within this module go into the individual components of this tool.

Figure 1 - SysConfig- Overview

Peripheral Selection

Within this section of SysConfig is a list of peripherals available to be configured for the specified device. The SysConfig tool automatically keeps track of how many instances of a peripheral there are for the specified device package.

  • To add a peripheral click on the '+' sign next to the peripheral name.

Below is a subset of peripherals that are shown within the 'Peripheral' section:

Figure 2 - SysConfig- Peripheral Selection

Peripheral Configuration

Within this section are the configurable options for a chosen peripheral. This consists of an interactive GUI where options can be selected and deselected.

  • Hovering over an option provides a description of the item.
  • For peripherals that have a 'PinMux Peripheral and Pin Configuration' submodule, be sure to also reference the 'PinMux' diagram for a visual representation of which pins are being chosen. This is tied to the specific package of the specified device. More details can be found within the 'PinMux' section of this module.
  • For peripherals that have a 'Global Parameters Settings that affect all instances' submodule, anything configured within this part will affect all chosen instances.

Figure 3 - SysConfig- Peripheral Configuration

Problems

This section will showcase any errors, warnings, and informational notes that pertain to the specific configuration setup.

Figure 4 - SysConfig- Problems

  • Errors:
    • Highlight any issues against device specifications or configuration.
    • Will prevent the project from building
  • Warnings:
    • Generated as needed when a configuration is not necessarily wrong, but requires further attention.
    • Can be dismissed if desired
  • Suppressed:
    • Shows what errors, warnings, or information have been dismissed
  • Infos:
    • Additional information to be cautious about as you are configuring a certain peripheral
    • Can be dismissed if desired

Additional information:

  • Some peripherals may need the informational notes and warnings to be enabled. If so this will be located within the 'Global Parameters Settings that affect all instances' section.
  • Errata notices are also showcased through the SysConfig tool either through warnings or errors
  • Incorrect setups can be detected across dependent modules
  • If errors, warnings, or infos are generated, the location and details of the error will be displayed within the 'Problems' section as well as in the incorrect setup location.
  • All errors need to be resolved in order to generate any code files

This section of SysConfig can be hidden/shown using the 'info circle' icon located on the top right corner.

Figure 5 - SysConfig- Hiding Problems

Generated Files

Within this pane is the generated code specific to the configuration that is setup.

Figure 6 - SysConfig- Generated Files

  • board.c : This file contains the initialization code for each module including PinMux. Open this as you are configuring peripherals to view changes in real-time. The lines of code will be highlighted 'red' if a configuration change causes those lines to be removed or modified. The new lines will be highlighted in green. This is a good representation of how the GUI options translate to actual code.
    • An all inclusive function named Board_init is available which initializes all module. You can choose to call the individual Module_init functions in their application, or you can use the Board_init function to use all modules. You can also choose to add PinMux_init to your application code to use only the PinMux initialization feature of the tool.
  • board.h : This file contains the prototypes for all generated functions in the board.c file along with the re-namings of the modules for their specific application. Also, the GPIO number assigned for each PinMux option along with more information on each peripheral's configuration is included.
  • pinmux.csv : This file contains a list of all of the pin numbers, names, selected mode, and muxing options on the device (specific to the package chosen).
  • .dot : Some IP have graphical files that end in a '.dot' extension. If a peripheral with this capability is selected then the .dot file will appear as a generated file.
  • untitled.sysconfig : Your settings for C2000 SysConfig and all other tools configured in the SysConfig GUI are saved in a syscfg file. The changes made to this file as you modify the configurable options can be viewed similar to any other auto-generated file in SysConfig. The SysConfig script saves the settings for all options selected by you.

Below is an example of how the board.c file changes real-time with a change in the GUI. In this case, the ADC Interrupt 1 was enabled.

Figure 7 - SysConfig- Code Changes

This section of SysConfig can be hidden/shown using the 'code brackets' icon located on the top right corner.

Figure 8 - SysConfig- Hide Generated Files

PinMux

Knowing which peripherals and pins have been used and which ones are free is extremely important in determining if the MCU is capable of all of the application's requirements. SysConfig has built-in support for device PinMux, is able to solve the device PinMux, and auto-generates PinMux initialization code along with a summary CSV file. C2000 SysConfig will also visualize the device package and show the used and free package pins.

Figure 9 - SysConfig- PinMux

Within this pane you can view the pinmux mapping of the device's package. The color coding scheme can be found within the middle of the diagram. Below the diagram will be the number of GPIOs used and how many are available.

  • Naming of the device resources to an application specific name is also possible through SysConfig. This allows the initialization code and the runtime application code to be much more flexible to changes in PinMux and resource instances. For example, if there needs to be a change to the GPIO number used for a task in the application, no change would be necessary to the runtime application code if the task GPIO was named through C2000 SysConfig.

  • Each pin that gets configured through the 'PinMux Peripheral and Pin Configuration' section can be Locked and Unlocked. This is represented by the lock to the right of the configurable setting. If there is a lock that means the section is considered locked as well. If there is no lock that means the selection returns to 'Any' instance/pin and allows the solver to solve for new solutions as needed.

  • The three dots on the top right corner are to set the 'Preferences and Actions'. This is where the device pin labels can be changed to only show the device pin name, the pin number, or both. Within this view is also the option to 'Lock' the PinMux. Selecting this option locks the pinmux for all of the peripherals with pinmux capabilities.

Figure 10 - SysConfig- PinMux Preferences

Figure 11 - SysConfig- PinMux Preferences View

This view can be hidden/shown using the 'device pinmux' icon located on the top right corner.

Figure 12 - SysConfig- Hide PinMux

C2000 SysConfig - Getting Started

C2000 SysConfig is delivered through C2000Ware (C2000 real-time MCU software development kit) and can be used with Code Composer Studio (CCS) IDE's built-in SysConfig (System Configuration) tool or with any other supported IDE through the SysConfig tool's standalone version.

Figure 13 - SysConfig- Structure

SysConfig in Driverlib Examples

Most driverlib examples in C2000Ware have either an example.syscfg file or you can add a file with the .syscfg extension. Double clicking and opening the .syscfg file launches the C2000 SysConfig tool.

To get started with C2000 SysConfig, import an existing example with C2000 SysConfig support.

  1. Launch CCS and import the example
    • Select Project -> Import CCS Project
    • Browse to C2000Ware_VERSION\driverlib\device\examples\c28x\peripheral\CCS
    • Select the .projectspec file for the project and import it
  2. Inside your CCS project you should be able to see the .syscfg file along with the rest of the application files
  3. Double click on the .syscfg file and the C2000 SysConfig GUI will launch.
    • Note: You can also right-click on the syscfg file, the select Open With -> SysConfig Editor
  4. The C2000 SysConfig GUI should be launched inside CCS

For more in-depth details about the generated files after building a project or the application code, etc. please refer to the C2000 SysConfig application report.

Figure 14 - SysConfig- Driverlib Example

Adding SysConfig Support to Existing Projects

Follow these steps to check if the C2000 project properties are set up for C2000 SysConfig development:

  1. Right-click on the project and select Properties.
  2. In the left panel of the project properties, under the Build category, check to see if the SysConfig options are available.
  3. If the SysConfig option is available under Build, SysConfig is enabled for your project.

If the SysConfig module is not enabled in your project, follow these steps to enable it:

  1. Add an empty file of the syscfg file type named "empty.syscfg" to the project by copying the file into the project or creating a new file in the project.
  2. CCS will ask whether or not to enable SysConfig. Accept and select Yes.

After the SysConfig feature has been enabled, you can change the settings inside the project properties to select C2000 SysConfig and choose your specific device package/part by following the steps here.


Feedback

Please provide any feedback you may have about the content within C2000 Academy to: c2000_academy_feedback@list.ti.com

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.