TMS320F2800135: Migration error from one IC to another with two different syscfg file

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

Tool/software:

I am working on a CCS project that needs to run on both TMS320F2800135 and TMS320F280039C. To achieve this, I have included all the necessary files for both ICs and manually switch between them by:

  1. Excluding the unnecessary files (syscfg and linker command files) for the unused IC.
  2. Including the required files for the target IC.
  3. Updating the target configuration in CCS by selecting the correct .ccxml file.

While switching from TMS320F2800135 to TMS320F280039C, there are no build errors, but the program does not appear to be running:

  • No output is observed.
  • The program does not seem to execute on the TMS320F280039C device.
  • Debug session runs but does not behave as expected.

Troubleshooting Steps Taken:

  1. Checked Target Configuration:

    • Ensured that the correct .ccxml file is active in targetConfigs.
    • Verified that the correct target processor is selected.
  2. Modified Linker Command Files:

    • Excluded 2800135_generic_ram_lnk.cmd when switching to TMS320F280039C.
    • Included 280039_generic_ram_lnk.cmd instead.
  3. Checked SysConfig & DriverLib Dependencies:

    • Ensured that syscfg is updated to match the selected IC.
    • Verified that the correct driverlib files are being included in Includes.
  4. Debugging Observations:

    • Program execution appears to be stuck.
    • No error messages in the console.
    • Registers do not update in real-time unless the program is manually halted.
    • Attempted running in real-time mode, but values do not update dynamically.

Request for Help:

  1. Are there additional project settings required in CCS to switch between TMS320F2800135 and TMS320F280039C dynamically?
  2. Should any modifications be made in the startup files or memory configurations?
  3. Are there any known issues when switching between these two processors using CCS?
  4. What additional debugging steps can be taken to ensure that the code is running correctly on TMS320F280039C?

Any guidance on this issue would be greatly appreciated!

  • Hello,

    Program execution appears to be stuck.

    Can you provide more details on this? What is the state of the device when executing the migrated code?

    Registers do not update in real-time unless the program is manually halted.

    Did you enable "Continuous Refresh" in the registers view?

    Are there additional project settings required in CCS to switch between TMS320F2800135 and TMS320F280039C dynamically?

    The C2000 Migration Report Generation Tool may be helpful. You can view the register, device interconnect, and function level changes when migrating from F280013x to F28003x.  

    Should any modifications be made in the startup files or memory configurations?

    Did you update the project to use the f28003x_codestartbranch.asm file in the device folder as well?

    Best,
    Matt

  • Yes, I have enabled the continuous refresh in the registers view but I think the problem is occuring while transferring from 135 IC to 39C IC as even the device initialization is not happening at all which I checked by introducing the breakpoint just after the device_init() statement in the main function which is not identified by the code, and hence no data is shown in the registers as well as no GPIO is blinking in the microcontroller as well because the data is not being fed to the microcontroller. One probable reason for this can be that the sysconfig is not generating the device.c and device.h files from its own, they are added manually and from changing it from one IC to another, it's not letting me to exclude the device.c and device.h files, so that I can add these files again for new IC. I've tried reinstalling sysconfig multiple times but still it is not working, so what can be the reason for this and how to successfully migrate the project from one IC to another using two different sysconfig files.

  • Hi,

    Ensured that syscfg is updated to match the selected IC.

    How are you migrating SysConfig from F2800135 to F280039C? Is the "Device Support" Module enabled in SysConfig to use the generated device.c/h files?

    Best,

    Matt

  • Sysconfig is not generating the device.c and device.h file from its own, so I am using the device support files within the C2000WARE sdk, so it works for the IC for which I've imported the device support files  but when I change the syconfig file and try to run it for other IC by disabling the sysconfig file of the previous IC, it doesn't and also it's not allowing me to change the device support files and so I am unable to migrate it to another IC. There's no such errors I'm facing, I just introduced a breakpoint after the device_init() function in main file which is not getting identified by the controller so it means that it is not going through the device initialization and the code is not being fed to the IC

  • Hi,

    Can you check the linker's "File Search Path in the project properties to see if the device support files are included?

    You can also try migrating the syscfg file itself -- it will migrate the configuration settings from F2800135 to F280039C automatically for you. Please note that it cannot be undone, so save a copy in case migration fails.

    1. Go to "Board View" > Switch
    2. Select the device you intend to migrate to (F280039C) and confirm the package type

    Best,

    Matt

  • Okay, the device files are getting generated now, but I am getting the below debugging error while trying to debug it, can you help me with this

  • Hi,

    The device is stuck in the ITRAP ISR. Can you try to step through the code to see what line triggers this to occur?

    Best,

    Matt

  • Just before the device_init() statement it is getting stuck and throwing this debugging error, so how to resolve this error. I've attached the registers window screenshot as well.

  • Hi,

    Can you open Device_init() (by CTRL clicking the function) and see where it's defined? Is it from the SysConfig generated device.c or from the manually imported device.c?

    Also, are you able to Step Into Device_init()?

    Best,

    Matt

  • It is from the sysconfig  as you can see the location of device.c file at the right hand side of the image. Now, how to get rid of that error

  • Hello,

    Thank you for checking that. Can you confirm all the steps in this FAQ on migration across C2000 families are being followed? If it still doesn't work, you can send me your project to look at if possible.

    Best,

    Matt