SPRACX3 October 2021 F29H850TU , F29H859TU-Q1 , TMS320F2800132 , TMS320F2800133 , TMS320F2800135 , TMS320F2800137 , TMS320F2800152-Q1 , TMS320F2800153-Q1 , TMS320F2800154-Q1 , TMS320F2800155 , TMS320F2800155-Q1 , TMS320F2800156-Q1 , TMS320F2800157 , TMS320F2800157-Q1 , TMS320F280021 , TMS320F280021-Q1 , TMS320F280023 , TMS320F280023-Q1 , TMS320F280023C , TMS320F280025 , TMS320F280025-Q1 , TMS320F280025C , TMS320F280025C-Q1 , TMS320F280033 , TMS320F280034 , TMS320F280034-Q1 , TMS320F280036-Q1 , TMS320F280036C-Q1 , TMS320F280037 , TMS320F280037-Q1 , TMS320F280037C , TMS320F280037C-Q1 , TMS320F280038-Q1 , TMS320F280038C-Q1 , TMS320F280039 , TMS320F280039-Q1 , TMS320F280039C , TMS320F280039C-Q1 , TMS320F280040-Q1 , TMS320F280040C-Q1 , TMS320F280041 , TMS320F280041-Q1 , TMS320F280041C , TMS320F280041C-Q1 , TMS320F280045 , TMS320F280048-Q1 , TMS320F280048C-Q1 , TMS320F280049 , TMS320F280049-Q1 , TMS320F280049C , TMS320F280049C-Q1 , TMS320F28075 , TMS320F28075-Q1 , TMS320F28076 , TMS320F28374D , TMS320F28374S , TMS320F28375D , TMS320F28375S , TMS320F28375S-Q1 , TMS320F28376D , TMS320F28376S , TMS320F28377D , TMS320F28377D-EP , TMS320F28377D-Q1 , TMS320F28377S , TMS320F28377S-Q1 , TMS320F28378D , TMS320F28378S , TMS320F28379D , TMS320F28379D-Q1 , TMS320F28379S , TMS320F28384D , TMS320F28384D-Q1 , TMS320F28384S , TMS320F28384S-Q1 , TMS320F28386D , TMS320F28386D-Q1 , TMS320F28386S , TMS320F28386S-Q1 , TMS320F28388D , TMS320F28388S , TMS320F28P550SG , TMS320F28P550SJ , TMS320F28P559SJ-Q1 , TMS320F28P650DH , TMS320F28P650DK , TMS320F28P650SH , TMS320F28P650SK , TMS320F28P659DH-Q1 , TMS320F28P659DK-Q1 , TMS320F28P659SH-Q1
C2000 and Code Composer Studio are trademarks of Texas Instruments.
All trademarks are the property of their respective owners.
C2000™ SysConfig is a graphical user interface (GUI) tool that allows you to configure your C2000 Real-Time Control MCUs. The following are the features supported in the tool:
C2000 SysConfig is available inside C2000Ware and requires the SysConfig Tool, which is delivered built-in with Code Composer Studio™ (CCS) IDE and is also delivered as a standalone tool for use with other IDEs.
The C2000 SysConfig support is built on top of the C2000 driverlib software layer. To get started, either start from an existing C2000 SysConfig based driverlib project or add C2000 SysConfig and driverlib support to an existing project.
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, let's import an existing example with C2000 SysConfig support.
C2000 SysConfig support is added in the Project Properties. By default, this project was configured for F2838x family of devices and the selected device package is set to 337 BGA package. If the Project Properties for C2000 SysConfig support is not set up by default in your CCS project, the syscfg file will not launch the GUI succesfully. Most driverlib projects have the Project Properties set up by default for C2000 SysConfig. If Project Properties are not set up correctly, Section 8 describes how C2000 SysConfig can be added to a CCS project.
Other SysConfig-based tools such as the CLB Tool and the Security (DCSM) Tool are seemlessly integrated with C2000 SysConfig. If these tools are supported by the device family selected by you, they will automatically show up as a new section under the modules panel of the SysConfig GUI.
The CLB Tool and DCSM Tool can be used as standalone tools. You can modify the CCS Project Properties to use only the CLB Tool or the DCSM Tool.
For more information on the DCSM Tool, visit:
For more information on the CLB Tool, visit:
C2000 SysConfig begins with the sdk.json file which contains all of the information for the tool. The projects with C2000 SysConfig support built-in, already have the Project Properties set to point the CCS SysConfig GUI to the C2000 SysConfig content.
To view the SysConfig Project Properties in your CCS project:
The available modules/peripherals for each device/package is listed in the left panel of the C2000 SysConfig GUI. The number of each peripheral available for the device is shown in Figure 3-4 as the modules are added to the application by you. This allows for a simple resource management by you.
Each module's description is shown in the middle panel (configurable options panels) and once the module is added, the description is minimized. The description can easily be expanded by clicking the question mark icon next to the name of the module (if available).
For each peripheral with PinMux options, there is a PinMux submodule available in the Configurable Options panel. Inside the PinMux submodule, there are configurable options for each pin of the peripheral along with the instance of the peripheral. The solution for the PinMux is shown as the selected option for each pin. You can LOCK the solution to ensure it does not change as more modules/peripherals are added.
Above the PinMux submodule, a configurable option named Use Case is also available to limit the available peripheral pins in the PinMux module. Selecting the Custom option for the Use Case adds a new configurable option named Pins Used, where you can select the peripheral pins for their specific custom use-case.
It is also possible to modify the PinMux submodule GUI to show not only the device pin names, but also the device GPIO number. To change the pin name representation:
The device PinMux summary is available inside the pinmux.csv auto-generated file.
The pinmux.csv file contains not only the selected PinMux options, but it also contains ALL AVAILABLE PinMux options for each pin.
C2000 SysConfig initializes the C2000 Real-Time Control MCU. Each module has support for all possible supported configurations. Relevant options are made visible or hidden as needed by the tool. Some peripherals have dependency on other peripherals. These dependencies are identified by the tool and you are guided to configure all needed dependent peripherals.
Figure 3-10 shows the configurable options for the SCI peripheral. Placing the cursor on the configurable option shows the tool-tip for that option.
The C2000 SysConfig auto-generates code and other debug or visualization artifacts to simplify the user's development process. The auto-generated content can be viewed inside SysConfig by clicking the Show Generated Files button at the top right corner.
The content generated by the CLB Tool is removed when all instances of TILE used in the CLB Tool are removed from SysConfig. Similar to the CLB Tool, if the DCSM Tool to their design is added, new files generated by the DCSM tool will appear in the Generated Files panel.
To view a generated file and a live view of the updates made to the file as the configurable options are changed in the GUI, click on the file name in the Generated Files panel.
C2000 SysConfig generates two code files:
One of the most important and useful features of the C2000 SysConfig is its ability to detect errors or missing requirements in your configuration.
Embedded devices often have many supported modes, but the device must be configured exactly as instructed by the technical documentation for each mode to operate correctly.
Also, the device silicon Errata documentation notes the unsupported modes that is sometimes missed. It is common that the development process for configuring a device is slowed down due to errors in the user's code. These errors could be due to mistakes in programming when transferring knowledge from the technical documentation into the application software. C2000 SysConfig is capable of catching configuration errors and notifying you of the incorrect setup.
Also similar to error generation, warnings are also generated as needed when a configuration is not necessarily wrong, but requires further attention.
Error detection in your configuration is NOT limited to one peripheral at a time. Incorrect setups can be detected across dependent modules. This ensures that all dependent peripherals are configured correctly.
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.
The names shown in the script files for the configurable can be viewed in the GUI's configurable options by changing the setting inside the tool's Preferences and Actions panel.
After you have completed the C2000 SysConfig configuration and built the CCS project, the content that was shown in the Generated Files Panel inside SysConfig is now available in the build configuration directory, under the folder named syscfg.
In the Generated Files by SysConfig, the source files are compiled and the header files can be used in application software because the syscfg folder is automatically added to the include path during compile time. In most applications, the board.h is added by a #include statement and the function Board_init is called in main. The files generated in the file system are read-only and any changes made to them will be overwritten during the next project build.
The first step in using the C2000 SysConfig initialization in an application is calling the Board_init or any of the other Module_init functions in the application code. The most common use-case is calling the Board_init after the Device_init function call to initialize all modules configured inside the C2000 SysConfig tool.
After the device initialization calls are completed, any further driverlib function call for using each module should be done using the new application specific name of the module.
In the example above, the selected instance of the I2C peripheral is I2CA. You can switch to another instance of I2C by changing the GUI to select I2CB, and everything else is automatically taken care of if the application code uses the name assigned to the peripheral in the $name configurable option.
C2000 SysConfig has support for registering interrupts and configuring both CPU interrupts and the PIE module. Each module, that has an associated interrupt, has a configurable option that determines whether or not you want to register an interrupt handler. When this option is checked, a submodule for configuring and registering the interrupt appears in the GUI.
Once one or more modules have selected to use C2000 SysConfig interrupt registration, the interrupt code generation is activated and the board.h and board.c files are updated with the interrupt code.
Traditionally, you would have to determine the interrupt group for the peripheral interrupts in the PIE module. C2000 SysConfig automatically determines the interrupt group and creates a mapping for you in the board.h file.
C2000 SysConfig generates device-specific code given the same configuration in the syscfg file. This makes configuration inside syscfg more portable across device families than application initialization C code. For example, the same syscfg file using the INPUT X-BAR module generates different code for different device family as shown in Figure 7-1. The figure shows how the same syscfg configuration for F2838x and F2837xD devices generates different code that is compatible for that device family.
Most driverlib based examples in C2000Ware are delivered with built-in support for C2000 SysConfig. Even if the example does not have a syscfg configuration file, the project properties for C2000 SysConfig are most likely already configured.
Follow these steps to check if the C2000 project properties are set up for C2000 SysConfig development:
If the SysConfig module is not enabled in your project, follow these steps to enable it:
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.
Detailed descriptions on how to configure the SysConfig project properties can be found at: How to configure CCS Project Properties for C2000 SysConfig.
Removing the C2000 SysConfig support from a project is very simple. When you delete the syscfg file from the project file system, SysConfig support is automatically skipped by the tool-chain. You can also right-click on the syscfg file and select Exclude from Build.
You can choose to download a standalone version of the SysConfig tool instead of using the built-in CCS version. The standalone SysConfig version can be used with CCS or any IDE. The standalone SysConfig tool can be used to generate the configuration code; you can manually add the newly generated content to their C2000 project.
The standalone SysConfig tool is available for download at: Standalone SysConfig Tool.
Once the standalone SysConfig tool is installed, you can launch the tool and select the C2000Ware at top folder to launch C2000 SysConfig.
C2000 SysConfig is a powerful graphical user interface tool which configures the C2000 Real-Time MCUs and auto-generates embedded software, visualization diagrams, and debug artifacts that significantly help designers with their development process. The reliable and pre-validated initialization software generated by the C2000 SysConfig tool can speed up development and help designers avoid lengthy debug sessions.
TI PROVIDES TECHNICAL AND RELIABILITY DATA (INCLUDING DATASHEETS), DESIGN RESOURCES (INCLUDING REFERENCE DESIGNS), APPLICATION OR OTHER DESIGN ADVICE, WEB TOOLS, SAFETY INFORMATION, AND OTHER RESOURCES “AS IS” AND WITH ALL FAULTS, AND DISCLAIMS ALL WARRANTIES, EXPRESS AND IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY RIGHTS. |
These resources are intended for skilled developers designing with TI products. You are solely responsible for (1) selecting the appropriate TI products for your application, (2) designing, validating and testing your application, and (3) ensuring your application meets applicable standards, and any other safety, security, or other requirements. These resources are subject to change without notice. TI grants you permission to use these resources only for development of an application that uses the TI products described in the resource. Other reproduction and display of these resources is prohibited. No license is granted to any other TI intellectual property right or to any third party intellectual property right. TI disclaims responsibility for, and you will fully indemnify TI and its representatives against, any claims, damages, costs, losses, and liabilities arising out of your use of these resources. |
TI’s products are provided subject to TI’s Terms of Sale (www.ti.com/legal/termsofsale.html) or other applicable terms available either on ti.com or provided in conjunction with such TI products. TI’s provision of these resources does not expand or otherwise alter TI’s applicable warranties or warranty disclaimers for TI products. |
Mailing Address: Texas Instruments, Post Office Box 655303, Dallas, Texas 75265
Copyright © 2021, Texas Instruments Incorporated |