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.

[FAQ] C2000WARE: One click migration across C2000 device families

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

Is there a project that I can do a one click migration across C2000 device families?

How can I port my existing project to another C2000 device?

  • The answers to these questions are dependent on how far the engineer is with development of software.

    We are able to migrate across our C2000 device families with just one click by leveraging the powerful tools such as SysConfig, C2000WARE driverlib, and CCS. Within SysConfig we leverage the powerful modules such as the visual ClockTree tool, linker command tool and device support files.

    Here is a visual on what you will experience when migrating using our universal project starter project found within our C2000WARE SDK. As simple as that!

    The main benefits of using SysConfig are the following 

    • Provide migration report showcasing what has changed between devices when migrating peripherals that are used inside of SysConfig
    • Provide errors when configuring the various peripherals
    • Provide PinMux support (pin configuration)
    • Provide visual clock set up, linker command support, and device support initialization 

    1. IF you're in development phase and need a base project to start off with all these features already there to be able to migrate across our expansive C2000 portfolio please use the universal project example found within our C2000WARE SDK. The example given below is starting on TMS320F28P65X for example as a base example.
      1. C:\ti\c2000\C2000Ware_5_01_00_00\driverlib\f28p65x\examples\c28x\universal
    2. If you're already starting off with some base project without sysconfig support then please follow this walk through on how to convert your project into a universal project. For this walkthrough I will start off with a random driverlb example and convert this into a universal project.
      1. Starting project: sysctl_ex2_xclkout_config
        1. From the application code I want to leverage the power of SysConfig to initialize my peripherals. 
        2. In this example, the SysConfig file is empty and I am going to add the following configurations to be done within SysConfig for XCLKOUT
          1. Empty Sysconfig
          2. Now I will add code that will do what the example does but through SysConfig
            1. Original application code: 
            2. SysConfig generate code (board.c)
              1. Add OTHER module
              2. Generated Code by SysConfig
          3. In order to convert this project to universal format I need to add 2 modules which are Linker Comand File Configuration and Device Support
            1. In the linker command file configuration, please make sure to set the following
              1. Checkbox "Active a Linker CMD configuration"
              2. Under default configuration click on SETUP RAM DEFAULT for RAM configuration. You can do FLASH as well and then change your project build configuration to be FLASH. For this example we will use RAM. 
          4. Now that we have added device support and linker command support through SysConfig we can delete or exclude from build the following
            1. device/ folder and .cmd file
            2. Now your project should look like this
          5. In your main code, make sure to call Board_init(); and include "board.h" at the top of your file.
          6. Now we have successfully converted our project to the universal format. 
        3. Before we build our project there is one more step. We need to verify the SysConfig project settings and remove any basic option settings and Miscellaneous settings
            1. Remove the name of device
            1. Remove the other flags by clicking on this icon   
          1. Apply and Close
            1. you may need to restart sysconfig. If this pops up in your c2000.syscfg view, go ahead and click restart now.
        4. Now we can build the project and you just converted your normal project into a universal project!
    3. How do I now migrate across devices?
      1. Open the SysConfig file and open the following view by clicking on the device icon  located here 
      2. Locate the Switch button
      3. choose any device 
        1. I chose F28P65x
      4. Click confirm!
      5. Notice the file hasn't been saved it. Go ahead and save the .syscfg file. A dialogue box will appear and let you know that the migration is occurring.
      6. Now go to your project properties and verify that the device was switched!